The solve object

// fields on the raw API response

FieldTypeDescription
idstringUnique solve id, prefixed slv_. Pass to retrieve.
statusstringsolved, pending, or failed.
gatestringWhich gate was cleared — turnstile or waf.
tokenstringA Turnstile token, or a JSON-encoded WAF payload containing cookies and headers. Null until solved. See Supported gates.
solve_msintegerProvider attempt duration in milliseconds. Excludes admission, queue wait, previous retries and result persistence; it is not end-to-end request time.
expires_atintegerSolveGate's estimated use-by time in Unix seconds. It does not override Cloudflare token or cookie validity.
modestringlive for a production solve, or sandbox for the deterministic test response a sk_test_ key returns. Check this before trusting a token in production — a sandbox token never clears a real gate.
meterstringWhat paid for this solve. credits debited your prepaid balance; pass was covered by the unlimited pass this key is attached to and cost nothing; sandbox was a deterministic test response. Decided when the request is admitted and never re-derived.
billedbooleantrue when a successful provider result consumed a credit. This does not confirm acceptance by the target. Failed solves are never billed, and a pass solve is never billed either — check meter to tell those apart.
error_codestring | nullStable failure code when status is failed; otherwise null.
error_messagestring | nullHuman-readable explanation of error_code.

Ready to pour through the gate?

// free sandbox keys · no card required to start