GEThttps://api.veriko.mx/v1/webhooks/{id}/deliveries

List deliveries for an endpoint

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

Returns the 50 most recent delivery attempts for a specific endpoint, with HTTP status code, response time, and truncated response body. Useful for diagnosing delivery failures.

Parameters
ParameterInTypeRequiredDescription
id*pathstring (uuid)required

UUID of the webhook endpoint.

e.g. f47ac10b-58cc-4372-a567-0e02b2c3d479
pagequeryintegeroptional

Page requested, starting at 1.

Default: 1

e.g. 1
per_pagequeryintegeroptional

How many deliveries each page carries.

Default: 50

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

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response 200WebhookDelivery — Paginated delivery attempts for this endpoint with HTTP status, response time, and truncated response body.
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/{id}/deliveries
StatusClassDescriptionBody
2002xxPaginated delivery attempts for this endpoint with HTTP status, response time, and truncated response body.No body
4014xxAuthentication is required or the provided credentials are invalid.ErrorResponse
4034xxInsufficient permissions.ErrorResponse
4044xxnot_found — endpoint does not exist or does not belong to the user.ErrorResponse
4294xxRate limit exceededErrorResponse
Errors from GET /v1/webhooks/{id}/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`).