AgentCell

Errors

Stable error envelope. Codes are the contract your agent should switch on — not the human message.

Envelope

{
  "error": {
    "message": "Human-readable message",
    "code": "PAYMENT_REQUIRED",
    "type": "validation_error",
    "details": []
  }
}

Key codes

CodeTypical HTTPRetry?
VALIDATION_ERROR400No
PAYMENT_REQUIRED402After pay
X402_INVALID_PAYMENT402No
X402_SETTLEMENT_FAILED402Maybe
MPP_CHALLENGE_EXPIRED402Yes
MPP_INVALID_CREDENTIAL402No
MPP_SETTLEMENT_FAILED402Maybe
PREPAID_INSUFFICIENT402After top-up
NOT_VERIFIED403No
CONSOLE_LINK_INVALID401No
CONSOLE_LINK_EXPIRED401No
CONSOLE_CHALLENGE_RATE_LIMITED429Yes
CONSOLE_PHONE_NOT_FOUND404No
RATE_LIMITED429Yes
CONVERSATION_STREAK_LIMIT429No
OUTBOUND_LIMIT_REACHED429No
CARRIER_REJECTED422No
CARRIER_UNAVAILABLE503No
IGNORED_RECIPIENT422No
TCPA_QUIET_HOURS422Later
CELL_NOT_READY409Yes
PHONE_NOT_ASSOCIATED409No
FLEET_REQUIRED403After pay
MMS_NOT_SUPPORTED400No
RESTART_NOT_SUPPORTED501No
FACILITATOR_UNAVAILABLE503No
CYCLE_JOB_NOT_FOUND404No
PHONE_KEY_EXPIRED401No
INVALID_CONFIRMATION400No
PROVISION_FAILED500Maybe
Copy for Cursor / Claude
VALIDATION_ERROR — Fix the request body.
PAYMENT_REQUIRED — Settle Stripe, x402, or MPP.
X402_INVALID_PAYMENT — Signature did not verify.
X402_SETTLEMENT_FAILED — Retry settlement.
MPP_CHALLENGE_EXPIRED — Request a new challenge.
MPP_INVALID_CREDENTIAL — Credential rejected.
MPP_SETTLEMENT_FAILED — Retry MPP settlement.
PREPAID_INSUFFICIENT — Prepaid balance too low.
NOT_VERIFIED — Complete agent verify.
CONSOLE_LINK_INVALID — Create a new login link.
CONSOLE_LINK_EXPIRED — Create a new login link.
CONSOLE_CHALLENGE_RATE_LIMITED — Slow OTP requests.
CONSOLE_PHONE_NOT_FOUND — Must be sign-up human_phone.
RATE_LIMITED — Honor Retry-After.
CONVERSATION_STREAK_LIMIT — Wait for a reply.
OUTBOUND_LIMIT_REACHED — Daily cap.
CARRIER_REJECTED — Carrier refused the message.
CARRIER_UNAVAILABLE — No carrier configured; production send is fail-closed.
IGNORED_RECIPIENT — Number is ignored.
TCPA_QUIET_HOURS — Outside pod quiet hours.
CELL_NOT_READY — Cell has no E.164 yet; poll health.
PHONE_NOT_ASSOCIATED — No phone on this workspace or pod.
FLEET_REQUIRED — New accounts cannot read usage/analytics until purchase or a cell exists.
MMS_NOT_SUPPORTED — SMS only; MMS is later.
RESTART_NOT_SUPPORTED — Remote restart/ADB is later, like MMS.
FACILITATOR_UNAVAILABLE — x402 facilitator not configured.
CYCLE_JOB_NOT_FOUND — Unknown cycle job.
PHONE_KEY_EXPIRED — Device API key expired.
INVALID_CONFIRMATION — Provisioning confirm failed.
PROVISION_FAILED — Device provisioning failed.