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

Export all deliveries as CSV or XLSX

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

Downloads the delivery history of every endpoint on the account as a file, under the same filters and text search (q) as the list.

The format is chosen with ?format: csv by default, xlsx as the alternative — and the cap is 100,000 rows, which ?limit can lower.

Exporting before deleting an endpoint is worth doing: DELETE /v1/webhooks/{id} takes its history with it and there is no way to recover it.

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"]
formatquerystringoptional

Output format. csv by default; xlsx produces a spreadsheet. Any other value is served as csv.

Default: csv

e.g. csv
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
limitqueryintegeroptional

Trims the number of rows in the file. It only lowers the cap: a value above 100,000, or below 1, leaves the default cap in place.

e.g. 500
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
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/export' \
  -H 'Authorization: Bearer veriko_••••'

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response status codesGET /v1/webhooks/deliveries/export
StatusClassDescriptionBody
2002xxCSV or XLSX file with the consolidated delivery history across all endpoints (up to 100,000 rows).Body without schema
4014xxAuthentication is required or the provided credentials are invalid.ErrorResponse
4034xxInsufficient permissions.ErrorResponse
4294xxRate limit exceededErrorResponse
Errors from GET /v1/webhooks/deliveries/export
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`).