| Code | Name | Area | Retryable | Meaning |
|---|---|---|---|---|
| 1001 | AWP_VERSION_UNSUPPORTED | protocol | no | No mutually supported protocol version |
| 1002 | AWP_MALFORMED | protocol | no | Message violates envelope or schema |
| 2001 | AWP_EMBODIMENT_UNAVAILABLE | session | yes | Embodiment bound elsewhere or offline |
| 2002 | AWP_TIME_MODEL_UNSUPPORTED | session | no | Requested mode not offered |
| 2003 | AWP_SESSION_EXPIRED | session | no | Token invalid or reconnect window passed |
| 2004 | AWP_SESSION_EXISTS | session | no | This control connection already carries a session (AWP-CTL-007) |
| 2005 | AWP_SESSION_UNKNOWN | session | no | session.resume for a session the world no longer holds (e.g. world restarted; AWP-SES-008) |
| 2006 | AWP_INTEGER_RANGE | protocol | no | A 64-bit field exceeded 2^53−1 in JSON (AWP-CTL-009) |
| 2007 | AWP_CHANNEL_UNKNOWN | session | no | obs.subscribe or obs.unsubscribe named a channel the manifest does not declare (AWP-NEG-004) |
| 3001 | AWP_PARAMS_INVALID | action | no | Params fail the type’s schema |
| 3002 | AWP_BUSY | action | yes | reject preemption policy and an action is running |
| 3003 | AWP_QUEUE_FULL | action | yes | queue policy depth exceeded |
| 3004 | AWP_ACTION_ID_CONFLICT | action | no | Same action_id resubmitted with different content (AWP-ACT-001) |
| 3005 | AWP_ESTOP_ACTIVE | action | yes | Admission suspended while e-stop is engaged (AWP-EVT-002) |
| 3006 | AWP_TICK_NOT_AUTHORIZED | action | no | world.tick from a session without tick authority (AWP-TIM-012) |
| 3007 | AWP_STALE_INTENT | action | yes | Basis older than max_basis_age_ms, valid_until_ns already passed, or a required basis_ts_mono_ns missing (AWP-SAF-013, AWP-ROB-005) |
| 3008 | AWP_ACTION_UNKNOWN | action | no | action.cancel or a status pull named an action_id the world does not hold (AWP-LIF-010) |
| 3009 | AWP_TICK_MISMATCH | action | no | expected_tick differs from the current tick; data.tick carries the current tick and nothing advanced (AWP-TIM-011) |
| 4001 | AWP_FORBIDDEN | safety | no | Not granted for this session |
| 4002 | AWP_ENVELOPE_EXCEEDED | safety | varies | Limit exceeded; retry_after_ms present for rate limits |
| 4003 | AWP_APPROVAL_DENIED | safety | no | Approver denied the action |
| 4004 | AWP_APPROVAL_TIMEOUT | safety | yes | No approver response in time |
Overview
Error codes
The complete AWP error registry.
Reserved JSON-RPC codes (−32700…−32600) retain their standard meanings.