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 the authenticated user's webhook deliveries, across all their endpoints at once.

It takes a text search (q) and filters by endpoint, status, event type, validation, HTTP code, date range, attempt number and response time.

Parameters
ParameterInTypeRequiredDescription
endpoint_idqueryarray<string>optional

Filter — unique identifier of the webhook endpoint (UUID v4). Up to 20, comma-separated.

e.g. ["7c9e6679-7425-40de-944b-e07fc1f90ae7"]
event_typequeryarray<string>optional

Type of event that produced the delivery. From a validation's lifecycle: validation.completed when Banxico returns a verdict, whatever it is (also invalid or not found, and even if retries open), validation.failed when the input is rejected, and validation.error on any other failure. 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 follow-up check of a valid: validation.returned when a validation that had come out valid moves to returned because Banxico reported the return. 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. test marks the synthetic deliveries from the test send. Several types, comma-separated.

e.g. ["validation.completed"]
fromquerystring (date-time)optional

Deliveries created from this moment on, inclusive. Takes a date (2026-10-01, UTC midnight) or an ISO 8601 date-time with its offset.

e.g. 2026-10-01T00:00:00Z
min_attemptqueryintegeroptional

Only deliveries whose attempt number is at least this. 2 leaves the ones that were retried.

e.g. 2
min_response_time_msqueryintegeroptional

Only deliveries whose receiver took at least this many milliseconds to answer.

e.g. 3000
pagequeryintegeroptional

Page requested, starting at 1.

Default: 1

e.g. 1
per_pagequeryintegeroptional

How many deliveries each page carries.

Default: 50

e.g. 50
qquerystringoptional

Searches the delivery id, the endpoint's id, URL and description, the event type, the validation id and the response's HTTP code. Case-insensitive; % and _ are matched literally. Anything past 100 characters is cut.

e.g. webhook.example.com
response_statusqueryarray<string>optional

HTTP code the receiver answered with, comma-separated. An exact code (404), a family (2xx, 4xx, 5xx) or none for deliveries that got no response (timeout, refused connection or not attempted yet). Several values add up.

e.g. ["5xx","none"]
statusqueryarray<string>optional

Delivery state. success arrived. failed is the latest attempt's outcome; Messenger can schedule another one for a recoverable failure. retrying was deferred by the outbound limit and Messenger will retry it. pending has not been attempted yet. Several states, comma-separated.

e.g. ["failed"]
toquerystring (date-time)optional

Deliveries created up to this moment, inclusive. A bare date reaches the end of that day in UTC.

e.g. 2026-10-15T23:59:59Z
validation_idquerystring (uuid)optional

Only the deliveries of this validation (UUID v4).

e.g. 3fa85f64-5717-4562-b3fc-2c963f66afa6
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

JSON:API resource type. Always webhook_delivery.

e.g. webhook_delivery
id*string

Auto-increment delivery identifier.

e.g. 48211
attributes*object

Webhook delivery data (receiver endpoint, attempt, response, and status).

endpoint_id*string (uuid)

Unique identifier of the webhook endpoint (UUID v4) that originated this delivery.

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

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

e.g. https://erp.example.com/hooks/pagos
event_type*string

Event type that produced the delivery. Determines the shape of the HMAC-signed body the receiver gets. test marks the synthetic deliveries from the test send.

e.g. validation.completed
validation_id*string | nullnullable

Unique identifier of the associated validation (UUID v4) when the event is validation.*. null for any other event.

e.g. a1b2c3d4-e5f6-7890-abcd-ef0123456789
response_status*integer | nullnullable

HTTP status code the receiver answered with. null when the delivery never completed a request (timeout or SSRF block).

e.g. 200
response_body*string | nullnullable

Receiver response body, truncated to 500 characters.

e.g. {"ok":true}
response_time_ms*integer | nullnullable

Delivery request duration, in milliseconds.

e.g. 184
attempt*integer

Attempt number. 1 is the first send; higher values are retries.

e.g. 1
status*string

Current delivery status. pending: Not delivered yet; retrying: Deferred by the outbound limit and Messenger will retry it; success: Delivered; failed: The latest attempt failed; Messenger can schedule another one for a recoverable failure.

e.g. pending
next_retry_at*TimestampUTC | null

Date and time of the next persisted retry, in ISO 8601 UTC. null when no date is stored; retries scheduled by Messenger do not persist this date on the delivery.

error_message*string | nullnullable

Transport or delivery-block error detail. null when no error detail is available, including when the receiver answered with a non-2xx status.

e.g. Connection timed out after 10s
created_at*string (date-time)

ISO 8601 timestamp in UTC with an explicit Z suffix; for example, "2026-05-01T05:14:38Z". The *_at, *_end, *_start, and *_date fields follow this format. meta.datetime describes the same contract in the response.

e.g. 2026-05-01T05:14:38Z
Response status codesGET /v1/webhooks/deliveries
StatusClassDescriptionBody
2002xxConsolidated list of deliveries across all the user's endpoints.WebhookDelivery
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
c4d5e6f7a8b99b8a7f6e5d4c
403permission_denied

You do not have permission to access this resource.

Envelope
meta.request_id
d5e6f7a8b9c00c9b8a7f6e5d
429rate_limit_exceeded

Rate limit exceeded. Try again in 45 seconds.

Envelope
meta.request_id
f7a8b9c0d1e22e1d0c9b8a7f
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. It is emitted on every 429 and, on the authenticated API, also on successful responses, where it is the per-key cap of the account plan.
  • X-RateLimit-Remaining: integer — Requests remaining in the current window. Always 0 at the moment of the 429; on a successful response of the authenticated API it is what is left of the per-key cap.
  • X-RateLimit-Reset: integer — Absolute Unix epoch (seconds) when the window resets. Emitted on every 429, alongside Retry-After, and on successful responses of the authenticated API. Per-endpoint overrides exist (e.g. `rate_limited_login`).