The solve object
// every field on a returned solve
| Field | Type | Description |
|---|---|---|
| id | string | Unique solve id, prefixed slv_. Pass to retrieve. |
| status | string | solved, pending, or failed. |
| gate | string | Which gate was cleared — turnstile or waf. |
| token | string | The cleared, single-use token. Submit this to your target. Null until solved. |
| solve_ms | integer | Wall-clock milliseconds we spent clearing the gate. |
| expires_at | integer | Unix timestamp after which the token is dead. |
| mode | string | live for a real, billable 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. |
| meter | string | What 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. |
| billed | boolean | true only when the gate actually opened and a credit was spent. Failed solves are never billed, and a pass solve is never billed either — check meter to tell those apart. |
Ready to pour through the gate?
// free sandbox keys · no card required to start