跳转到内容

Poll the status of an errand handoff.

GET
/errand/{errandKey}/status
curl --request GET \
--url https://native-api.sudomimus.com/errand/example/status

Lightweight polling endpoint for the errand handoff returned by a claim-gate 403: bearer-by-key, no other authentication, a pure single-row read with no side effects — unlike retrying direct-issue, which is the full credential round-trip. Poll every ~2 seconds while the user completes the browser side-trip, or skip polling and let the user signal completion in your own UI.

An accidental direct-issue retry will not split your polling state: while the current ticket has at least 15 minutes left and the task scope is unchanged, the retry returns the SAME errandKey; a fresh ticket is minted only near expiry or after a scope change.

Unknown, malformed, and expired keys are deliberately indistinguishable: all report EXPIRED, so the endpoint cannot be used to probe key validity. COMPLETED means every task finished — retry the direct-issue request once to obtain tokens.

errandKey
required
string

The errand.errandKey value from the 403 body.

Current errand status.

Media type application/json
object
status
required
string
Allowed values: PENDING COMPLETED EXPIRED
Example
{
"status": "PENDING"
}

Error response.

Media type application/json

Error response body. The Native service emits { "reason": "<SymbolDescription>" } for known failure modes. When the reason symbol’s description begins with PRIVATE, the body is empty (zero bytes) and only the HTTP status carries signal — both reason and the body itself are absent in that case.

object
reason

Stable machine-readable reason code.

string
Example generated
{
"reason": "example"
}