Skip to content

Retry a delivery

POST
/webhooks/{id}/deliveries/{deliveryId}/retry
curl --request POST \
--url https://api.vaartix.com/webhooks/wh_4n8x2k7q1m9c3v5d/deliveries/whd_8m3k1q7v2c9x4d6p/retry \
--header 'Authorization: Bearer <token>'

Sends the delivery again from the first attempt, with the same webhook-id, so your server can recognise it. The endpoint must be enabled.

id
required
string

Example

wh_4n8x2k7q1m9c3v5d
deliveryId
required
string

Example

whd_8m3k1q7v2c9x4d6p

Queued for sending.

Media typeapplication/json
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

{
"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"
}
}

conflict: the request clashes with the current state, for example too many endpoints.

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"
}
}