Reference
Errors
Every error code, generated from the API's code registry.
| Code | Status | Message |
|---|---|---|
| unauthorized | 401 | Missing or malformed Authorization: Bearer header. |
| invalid_api_key | 401 | API key not recognised or revoked. |
| insufficient_scope | 403 | The key lacks the scope this endpoint needs. |
| scope_reserved | 403 | The spend scope is reserved for live mode and cannot be used in the sandbox. |
| not_found | 404 | Resource or route not found. |
| method_not_allowed | 405 | Method not allowed on this route. |
| validation_error | 400 | Request parameters or body failed validation. |
| invalid_json | 400 | Body is not valid JSON. |
| idempotency_key_required | 400 | POST, PATCH and DELETE need an Idempotency-Key header. |
| idempotency_conflict | 409 | This Idempotency-Key was used with a different request. |
| squad_exists | 409 | This wallet already runs a squad. One squad per wallet. |
| name_taken | 409 | That squad name is taken. |
| squad_retired | 409 | The squad is retired and can't change. |
| sandbox_full | 409 | The sandbox has no free squad slots. |
| policy_loosening_rejected | 422 | Policy changes over the API can only tighten limits. |
| field_not_enforced | 422 | The sandbox engine doesn't enforce this policy field, so the API won't accept it. |
| squad_not_running | 409 | The squad is paused. Resume it first. |
| approval_expired | 409 | The approval request expired (60 seconds) before it was resolved. |
| approval_resolved | 409 | The approval request was already resolved. |
| origin_not_allowed | 403 | API keys are for server-side use. Browser requests from other origins are rejected. |
| not_supported | 422 | This option isn't supported by the sandbox engine yet. |
| hold_required | 403 | Deploying requires holding the minimum $WISP in the deploying wallet. details has required, current and get_wisp_url. |
| hold_unverified | 503 | Couldn't verify the wallet's $WISP balance. Try again in a minute. |
| rate_limited | 429 | Rate limit exceeded. Retry after the Retry-After seconds. |
| price_unavailable | 503 | The ETH reference price is briefly unavailable. |
| access_not_approved | 403 | This wallet isn't approved for builder access yet. Request access with the "Request builder access" form on the Developers page (/app/developers). |
| invalid_request | 400 | The request is not valid for this operation. |
| squad_busy | 409 | The squad is busy with another order or an engine run. Retry in a few seconds. |
| webhook_limit | 409 | Up to 5 webhooks per wallet. Delete one first. |
| invalid_webhook_url | 422 | The webhook URL was rejected. |
| internal_error | 500 | Unexpected server error. |
Last updated October 11, 2026
Wisp runs in a sandbox today: paper trading on live market data. Experimental software, not financial advice.
