AriseLabsDocsOpen console ↗
Skip to content
Resources / Error codes

Errors

Every error is the same envelope — machine-stable code, human message, and a request_id to quote when reporting:

JSON
{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_parameter",
    "message": "recency must look like \"7d\" (1..365 days).",
    "request_id": "req_example",
    "doc_url": "https://docs.ariselabs-search-api.com/errors/invalid_parameter"
  }
}

How to react, by status

  • 400 — fix the request; retrying unchanged cannot succeed.
  • 401/403 — fix the key or scope.
  • 402 — add credit before retrying.
  • 409 — state-dependent (e.g. report_not_ready means keep polling).
  • 429 — wait Retry-After, then retry with backoff if necessary.
  • 5xx/503 — our side; retry with backoff.

Registered codes

codehttpnote
missing_parameter400A required parameter is absent.
invalid_parameter400A parameter is unknown or malformed; the message names it and how to migrate.
parameter_out_of_range400The value is outside the documented range.
unsupported_value400
as_of_out_of_range400
mode_unavailable400
invalid_cursor400
as_of_not_supported400
conflicting_parameters400
session_not_found404No such research session for this org (ids are org-scoped).
session_terminal409
report_not_ready409The research turn has no delivered report yet — keep polling (this is the normal in-progress answer).
session_run_in_flight409
idempotency_key_reuse409
session_limit_exceeded403
missing_api_key401No Authorization header. Send `Authorization: Bearer <key>`.
invalid_api_key401The key does not exist or is malformed.
revoked_api_key401The key was revoked; create a new one in the console.
expired_api_key401The key passed its expiry; create a new one in the console.
key_prefix_retired401
insufficient_scope403The key lacks the scope this endpoint needs.
tier_restricted403
plan_requires_payment_method403
session_auth_required403
topups_disabled400
admin_required403Signed in, but this area needs an administrator account.
not_found404The site demo endpoint is not enabled; use the public search endpoint with an API key.
origin_not_allowed403The demo endpoint only serves the product site; use the public search endpoint with an API key.
demo_rate_limited429Too many demo searches from this address; wait a minute or sign up for an API key.
model_override_not_allowed403The model-override query parameter is only available to designated benchmark organizations; remove it.
unknown_model400The model-override query parameter names a deployment that is not registered; use a registered deployment name.
corpus_not_enabled403
account_suspended403
forbidden403
document_not_found404
entity_not_found404
key_not_found404
key_not_revealable404
unknown_endpoint404
eval_not_found404
quota_exhausted402Credit wallet empty. Add credit in the console before retrying.
spending_cap_reached402
research_budget_exhausted402
invoice_overdue402
request_in_flight409
request_too_large413Body exceeds the contract limit.
rate_limit_exceeded429Wait for Retry-After, then retry with backoff if still rate-limited.
shared_capacity_exceeded429
concurrency_limit_exceeded429Too many runs in flight for the org; finish or cancel one.
daily_request_quota_exceeded429
playground_corpus_budget_exhausted429
edge_rate_limit429
redistribution_restricted451
internal_error500Our bug. Retry once; if it persists, report the request_id.
not_implemented501The endpoint is parked; the message says what to use instead.
upstream_unavailable503Our upstream had a problem; retry with backoff (Retry-After is set). Never your fault.
capacity_exceeded503
metering_unavailable503
session_store_unavailable503
research_incomplete503
upstream_timeout504The upstream ran past its budget; retry with backoff.