← Volver al índice de esquemas

ValidationQueued

Respuesta 202 del flujo de validación asíncrona (`POST /v1/validate?async=1` y `POST /v1/validate-ocr?async=1`). Indica que la validación fue encolada; consultar `GET /v1/validations/{id}` periódicamente para el resultado final.

Propiedades

Campo Tipo Descripción
data object Envoltorio JSON:API del recurso encolado.
type string Tipo del recurso JSON:API (siempre `validation`).
id string (uuid) UUID de la validación creada, usable en `GET /v1/validations/{id}`.
attributes object Campos del recurso encolado.
validation_id string (uuid) UUID de la validación (idéntico a `data.id`).
status string Estado inmediato tras el encolamiento (siempre `queued`).
etag_version integer Versión inicial del recurso para polling condicional con `If-None-Match`. Devolver este valor como ETag evita respuestas innecesarias cuando el estado no ha cambiado.
enqueued_at string (date-time) Timestamp ISO 8601 en UTC con sufijo `Z` explícito. Ejemplo: `"2026-05-01T05:14:38Z"`. Cada campo `*_at`, `*_end`, `*_start`, `*_date` de la API usa esta forma. El descriptor compañero en `meta.datetime` permite afirmar el contrato en tiempo de ejecución sin volver a leer este spec. El `new Date(value)` nativo del navegador, el `datetime.fromisoformat` (≥3.11) de Python y el `time.Parse(time.RFC3339)` de Go parsean este formato directamente.
expires_at string (date-time) Timestamp ISO 8601 en UTC con sufijo `Z` explícito. Ejemplo: `"2026-05-01T05:14:38Z"`. Cada campo `*_at`, `*_end`, `*_start`, `*_date` de la API usa esta forma. El descriptor compañero en `meta.datetime` permite afirmar el contrato en tiempo de ejecución sin volver a leer este spec. El `new Date(value)` nativo del navegador, el `datetime.fromisoformat` (≥3.11) de Python y el `time.Parse(time.RFC3339)` de Go parsean este formato directamente.
retry_state object Estado del ciclo de reintentos automáticos al momento del encolamiento. Siempre presente; si no se configuró `retry_policy` en el body ni en la política del usuario, `enabled=false` y los campos de política son `null`.
enabled boolean Indica si el ciclo de reintentos está activo para esta validación.
max_retries integer | null Número máximo de reintentos configurado. El tope superior depende del plan (`retry_max_retries`) o del default global `max_retries_cap` (típicamente 5–10). `null` si `enabled=false`.
interval_seconds integer | null Intervalo entre reintentos en segundos (300–86400). `null` si `enabled=false`.
outcomes array | null Resultados de validación que habilitan un reintento (`not_found`, `cep_unavailable`, `error`). `null` si `enabled=false`.
attempts_completed integer Número de reintentos completados hasta el momento.
next_attempt_at union Timestamp del próximo reintento programado. `null` si el ciclo está en estado terminal o si no hay reintentos activos.
resolved_at union Timestamp cuando un reintento resolvió la validación a `valid`. `null` si el ciclo no ha terminado por resolución.
exhausted_at union Timestamp cuando se agotaron los reintentos sin resolución. `null` si el ciclo no ha terminado por agotamiento.
cancelled_at union Timestamp cuando el ciclo fue cancelado explícitamente. `null` si no fue cancelado.
terminal_state string | null Estado terminal del ciclo: `pending` — activo, sin resultado final aún; `resolved` — un reintento obtuvo `valid`; `exhausted` — se agotaron los intentos; `cancelled` — cancelado por el usuario.
meta object Metadatos de control del flujo de polling.
next_poll_after_seconds integer Segundos recomendados de espera antes del primer poll a `GET /v1/validations/{id}`. El cliente debe respetar este valor para evitar rate-limit en el endpoint de polling.
playground boolean Indica si la validación fue encolada en modo playground. La ejecución consulta Banxico igual que las validaciones normales pero no consume cuota, no emite webhooks ni notificaciones.