← Volver al índice de esquemas

WebhookDelivery

Registro de una entrega individual de un webhook (incluyendo cada reintento, que aumenta `attempt`). Devuelto por `GET /webhooks/deliveries` (cross-endpoint del usuario) y `GET /webhooks/{id}/deliveries` (por endpoint). El cross-endpoint añade `endpoint_url` ya joineado para evitar lookups extra.

ExtiendeJsonApiResourceBase

Propiedades

CampoTipoDescripción
type*stringTipo del recurso, fijo para esta operación. Forma parte de la identidad del recurso en la envoltura JSON:API. Siempre `webhook_delivery`.
id*stringIdentificador autoincremental de la entrega.
attributes*objectAtributos canónicos de la entrega del webhook (endpoint receptor, intento, respuesta y estado).
endpoint_idstring (uuid)UUID del endpoint de webhook que originó esta entrega.
endpoint_urlstringURL del endpoint receptor. Solo presente en la lista cross-endpoint (`GET /webhooks/deliveries`).
event_typestringTipo de evento que disparó la entrega. Determina la forma del cuerpo firmado con HMAC que se envía al receptor. Los eventos son `validation.completed`, `validation.failed`, `validation.error`, `validation.retry.scheduled`, `validation.retry.resolved`, `validation.retry.exhausted`, `billing.payment_succeeded`, `billing.payment_failed`, `billing.trial_will_end`, `billing.subscription_canceled` y `billing.invoice_upcoming`.
validation_idstring | nullUUID de la validación asociada cuando el evento es `validation.*`. `null` para eventos `billing.*`.
response_statusinteger | nullCódigo HTTP recibido del receptor. `null` cuando la entrega no llegó a establecer respuesta (timeout, SSRF block).
response_bodystring | nullCuerpo de respuesta del receptor, truncado a 500 caracteres.
response_time_msinteger | nullTiempo total del request en milisegundos.
attemptintegerNúmero de intento (1 = primer envío, >1 = reintentos).
statusstringEstado actual de la entrega. `pending` — aún sin entregar; `retrying` — reintentando; `success` — entregada; `failed` — agotados los intentos.
next_retry_atTimestampUTC | nullUTC ISO 8601 del próximo reintento programado. `null` cuando la entrega es terminal (delivered o agotada).
error_messagestring | nullMensaje de error si la entrega falló (`null` en éxito).
created_atstring (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.

Usado en operaciones

  • GET /v1/webhooks/{id}/deliveries
  • GET /v1/webhooks/deliveries