Skip to content

Start Seo Audit

POST
/seo/audits

SPENDS CREDITS. Start a site audit of up to max_pages pages.

Credits are RESERVED up front, sized by max_pages, and charged as the crawl completes - credits_charged on the audit says what was. 402 when the balance cannot cover the reservation, 409 when an audit of this domain is already running, 503 when the credit service cannot take the hold.

The audit runs in the background; poll GET /seo/audits/{audit_id} and read state, which explains where it is in plain language and whether it can be run again.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirrors StartAuditRequest. max_pages is the crawl ceiling and the thing the credit reservation is sized from.

object
domain
required
string
>= 3 characters <= 255 characters
max_pages
integer
default: 500 >= 10 <= 500

Responses

200

Successful Response

object
data
required

Mirrors AuditDTO.

object
completed_at
Any of:
string format: date-time
created_at
Any of:
string format: date-time
credits_charged
Any of:
integer
domain
required
string
failure_reason
Any of:
string
id
required
string format: uuid
max_pages
required
integer
onpage_score
Any of:
number
pages_crawled
Any of:
integer
state
required

Mirrors AuditStateDTO - the plain-language, recovery-oriented view of where an audit is, so a caller can explain the state rather than parse raw provider text.

object
can_run_again
required

Whether to offer a manual ‘Run a new audit’ action

boolean
category
required

Lifecycle state category driving the plain-language status + recovery UX

string
Allowed values: queued running complete timeout provider_error credit_issue start_error failed
detail
required

Plain-language explanation of what happened

string
diagnostic
Any of:
string
headline
required

One-line human status

string
is_terminal
required

No further automatic progress will happen

boolean
label
required

Short status chip label

string
recovery
required

Plain-language, safe next step (may be empty)

string
status
required
string
summary_checks
object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string