POST /v1/scanner/scan
Scan a single domain. Returns in 2–5 seconds for most sites. Scope required:scan Cost: 1 credit
Response is a full
MerchantScan object. The response includes a request_id field (also echoed in the X-Request-ID response header) — the same id appears as source: "request:<uuid>" on the credit ledger row that paid for the scan, so you can join consume rows back to scan results. See audit trail.
The response also includes an X-Credits-Remaining header so you can track your balance without an extra call. The TypeScript SDK reads it automatically — see the SDK reference.
Errors
Validation typos and server errors are automatically refunded — see auto-refund on 4xx and 5xx. Common errors:GET /v1/scanner/scan/:id
Retrieve a specific scan by UUID. Scope required:read Cost: 0
GET /v1/scanner/scans/by-domain/:domain
Look up the freshest scan across the shared corpus for a given domain. Scope required:read Cost: 0
404 if no scan exists for the domain.
GET /v1/scanner/scans
List scans with filters. Returns rows across all tenants — the shared scan corpus. Scope required:read Cost: 0
Query parameters:
Response: