Error structure
| Field | Description |
|---|---|
type | Error category. Determines the class of failure. |
code | Machine-readable error code. Use this for programmatic handling. |
field | The input field that caused the error, when applicable. |
message | Human-readable explanation. Do not rely on this for logic. |
request_id | Unique identifier for the request. Send this to Deck support when troubleshooting. |
Handling errors
Usetype and code for branching logic. The message field is for logging and display only. It may change.
Error types
Errors are grouped as Deck Errors, Request Errors, or Source Errors. Only Deck Errors count against a task’s success rate.| Type | When it occurs | Group |
|---|---|---|
api | Deck platform failure | Deck Error |
idempotency | Idempotency key error | Request Error |
session | Session could not be established | Deck Error |
rate_limit | Too many requests | Request Error |
source | External source failure or unavailability | Source Error |
request | Invalid input, missing fields, or unsupported action | Request Error |
auth | Credential or authentication method failure | Request Error |
interaction | MFA or interaction timeout | Request Error |
task | Task execution failure | Deck Error |
storage | File storage or extraction failure | Deck Error |
organization | Plan, billing, or entitlement state blocks the request. Retrying will not help; the customer must upgrade, take billing action, or wait for the next billing cycle. | Request Error |
Success rate
Success rate is the share of task runs that completed successfully over a given time period. Only Deck Errors count against it.- Runs that succeed count as successes.
- Runs that fail with a Deck Error count as failures.
- Runs that fail with a Request Error or Source Error are excluded from the calculation, since it was impossible for Deck to complete the task.
Error codes by type
api
| Code | Description |
|---|---|
api_error | Platform error |
timeout | Platform timed out |
endpoint_deprecated | Endpoint is deprecated and pending removal |
idempotency
| Code | Description |
|---|---|
idempotency_error | Same key, different parameters |
idempotency_key_error | Idempotency key must be at most 256 characters |
session
| Code | Description |
|---|---|
timeout | Session could not start in time |
rate_limit
| Code | Description |
|---|---|
rate_limit_exceeded | Too many requests |
session_limit_exceeded | Agent sandbox limit exceeded |
source
| Code | Description |
|---|---|
source_error | External source failure |
source_not_available | Source is down or unreachable |
source_blocked | Source is on a blocklist |
request
These are the most common errors. They indicate a problem with your request.| Code | Description |
|---|---|
input_invalid | Validation failed |
input_type_invalid | Wrong type |
input_format_invalid | Wrong format |
input_missing | Required field missing |
input_too_long | Exceeds max length |
input_too_short | Below min length |
input_duplicate | Must be unique |
query_param_invalid | Unsupported query parameter |
cursor_invalid | Pagination cursor is invalid or expired |
resource_not_found | Resource does not exist |
resource_not_ready | Resource is not in a usable state |
api_key_invalid | Invalid API key |
token_invalid | Invalid token |
credential_not_found | Credential does not exist |
source_not_found | Source does not exist |
action_not_supported | Not supported for this source |
task_not_found | Task does not exist |
task_not_supported | Task not supported for this source |
interaction_required | Blocked until pending interaction is resolved |
interaction_input_invalid | Submitted interaction data is invalid |
interaction_not_required | No interaction was requested |
interaction_not_found | Interaction does not exist |
storage_not_found | Storage item does not exist |
attachment_invalid | Input file failed its security scan. Returned asynchronously on the task run. |
auth
| Code | Description |
|---|---|
auth_method_not_supported | Auth method not supported for this source |
auth_not_supported | Source does not require authentication |
auth_required | Authentication is required |
auth_invalid | Credentials are wrong |
password_reset_required | Source is forcing a password reset |
account_locked | Account is locked at the source |
interaction
| Code | Description |
|---|---|
interaction_timeout | Interaction window expired |
task
| Code | Description |
|---|---|
blocked | Blocked by antibot |
task_failed | Task execution failed |
task_result_unknown | Completed but result could not be determined |
timeout | Execution timed out |
storage
| Code | Description |
|---|---|
timeout | Storage request timed out |
extraction_failed | Document extraction failed |
extraction_timeout | Extraction timed out |
organization
| Code | Description |
|---|---|
quota_exceeded | Plan quota exceeded |
task_length_exceeded | Task exceeded the maximum length allowed by the plan |
feature_not_available | Feature is not available on the current plan |
plan_inactive | Subscription is past due or canceled |
Errors on resource objects
When a task run fails, theerrors array is populated on the run object itself. This is the same structure as API-level errors.
Request IDs
Every response includes arequest_id. When contacting Deck support, include this value to speed up troubleshooting.