ValidationQueued
Asynchronous response from `POST /v1/validate?async=1` and `POST /v1/validate-ocr?async=1`. Contains the queued validation and the data needed to retrieve its result from `GET /v1/validations/{id}`.
Properties
| Field | Type | Description |
|---|---|---|
data | object | JSON:API wrapper for the queued resource. |
type | string | JSON:API resource type. Always `validation`. |
id | string (uuid) | Unique identifier of the created validation (UUID v4), usable in `GET /v1/validations/{id}`. |
attributes | object | Fields of the queued resource. |
validation_id | string (uuid) | UUID of the validation (identical to `data.id`). |
status | string | Immediate status after queuing. Always `queued`. |
etag_version | integer | Initial resource version for conditional polling with `If-None-Match`. Sending it as an ETag avoids unnecessary responses when the status has not changed. |
enqueued_at | string (date-time) | ISO 8601 timestamp in UTC with an explicit `Z` suffix; for example, `"2026-05-01T05:14:38Z"`. The `*_at`, `*_end`, `*_start`, and `*_date` fields follow this format. `meta.datetime` describes the same contract in the response. |
expires_at | string (date-time) | ISO 8601 timestamp in UTC with an explicit `Z` suffix; for example, `"2026-05-01T05:14:38Z"`. The `*_at`, `*_end`, `*_start`, and `*_date` fields follow this format. `meta.datetime` describes the same contract in the response. |
retry_state | object | Automatic retry cycle state at queue time. Always present; if neither a body `retry_policy` nor a user default policy was provided, `enabled=false` and policy fields are `null`. |
enabled | boolean | `true` when the validation has retries configured, even if its cycle has already ended (`terminal_state`). |
max_retries | integer | null | Configured maximum number of retries; `null` when `enabled` is `false`. |
interval_seconds | integer | null | Interval between retries in seconds, from `300` to `86400`; `null` when `enabled` is `false`. |
outcomes | array | null | Outcomes that trigger a retry: `not_found`, `cep_unavailable`, and `error`; `null` when `enabled` is `false`. |
attempts_completed | integer | Number of retries completed so far. |
next_attempt_at | TimestampUTC | null | Date of the next retry; `null` when none is scheduled. |
resolved_at | TimestampUTC | null | Date when a retry produced `valid`; `null` until that occurs. |
exhausted_at | TimestampUTC | null | Date when attempts were exhausted; `null` until that occurs. |
cancelled_at | TimestampUTC | null | Cycle cancellation date; `null` until that occurs. |
terminal_state | string | null | Cycle state: `pending`, `resolved`, `exhausted`, or `cancelled`. It is `null` when the validation has no retry cycle. |
client_ref | string | Reference of your own sent in the request (`client_ref`), returned as sent. It only appears when the request included it. |
meta | object | Control metadata for the polling flow. |
next_poll_after_seconds | integer | Recommended seconds to wait before the first poll to `GET /v1/validations/{id}`. Polling before this interval can trigger the request limit. |
playground | boolean | `true` when the validation belongs to the playground. Field reserved for compatibility: current asynchronous responses omit it, because the playground does not queue validations. |