Skip to main content
POST

Headers

Idempotency-Key
string

8 to 128 characters of A-Z, a-z, 0-9, _ or -. Scoped to the preflightId.

Required string length: 8 - 128
Pattern: ^[A-Za-z0-9_-]{8,128}$
PAYMENT-SIGNATURE
string

Base64-encoded JSON x402 v2 payment payload that pays the requirement from the 402. Omit it on the first request to receive the challenge.

Body

application/json
preflightId
string
required

ID of an eligible, unexpired preflight.

Required string length: 1 - 64
profile
enum<string>
required

Release test profile. quick is the only profile.

Available options:
quick
expected
object

What the paid response must look like. Omitted fields are not checked, except status, which defaults to 200.

deploymentId
string

Your release identifier, for example a commit SHA. Stored on the job and attested as asserted_by_client: Selo records it, it does not verify it.

Pattern: ^[A-Za-z0-9._-]{1,128}$

Response

The release test finished, or this request matched an existing finished job (no new payment settled). verdict is the gate decision.

jobId
string
required
Pattern: ^job_[0-9A-HJKMNP-TV-Z]{26}$
verdict
enum<string>
required

Release verdict computed by the deterministic verdict reducer.

Available options:
PASS,
FAIL,
INCONCLUSIVE
target
string
required

The tested URL.

checks
object[]
required

All five checks, in fixed order.

Required array length: 5 elements
warnings
string[]
required

One line per WARN check (and per non-blocking FAIL or INCONCLUSIVE), formatted <check id>: <summary>.

inconclusiveReason
enum<string> | null
required

Why a job ended INCONCLUSIVE. null on PASS and FAIL.

Available options:
NETWORK_UNAVAILABLE,
FACILITATOR_UNAVAILABLE,
TARGET_TIMEOUT,
BUDGET_EXHAUSTED,
PAYMENT_UNRESOLVED,
EVIDENCE_INCOMPLETE,
AUTHORIZATION_LAPSED,
INTERNAL_ERROR
money
object
required
reportUrl
string
required

Private report link, https://api.useselo.xyz/v1/reports/<token>. Anyone with it can read the report.

attestation
object

Ed25519-signed statement of the verdict. Present when the Selo deployment has a signing key.