Errors
The public API uses standard HTTP status codes with a JSON error body:
json
{
"detail": "Invalid AGNT_KEY"
}Common statuses
| Status | Meaning |
|---|---|
400 | Request is syntactically valid but violates business rules, such as missing inbox/wallet, invalid cursor, domain not verified, or rate limit exceeded. |
401 | Bearer token is invalid for the auth context. |
403 | Token is valid but does not own or is not allowed to perform the action. |
404 | Requested resource does not exist, is inactive, or is outside the caller's scope. |
408 | wait-for-code timed out without a new inbound SMS. |
409 | Request conflicts with existing runtime state, such as a wallet send idempotency mismatch. |
422 | Request validation failed before business logic ran. |
503 | A required downstream dependency for the runtime request was unavailable. |
Runtime examples
GET /v1/agents/me:401invalidAGNT_KEYGET /v1/email/inbox:400invalid cursor or no inboxPOST /v1/sms/wait-for-code:408timeout waiting for a codePOST /v1/wallet/send:403spend policy violation