POSThttps://api.veriko.mx/v1/validations/{id}/cancel-retries

Cancelar reintentos pendientes

Audiencia
public
Autenticación
API key
Permiso
validations:update
Guía de uso →

Detiene el ciclo de reintentos automáticos de una validación. La primera llamada responde 200 con terminal_state: 'cancelled'; una segunda, ya sin ciclo activo, responde 422 retry_not_active. Esa diferencia es deliberada: cancelar algo que no está corriendo no es una operación sin efecto, es una señal de que el estado no era el que se creía. La cabecera Idempotency-Key es opcional y evita que un fallo de red convierta una cancelación en dos.

Parámetros
ParámetroUbicaciónTipoObligatorioDescripción
id*pathstring (uuid)obligatorio

UUID de la validación

Idempotency-Keyheaderstringopcional

Llave opcional generada por el cliente (estilo Stripe) que garantiza que la petición se procese exactamente una vez dentro de un TTL de 24 horas. El alcance es (user_id, endpoint, llave). Los reintentos con la misma llave y el mismo cuerpo devuelven la respuesta cacheada byte a byte con la cabecera Idempotent-Replayed: true, sin consumir cuota de rate-limit, sin re-disparar webhooks y sin crear una nueva fila en validations. Misma llave con cuerpo distinto → 422 idempotency_key_reused. Misma llave con una petición en vuelo → 409 idempotency_key_in_progress. Las respuestas 5xx no se cachean (los reintentos con la misma llave procesan de verdad). Formato: 1–255 caracteres, alfanuméricos + _ + -.

p. ej. 11111111-2222-3333-4444-555555555555
Petición
curl -X POST 'https://api.veriko.mx/v1/validations/{id}/cancel-retries' \
  -H 'Authorization: Bearer veriko_••••' \
  -H 'Content-Type: application/json'

Ejemplo en Python — próximamente.

Ejemplo en JavaScript — próximamente.

Ejemplo en PHP — próximamente.

Respuesta 200CancelValidationRetriesAttributes — Ciclo de reintentos cancelado. `retry_state.terminal_state` queda `cancelled`.
CampoTipoDescripción
retry_stateobject

Estado completo del ciclo de reintentos, incluido en la respuesta de una validación individual (GET /v1/validations/{id}). Expone tanto los campos de estado como los detalles de la política configurada.

enabledboolean

Indica si el ciclo de reintentos está activo para esta validación.

p. ej. true
max_retriesinteger | nullanulable

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.

p. ej. 3
interval_secondsinteger | nullanulable

Intervalo entre reintentos en segundos (300–86400). null si enabled=false.

p. ej. 600
outcomesarray | nullanulable

Resultados de validación que habilitan un reintento (not_found, cep_unavailable, error). null si enabled=false.

p. ej. ["not_found","cep_unavailable","error"]
attempts_completedinteger

Número de reintentos completados hasta el momento.

p. ej. 1
next_attempt_atTimestampUTC | null

Timestamp del próximo reintento programado. null si el ciclo está en estado terminal o si no hay reintentos activos.

resolved_atTimestampUTC | null

Timestamp cuando un reintento resolvió la validación a valid. null si el ciclo no ha terminado por resolución.

exhausted_atTimestampUTC | null

Timestamp cuando se agotaron los reintentos sin resolución. null si el ciclo no ha terminado por agotamiento.

cancelled_atTimestampUTC | null

Timestamp cuando el ciclo fue cancelado explícitamente. null si no fue cancelado.

terminal_statestring | nullanulable

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. null si la validación no tiene ciclo de reintentos.

p. ej. pending
Códigos de respuestaPOST /v1/validations/{id}/cancel-retries
CódigoClaseDescripciónCuerpo
2002xxCiclo de reintentos cancelado. retry_state.terminal_state queda cancelled.Sin cuerpo
4014xxSe requiere autenticación o las credenciales son inválidasErrorResponse
4034xxPermisos insuficientesErrorResponse
4044xxValidación no encontrada o no pertenece al usuario (not_found).ErrorResponse
4224xxNo hay ciclo de reintentos activo que cancelar (código retry_not_active). UUID inválido (invalid_uuid).ErrorResponse
Cabeceras de respuesta200
CabeceraTipoDescripción
Idempotent-ReplayedstringSolo presente cuando el cliente envió Idempotency-Key. true cuando la respuesta es replay del caché de idempotencia (TTL 24h por usuario+endpoint+key).
Errores de POST /v1/validations/{id}/cancel-retries
CódigoClaveEjemplo
401unauthorized

Credenciales de autenticación ausentes o inválidas.

Envelope
meta.request_id
c4d5e6f7a8b9
403forbidden

No tienes permiso para acceder a este recurso.

Envelope
meta.request_id
d5e6f7a8b9c0