GEThttps://api.veriko.mx/v1/webhooks/deliveries

List deliveries across all endpoints

Audience
public
Auth
API key
Permission
webhooks:read
How-to guide →

Consolidated view of all webhook deliveries for the authenticated user, across all their endpoints. Supports filtering by status, event type, and date range.

Parameters
ParameterInTypeRequiredDescription
endpoint_idquerystring (uuid)optional

Filter by a specific endpoint UUID (same as /webhooks/{id}/deliveries).

e.g. 7c9e6679-7425-40de-944b-e07fc1f90ae7
event_typequerystringoptional

Type of event that produced the delivery. From a validation's lifecycle: validation.completed when it ends well, validation.failed when it ends badly, and validation.error when it breaks on our side. And from its automatic retries: validation.retry.scheduled when one is scheduled, validation.retry.resolved when a retry ends up finding the receipt, and validation.retry.exhausted when they run out without success. From the subscription: billing.payment_succeeded and billing.payment_failed for each charge, billing.invoice_upcoming before the next invoice, billing.trial_will_end before the trial runs out, and billing.subscription_canceled when it is cancelled.

e.g. validation.completed
pagequeryintegeroptional

Page requested, starting at 1.

Default: 1

e.g. 1
per_pagequeryintegeroptional

How many deliveries each page carries.

Default: 50

e.g. 50
statusquerystringoptional

Outcome of the delivery attempt. success arrived. failed did not arrive and will not be retried. retrying failed but has attempts left. pending has not been attempted yet.

e.g. failed
Request
curl -X GET 'https://api.veriko.mx/v1/webhooks/deliveries' \
  -H 'Authorization: Bearer veriko_••••'

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response 200WebhookDelivery — Consolidated list of deliveries across all the user's endpoints.
FieldTypeDescription
type*string

Resource type, fixed for this operation. Part of the resource identity in the JSON:API envelope. Always webhook_delivery.

e.g. webhook_delivery
id*string

Auto-increment delivery identifier.

e.g. 48211
attributes*object

Canonical webhook delivery attributes (receiver endpoint, attempt, response, and status).

endpoint_idstring (uuid)

UUID of the webhook endpoint that originated this delivery.

e.g. a1b2c3d4-e5f6-7890-abcd-ef0123456789
endpoint_urlstring

Receiver endpoint URL. Only present on the cross-endpoint feed (GET /webhooks/deliveries).

e.g. https://erp.example.com/hooks/pagos
event_typestring

Event type that triggered the delivery. Determines the shape of the HMAC-signed payload sent to the receiver. The events are 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, and billing.invoice_upcoming.

e.g. validation.completed
validation_idstring | nullnullable

Validation UUID when the event is validation.*. null for billing.* events.

e.g. a1b2c3d4-e5f6-7890-abcd-ef0123456789
response_statusinteger | nullnullable

HTTP code returned by the receiver. null when the delivery never completed a request (timeout, SSRF block).

e.g. 100
response_bodystring | nullnullable

Receiver response body, truncated to 500 characters.

e.g. {"ok":true}
response_time_msinteger | nullnullable

Total request time in milliseconds.

e.g. 184
attemptinteger

Attempt number (1 = first send, >1 = retries).

e.g. 1
statusstring

Current delivery status. pending — not delivered yet; retrying — retrying; success — delivered; failed — attempts exhausted.

e.g. pending
next_retry_atTimestampUTC | null

UTC ISO 8601 of the next scheduled retry. null when the delivery is terminal (delivered or exhausted).

error_messagestring | nullnullable

Error message if the delivery failed (null on success).

e.g. Connection timed out after 10s
created_atstring (date-time)

ISO 8601 timestamp in UTC with explicit Z suffix. Example: "2026-05-01T05:14:38Z". Every datetime field uses this shape. The descriptor at meta.datetime makes the contract runtime-assertable.

e.g. 2026-05-01T05:14:38Z
Response status codesGET /v1/webhooks/deliveries
StatusClassDescriptionBody
2002xxConsolidated list of deliveries across all the user's endpoints.No body
4014xxAuthentication is required or the provided credentials are invalid.ErrorResponse
4034xxInsufficient permissions.ErrorResponse
4294xxRate limit exceededErrorResponse
Errors from GET /v1/webhooks/deliveries
StatusCodeExample
401unauthorized

Invalid or missing authentication credentials.

Envelope
meta.request_id
c4d5e6f7a8b9
403forbidden

You do not have permission to access this resource.

Envelope
meta.request_id
d5e6f7a8b9c0
429rate_limit_exceeded

Rate limit exceeded. Try again in 45 seconds.

Envelope
meta.request_id
f7a8b9c0d1e2
Response headers
  • Retry-After: integer — Seconds to wait before retrying. Matches the endpoint's rate-limit window (typically 60s for list endpoints, 1-5s for in-flight idempotent operations).
  • X-RateLimit-Limit: integer — Configured request cap for this bucket (emitted only on 429).
  • X-RateLimit-Remaining: integer — Requests remaining in the current window — always 0 at the moment of the 429 (emitted only on 429).
  • X-RateLimit-Reset: integer — Absolute Unix epoch (seconds) when the window resets. Emitted only on 429, alongside Retry-After. Per-endpoint overrides exist (e.g. `rate_limited_login`).