Error codes
Every answer that is not a success carries an ErrorEnvelope: a stable code, a human-readable message that a client must not parse, the request_id (also in the X-Request-Id header), and details when there is more than one issue or a field is at fault. A code always answers with the same HTTP status. The operation pages list the codes each operation can answer.
| Code | HTTP status | Operations that list it | Released in |
|---|---|---|---|
invalid_request | 400 | 346 | 1.0.0 |
invalid_cursor | 400 | 75 | 1.0.0 |
unauthenticated | 401 | 346 | 1.0.0 |
spend_cap_reached | 402 | 2 | 1.19.0 |
forbidden | 403 | 346 | 1.0.0 |
org_suspended | 403 | 155 | 1.0.0 |
dial_not_allowed | 403 | 1 | 1.16.0 |
transfer_refused | 403 | 1 | 1.50.0 |
capture_not_allowed | 403 | 2 | 1.57.0 |
not_found | 404 | 252 | 1.0.0 |
agent_version_unavailable | 409 | 8 | 1.0.0 |
already_claimed | not answered by a public operation | 0 | 1.0.0 |
call_not_active | 409 | 3 | 1.0.0 |
recording_not_available | 409 | 1 | 1.15.0 |
policy_archived | 409 | 4 | 1.47.0 |
tool_archived | 409 | 3 | 1.49.0 |
answering_machine_not_detected | 409 | 1 | 1.50.0 |
last_owner | 409 | 2 | 1.51.0 |
event_filter_in_use | 409 | 1 | 1.52.0 |
replay_in_progress | 409 | 1 | 1.52.0 |
job_result_not_available | 409 | 1 | 1.52.0 |
knowledge_base_in_use | 409 | 1 | 1.53.0 |
knowledge_base_archived | 409 | 15 | 1.53.0 |
knowledge_base_version_in_use | 409 | 1 | 1.53.0 |
knowledge_base_version_retired | 409 | 3 | 1.53.0 |
knowledge_document_not_in_review | 409 | 1 | 1.53.0 |
prompt_template_in_use | 409 | 1 | 1.55.0 |
prompt_template_archived | 409 | 4 | 1.55.0 |
prompt_eval_suite_archived | 409 | 9 | 1.55.0 |
experiment_conflict | 409 | 3 | 1.55.0 |
transcript_unavailable | 409 | 1 | 1.56.0 |
capture_window_closed | 409 | 1 | 1.57.0 |
reveal_grant_conflict | 409 | 3 | 1.57.0 |
decision_corpus_archived | 409 | 4 | 1.58.0 |
decision_run_in_progress | 409 | 1 | 1.58.0 |
workflow_archived | 409 | 5 | 1.59.0 |
connection_revoked | 409 | 13 | 1.60.0 |
contact_match_conflict | 409 | 3 | 1.61.0 |
contact_merge_conflict | 409 | 1 | 1.61.0 |
contact_not_active | 409 | 4 | 1.61.0 |
workflow_version_unavailable | 409 | 1 | 1.62.0 |
process_not_active | 409 | 6 | 1.62.0 |
human_task_conflict | 409 | 2 | 1.62.0 |
webhook_not_active | 409 | 2 | 1.63.0 |
campaign_conflict | 409 | 10 | 1.65.0 |
campaign_enrollment_busy | not answered by a public operation | 0 | 1.65.0 |
idempotency_in_progress | 409 | 112 | 1.0.0 |
idempotency_key_reused | 409 | 112 | 1.0.0 |
revision_mismatch | 412 | 64 | 1.0.0 |
precondition_required | 428 | 64 | 1.0.0 |
validation_failed | 422 | 117 | 1.0.0 |
capability_not_available | 422 | 37 | 1.0.0 |
environment_not_allowed | 422 | 2 | 1.0.0 |
contact_opted_out | 422 | 2 | 1.61.0 |
calling_window_zone_unknown | 422 | 1 | 1.61.0 |
evaluation_gate_failed | 422 | 3 | 1.63.0 |
consent_required | not answered by a public operation | 0 | 1.65.0 |
contact_frequency_cap | not answered by a public operation | 0 | 1.65.0 |
outside_calling_window | not answered by a public operation | 0 | 1.65.0 |
campaign_not_running | not answered by a public operation | 0 | 1.65.0 |
campaign_permit_expired | not answered by a public operation | 0 | 1.65.0 |
campaign_budget_reached | not answered by a public operation | 0 | 1.65.0 |
caller_id_unavailable | not answered by a public operation | 0 | 1.65.0 |
concurrency_limit_reached | 429 | 1 | 1.0.0 |
test_daily_cap_reached | 429 | 3 | 1.21.0 |
evaluation_quota_reached | 429 | 3 | 1.63.0 |
campaign_concurrency_reached | not answered by a public operation | 0 | 1.65.0 |
number_pacing_limit | not answered by a public operation | 0 | 1.65.0 |
stream_limit_reached | 429 | 2 | 1.49.0 |
rate_limited | 429 | 346 | 1.51.0 |
internal_error | 500 | 346 | 1.0.0 |
dependency_unavailable | 503 | 6 | 1.0.0 |
session_unreachable | 503 | 1 | 1.49.0 |