https://api.veriko.mx/v1/webhooks/{id}Actualizar un endpoint de webhook
Guía de uso →Actualiza la dirección receptora, los eventos suscritos o el estado de un endpoint ya registrado. Solo cambia lo que venga en el cuerpo: un campo ausente se queda como estaba, y un cuerpo sin ningún campo editable responde 422 no_valid_fields. El secreto de firma no cambia aquí. Cambiar la dirección deja el mismo secreto en el endpoint nuevo, de modo que un receptor que ya validaba firmas sigue validándolas. Para rotarlo está POST /v1/webhooks/{id}/regenerate-secret. Poner el estado en disabled detiene las entregas sin perder el historial; es lo que conviene mientras se arregla un receptor caído, en vez de borrar el endpoint y volver a crearlo.
| Parámetro | Ubicación | Tipo | Obligatorio | Descripción |
|---|---|---|---|---|
id* | path | string (uuid) | obligatorio | UUID del endpoint de webhook. p. ej.f47ac10b-58cc-4372-a567-0e02b2c3d479 |
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
url | string (uri) (?–2048) | opcional | URL HTTPS de destino. Reemplaza la URL anterior si se envía. p. ej.https://example.com/webhooks/entregas |
events | array<string> (elementos: 1–10) | opcional | Suscripción de eventos del webhook. Reemplaza la lista anterior; máximo 10 eventos. |
description | string | nullanulable (?–255) | opcional | Etiqueta libre del webhook ( Alta de pagos en el ERP |
status | string (enumeración) | opcional | Cambia el estado del webhook ( active |
curl -X PUT 'https://api.veriko.mx/v1/webhooks/{id}' \
-H 'Authorization: Bearer veriko_••••' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://webhook.example.com/platform",
"events": [
"validation.completed"
],
"status": "active"
}'Ejemplo en Python — próximamente.
Ejemplo en JavaScript — próximamente.
Ejemplo en PHP — próximamente.
| Campo | Tipo | Descripción |
|---|---|---|
type* | string | Tipo del recurso, fijo para esta operación. Forma parte de la identidad del recurso en la envoltura JSON:API. Siempre webhook_endpoint |
id* | string (uuid) | Identificador del endpoint. p. ej.a1b2c3d4-e5f6-7890-abcd-ef0123456789 |
attributes* | object | Atributos canónicos del endpoint de webhook (URL receptora, eventos suscritos, estado y secreto). |
url | string (uri) | URL HTTPS receptora. En producción se rechaza HTTP, URLs que resuelven a IPs privadas (SSRF), y URLs https://example.com/webhooks/entregas |
events | array | Lista de eventos suscritos. Máximo 10. |
description | string | nullanulable | Etiqueta libre del endpoint. p. ej.Alta de pagos en el ERP |
status | string |
active |
consecutive_failures | integer | Contador de fallos consecutivos. Se resetea en éxito. p. ej.0 |
last_delivery_at | TimestampUTC | null | Marca de tiempo UTC del último intento de entrega (cualquier status). |
secret | string | Clave compartida para verificar firmas. Solo presente en la respuesta de creación y regeneración del endpoint; se omite en cualquier otra respuesta. p. ej.whsec_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6 |
secret_hint | string | Últimos 4 caracteres del secret, prefijados con ...4f2a |
created_at | string (date-time) | Timestamp ISO 8601 en UTC con sufijo 2026-05-01T05:14:38Z |
updated_at | string (date-time) | Timestamp ISO 8601 en UTC con sufijo 2026-05-01T05:14:38Z |
| Código | Clase | Descripción | Cuerpo |
|---|---|---|---|
| 200 | 2xx | Endpoint actualizado. | Sin cuerpo |
| 400 | 4xx | El cuerpo de la petición está vacío o no es JSON válido. | ErrorResponse |
| 401 | 4xx | Se requiere autenticación o las credenciales son inválidas | ErrorResponse |
| 403 | 4xx | Permisos insuficientes | ErrorResponse |
| 404 | 4xx | not_found — el endpoint no existe o no pertenece al usuario. | ErrorResponse |
| 413 | 4xx | El cuerpo de la petición supera el tamaño máximo admitido (body_too_large). | ErrorResponse |
| 422 | 4xx | Datos inválidos. Códigos posibles: webhook_url_empty, webhook_url_too_long, webhook_url_invalid_format, webhook_url_not_https, webhook_events_required, webhook_events_too_many, webhook_event_invalid, webhook_status_invalid, no_valid_fields. | 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
|
| 400 | invalid_json | El cuerpo no es JSON válido. Envelope
|
| 401 | unauthorized | Credenciales de autenticación ausentes o inválidas. Envelope
|
| 403 | forbidden | No tienes permiso para acceder a este recurso. 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
|