Skip to content

List deliveries

GET
/webhooks/{id}/deliveries
curl --request GET \
--url 'https://api.vaartix.com/webhooks/wh_4n8x2k7q1m9c3v5d/deliveries?limit=50' \
--header 'Authorization: Bearer <token>'

The most recent deliveries to this endpoint, newest first, with your server’s response.

id
required
string

Example

wh_4n8x2k7q1m9c3v5d
limit
integer
default: 50 >= 1 <= 100

Deliveries.

Media typeapplication/json
object
data
required
Array<object>
object
id

Also sent as the webhook-id header.

string
type
string
Allowed values: email.sent email.delivered email.delivery_delayed email.bounced email.complained email.rejected email.rendering_failure email.suppressed email.opened email.clicked
eventId
string | null
status
string
Allowed values: pending succeeded failed
attempts
integer
responseStatus

Your server’s HTTP status on the last attempt, or null if it couldn’t be reached.

integer | null
responseBody

The first 2 KB of your server’s response, or the connection error.

string | null
nextAttemptAt
string | null format: date-time
deliveredAt
string | null format: date-time
createdAt
string format: date-time
payload
object
type
required
string
Allowed values: email.sent email.delivered email.delivery_delayed email.bounced email.complained email.rejected email.rendering_failure email.suppressed email.opened email.clicked
createdAt
required

When the event happened.

string format: date-time
data
required
object
emailId
string
eventId
string
recipient

The address this event is about, for per-recipient events.

string | null
from
string
to
Array<string>
cc
Array<string>
bcc
Array<string>
subject
string
tags
Array<object>
object
name
string
value
string
emailCreatedAt
string format: date-time
details

Event details, such as the bounce type or SMTP response from the mail provider. For email.delivery_delayed it is a DelayedEventDetails, for email.bounced a BouncedEventDetails, for email.opened an OpenedEventDetails, for email.clicked a ClickedEventDetails.

object
key
additional properties
any

Example

{
"data": [
{
"type": "email.sent",
"status": "pending",
"payload": {
"type": "email.sent",
"data": {
"emailId": "em_7hq2kv9xr4m1c8d3",
"eventId": "evt_2m9k4q7v1c8x3d6p",
"recipient": "[email protected]",
"from": "Acme <[email protected]>",
"subject": "Your login code"
}
}
}
]
}

unauthorized: the API key is missing, invalid or revoked.

Media typeapplication/json
object
error
required
object
type
required

Stable, machine-readable error type.

string
Allowed values: validation_error unauthorized forbidden not_found conflict rate_limited daily_quota_exceeded domain_not_verified invalid_from_address account_paused domain_needs_review content_rejected idempotency_conflict bad_request internal_error
message
required

Human-readable explanation, safe to show to developers.

string

Example

{
"error": {
"type": "validation_error"
}
}

forbidden: the key cannot do this, for example a send-only key on a management endpoint.

Media typeapplication/json
object
error
required
object
type
required

Stable, machine-readable error type.

string
Allowed values: validation_error unauthorized forbidden not_found conflict rate_limited daily_quota_exceeded domain_not_verified invalid_from_address account_paused domain_needs_review content_rejected idempotency_conflict bad_request internal_error
message
required

Human-readable explanation, safe to show to developers.

string

Example

{
"error": {
"type": "validation_error"
}
}

not_found: no such resource in your team.

Media typeapplication/json
object
error
required
object
type
required

Stable, machine-readable error type.

string
Allowed values: validation_error unauthorized forbidden not_found conflict rate_limited daily_quota_exceeded domain_not_verified invalid_from_address account_paused domain_needs_review content_rejected idempotency_conflict bad_request internal_error
message
required

Human-readable explanation, safe to show to developers.

string

Example

{
"error": {
"type": "validation_error"
}
}