https://api.veriko.mx/v1/validations/{id}/purge/executeEjecutar el borrado definitivo de una validación
Guía de uso →Borra de forma definitiva el contenido de una validación propia, con el token que emitió POST /v1/validations/{id}/purge/prepare. Es el segundo paso de un flujo de dos pasos: sin ese token no se borra nada.
Se borra:
- El archivo del comprobante, imagen o PDF.
- El CEP, en XML y en PDF.
request_data,ocr_result,banxico_resulty las advertencias de normalización. Denormalized_datasolo se conserva el monto.- Los registros derivados con datos personales: intentos de reintento, sondeos de cuenta, respuestas guardadas de
Idempotency-Keyy notificaciones de la bandeja. - El cuerpo enviado y la respuesta del receptor en las entregas de webhook de esa validación, y el contenido de sus notificaciones. El registro de cada entrega se conserva.
- Los cuerpos de las filas de auditoría que nombran la validación, y el contexto libre de sus eventos de seguridad.
La validación queda como una lápida: conserva id, validation_type, status, banxico_status, las fechas, processing_time_ms, error_code, el monto y purged_at. Con eso la cuota, las estadísticas, finanzas y el historial siguen cuadrando. El borrado no devuelve cuota.
Después del borrado, GET /v1/validations/{id} responde la lápida con un estado HTTP 200 y purged_at. La imagen, el CEP, los reintentos y la revisión posterior responden un estado HTTP 410 (con validation_purged en el cuerpo), y los webhooks, los reintentos y los barridos la ignoran. Un ciclo de reintentos abierto se cancela.
El token se verifica antes de borrar:
- Falta, está mal formado, su firma no es válida o venció: responde un estado HTTP
422con su código (confirmation_token_missing,confirmation_token_malformed,confirmation_token_signature_invalidoconfirmation_token_expired). - Es de otra validación, de otra cuenta o de otra operación: responde un estado HTTP
422(conpurge_token_mismatchoconfirmation_token_operation_mismatchen el cuerpo). - Ya se usó: responde un estado HTTP
409(conconfirmation_token_already_useden el cuerpo).
Si la respuesta no llega, GET /v1/validations/{id} dice si el borrado se completó: una validación purgada trae purged_at. Repetir este paso sobre una validación purgada responde un estado HTTP 410.
Lo que se borra, la lápida y las limitaciones están en la retención de comprobantes y datos.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id* | path | string (uuid) | obligatorio | Identificador (UUID) de la validación |
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
confirmation_token | string | obligatorio | Token que devolvió eyJhZG1pbl9pZCI6Ii4uLiJ9.q1w2e3r4t5y6u7i8o9p0 |
curl -X POST 'https://api.veriko.mx/v1/validations/{id}/purge/execute' \
-H 'Authorization: Bearer veriko_••••' \
-H 'Content-Type: application/json' \
-d '{
"confirmation_token": "eyJhZG1pbl9pZCI6Ii4uLiJ9.q1w2e3r4t5y6u7i8o9p0"
}'Ejemplo en Python — próximamente.
Ejemplo en JavaScript — próximamente.
Ejemplo en PHP — próximamente.
| Campo | Tipo | Descripción |
|---|---|---|
data* | object | Recurso JSON:API del borrado. Su |
type* | string | Tipo del recurso, fijo para esta operación. Forma parte de su identidad en la envoltura JSON:API. Siempre validation_purge |
id* | string (uuid) | Identificador de la validación purgada. p. ej.3fa85f64-5717-4562-b3fc-2c963f66afa6 |
attributes* | object | Resultado del borrado. |
purged_at* | string (date-time) | Fecha y hora, en ISO 8601 UTC, en que la validación quedó purgada. p. ej.2026-10-02T09:30:00Z |
file_removal* | string | Estado del borrado de los archivos — complete |
deleted* | object | Lo que se borró. Los contadores cuentan filas tocadas; los booleanos dicen si había algo que borrar. |
image | boolean |
|
cep_pdf | boolean |
|
retry_cycle_cancelled | boolean |
|
retry_attempts | integer | Intentos de reintento borrados. |
probe_attempts | integer | Sondeos de cuenta candidata borrados. |
webhook_deliveries | integer | Entregas de webhook a las que se les quitó el cuerpo enviado y la respuesta del receptor. |
notification_deliveries | integer | Entregas de notificación cuyo contenido se vació. |
notifications | integer | Notificaciones de la bandeja que se borraron. |
idempotency_responses | integer | Respuestas guardadas de |
import_rows | integer | Filas de importación masiva cuyo contenido se vació. |
audit_log_rows | integer | Filas de auditoría a las que se les quitaron los cuerpos. Falta cuando ese barrido no se pudo completar. |
security_events_rows | integer | Eventos de seguridad cuyo contexto se redactó. Falta cuando ese barrido no se pudo completar. |
| Código | Clase | Descripción | Cuerpo |
|---|---|---|---|
| 200 | 2xx | Validación purgada. Devuelve cuándo se purgó, el estado del borrado de los archivos y lo que se borró. | ValidationPurgeExecuteResponse |
| 400 | 4xx | El cuerpo de la petición llegó vacío cuando la operación necesita datos (body_empty). | ErrorResponse |
| 401 | 4xx | Se requiere autenticación o las credenciales son inválidas | ErrorResponse |
| 403 | 4xx | Permisos insuficientes | ErrorResponse |
| 404 | 4xx | Validación no encontrada, o ajena a la cuenta de usuario (not_found). | ErrorResponse |
| 409 | 4xx | El token ya se usó (confirmation_token_already_used), o la validación sigue en curso y todavía no se puede purgar (purge_validation_in_progress, con el estado en meta.status). | ErrorResponse |
| 410 | 4xx | La validación se purgó y este recurso ya no existe (validation_purged). | ErrorResponse |
| 413 | 4xx | El cuerpo de la petición supera el tamaño máximo admitido (body_too_large). | ErrorResponse |
| 422 | 4xx | El token no sirve. Códigos posibles: confirmation_token_missing, confirmation_token_malformed, confirmation_token_signature_invalid, confirmation_token_expired, confirmation_token_operation_mismatch y purge_token_mismatch (el token es de otra validación o de otra cuenta). UUID inválido en la ruta (invalid_uuid). | ErrorResponse |
| 429 | 4xx | Límite de tasa excedido | ErrorResponse |
| Código | Clave | Ejemplo |
|---|---|---|
| 400 | body_empty | El cuerpo de la petición está vacío. Envelope
|
| 401 | unauthorized | Credenciales de autenticación ausentes o inválidas. Envelope
|
| 403 | permission_denied | No tienes permiso para acceder a este recurso. Envelope
|
| 410 | validation_purged | La validación se purgó y este recurso ya no existe. Envelope
|
| 413 | body_too_large | El cuerpo de la petición es demasiado grande. Envelope
|
| 429 | rate_limit_exceeded | Límite de peticiones excedido. Inténtalo de nuevo en 45 segundos. Envelope
Cabeceras de respuesta
|