Errors
Errors are application/problem+json (RFC 9457) with a stable code. A row of another workspace is always 404 not_found, never 403.
HTTP
HTTP/1.1 422
Content-Type: application/problem+json
{
"type": "https://api.norreach.app/problems/validation_failed",
"title": "The request has invalid fields.",
"status": 422,
"code": "validation_failed",
"instance": "6f0c2a9e-…",
"errors": [{ "path": "phone", "code": "invalid_e164", "message": "phone must include the country code, e.g. +46701234567." }],
"docs": "https://docs.norreach.app/errors#validation_failed"
}| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | The request couldn't be read. |
| 400 | unknown_field | The request has a field this operation doesn't know. |
| 400 | invalid_cursor | That cursor doesn't belong to this list. |
| 400 | idempotency_key_required | This operation needs an Idempotency-Key header. |
| 401 | A valid API key is required. | |
| 401 | key_revoked | This API key has been revoked. |
| 401 | key_expired | This API key has expired. |
| 401 | legacy_key | This is an old-style key. Create a new API key in Settings. |
| 401 | test_keys_not_available | Test keys aren't available. Use a second workspace for testing. |
| 401 | key_owner_inactive | The person who created this key no longer has access. Ask an admin to take it over. |
| 403 | insufficient_scope | This API key doesn't have the scope this operation needs. |
| 403 | role_forbidden | The key's creator's role can't do this. |
| 403 | ip_not_allowed | This API key can't be used from this address. |
| 403 | workspace_suspended | This workspace is suspended. |
| 403 | feature_not_enabled | The API isn't switched on for this workspace. |
| 403 | key_suspended | This API key is suspended after unusual activity. An owner or admin can resume it in Settings. |
| 403 | member_locked | This person's role or access can't be changed this way. |
| 404 | not_found | That doesn't exist. |
| 405 | method_not_allowed | This method isn't allowed here. |
| 409 | conflict | That conflicts with the current state. |
| 409 | outreach_paused | Outreach is paused for this workspace. |
| 409 | already_decided | Already handled. |
| 409 | idempotency_in_progress | A request with this Idempotency-Key is still running. |
| 409 | no_sender | A channel this needs has no connected sender. |
| 409 | insufficient_credits | There aren't enough credits for this. |
| 413 | too_large | The request body is too large. |
| 422 | validation_failed | The request has invalid fields. |
| 422 | send_blocked | This can't be sent to this person. |
| 422 | publish_blocked | This page can't be published. |
| 422 | ad_publish_blocked | This ad launch can't be published yet. |
| 422 | ad_switch_blocked | This campaign can't be switched back on from NorReach. |
| 422 | ad_network_unsupported | This can't be done on this ad network from NorReach yet. |
| 422 | post_schedule_blocked | This post can't be scheduled yet. |
| 422 | ads_by_plan | Nora makes ads only inside a plan. |
| 422 | idempotency_mismatch | This Idempotency-Key was used with a different request. |
| 429 | rate_limited | Too many requests. Slow down and try again. |
| 429 | send_cap_reached | The workspace's sending limit for now is reached. |
| 429 | number_cap_reached | The workspace's limit for buying numbers through the API is reached. |
| 500 | server_error | Something went wrong on our side. |
| 503 | The API isn't available right now. Try again shortly. |