Get delivery attempts
Changed onGet the complete delivery history for an email, including SMTP response codes, timestamps, and current retry state.
Response Fields
Status
The current status of the email:
- pending - Awaiting first delivery attempt
- sent - Successfully delivered to recipient server
- softfail - Temporary failure, automatic retry scheduled
- hardfail - Permanent failure, will not retry
- held - Held for manual review
- bounced - Bounced by recipient server
Retry State
When the email is in the delivery queue (pending or softfail status), retryState provides information about the retry schedule:
- attempt - Current attempt number (0 = first attempt)
- maxAttempts - Maximum attempts before hard-fail (typically 18)
- attemptsRemaining - Attempts left before hard-fail
- nextRetryAt - When the next retry is scheduled (Unix timestamp)
- processing - Whether the email is currently being processed
- manual - Whether this was triggered by a manual retry
When the email has finished processing (sent, hardfail, held, bounced), retryState is null.
Can Retry Manually
Indicates whether you can call POST /emails/{emailId}/retry to manually retry the email. This is true when the raw message content is still available (not expired due to retention policy).
Request
- Base URLhttps://api.arkhq.io/v1
- AuthHTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Email identifier (the token returned when sending an email).
Response
Delivery history with retry state
Example response
{
"success": true,
"data": {
"id": "aBc123XyZ",
"status": "softfail",
"retryState": {
"attempt": 3,
"maxAttempts": 18,
"attemptsRemaining": 15,
"nextRetryAt": 1705903200,
"nextRetryAtIso": "2024-01-22T11:00:00Z",
"processing": false,
"manual": false
},
"canRetryManually": true,
"deliveries": [
{
"id": "789",
"status": "softfail",
"details": "421 temporarily unavailable: Delivery to user@example.com failed at 1.2.3.4:25 (mx.example.com)",
"output": "421 4.7.0 Try again later",
"code": 421,
"sentWithSsl": true,
"timestamp": 1705900000,
"timestampIso": "2024-01-22T10:00:00Z",
"classification": "temporarily_unavailable",
"classificationCode": 42,
"smtpEnhancedCode": "4.7.0",
"remoteHost": "mx.example.com"
}
]
},
"meta": {
"requestId": "req_V1StGXR8_Z5jdHi6"
}
}Changes
- warning
added the new
infrastructure_errorenum value to the/response property for the response status - warning
added the new
infrastructure_errorenum value to the/response property for the response status - warning
added the new
infrastructure_errorenum value to the/response property for the response status - info
removed the
postal_errorenum value from the/response property for the response status - info
removed the
postal_errorenum value from the/response property for the response status - info
removed the
postal_errorenum value from the/response property for the response status
- warning
- warning
added the new
already_existsenum value to the/response property for the response status - warning
added the new
already_existsenum value to the/response property for the response status - warning
added the new
already_existsenum value to the/response property for the response status - warning
added the new
attachment_too_largeenum value to the/response property for the response status - warning
added the new
attachment_too_largeenum value to the/response property for the response status - warning
added the new
attachment_too_largeenum value to the/response property for the response status - warning
added the new
authentication_requiredenum value to the/response property for the response status - warning
added the new
authentication_requiredenum value to the/response property for the response status - warning
added the new
authentication_requiredenum value to the/response property for the response status - warning
added the new
billing_errorenum value to the/response property for the response status - warning
added the new
billing_errorenum value to the/response property for the response status - warning
added the new
billing_errorenum value to the/response property for the response status - warning
added the new
billing_not_configuredenum value to the/response property for the response status - warning
added the new
billing_not_configuredenum value to the/response property for the response status - warning
added the new
billing_not_configuredenum value to the/response property for the response status - warning
added the new
credential_not_foundenum value to the/response property for the response status - warning
added the new
credential_not_foundenum value to the/response property for the response status - warning
added the new
credential_not_foundenum value to the/response property for the response status - warning
added the new
credential_on_holdenum value to the/response property for the response status - warning
added the new
credential_on_holdenum value to the/response property for the response status - warning
added the new
credential_on_holdenum value to the/response property for the response status - warning
added the new
credential_revokedenum value to the/response property for the response status - warning
added the new
credential_revokedenum value to the/response property for the response status - warning
added the new
credential_revokedenum value to the/response property for the response status - warning
added the new
delivery_not_foundenum value to the/response property for the response status - warning
added the new
delivery_not_foundenum value to the/response property for the response status - warning
added the new
delivery_not_foundenum value to the/response property for the response status - warning
added the new
domain_already_existsenum value to the/response property for the response status - warning
added the new
domain_already_existsenum value to the/response property for the response status - warning
added the new
domain_already_existsenum value to the/response property for the response status - warning
added the new
domain_not_foundenum value to the/response property for the response status - warning
added the new
domain_not_foundenum value to the/response property for the response status - warning
added the new
domain_not_foundenum value to the/response property for the response status - warning
added the new
domain_not_verifiedenum value to the/response property for the response status - warning
added the new
domain_not_verifiedenum value to the/response property for the response status - warning
added the new
domain_not_verifiedenum value to the/response property for the response status - warning
added the new
email_not_foundenum value to the/response property for the response status - warning
added the new
email_not_foundenum value to the/response property for the response status - warning
added the new
email_not_foundenum value to the/response property for the response status - warning
added the new
external_id_already_existsenum value to the/response property for the response status - warning
added the new
external_id_already_existsenum value to the/response property for the response status - warning
added the new
external_id_already_existsenum value to the/response property for the response status - warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
forbiddenenum value to the/response property for the response status - warning
added the new
idempotency_conflictenum value to the/response property for the response status - warning
added the new
idempotency_conflictenum value to the/response property for the response status - warning
added the new
idempotency_conflictenum value to the/response property for the response status - warning
added the new
insufficient_balanceenum value to the/response property for the response status - warning
added the new
insufficient_balanceenum value to the/response property for the response status - warning
added the new
insufficient_balanceenum value to the/response property for the response status - warning
added the new
internal_errorenum value to the/response property for the response status - warning
added the new
internal_errorenum value to the/response property for the response status - warning
added the new
internal_errorenum value to the/response property for the response status - warning
added the new
invalid_api_keyenum value to the/response property for the response status - warning
added the new
invalid_api_keyenum value to the/response property for the response status - warning
added the new
invalid_api_keyenum value to the/response property for the response status - warning
added the new
invalid_email_addressenum value to the/response property for the response status - warning
added the new
invalid_email_addressenum value to the/response property for the response status - warning
added the new
invalid_email_addressenum value to the/response property for the response status - warning
added the new
invalid_raw_messageenum value to the/response property for the response status - warning
added the new
invalid_raw_messageenum value to the/response property for the response status - warning
added the new
invalid_raw_messageenum value to the/response property for the response status - warning
added the new
invalid_requestenum value to the/response property for the response status - warning
added the new
invalid_requestenum value to the/response property for the response status - warning
added the new
invalid_requestenum value to the/response property for the response status - warning
added the new
ip_not_allowedenum value to the/response property for the response status - warning
added the new
ip_not_allowedenum value to the/response property for the response status - warning
added the new
ip_not_allowedenum value to the/response property for the response status - warning
added the new
message_too_largeenum value to the/response property for the response status - warning
added the new
message_too_largeenum value to the/response property for the response status - warning
added the new
message_too_largeenum value to the/response property for the response status - warning
added the new
metadata_key_invalidenum value to the/response property for the response status - warning
added the new
metadata_key_invalidenum value to the/response property for the response status - warning
added the new
metadata_key_invalidenum value to the/response property for the response status - warning
added the new
metadata_too_largeenum value to the/response property for the response status - warning
added the new
metadata_too_largeenum value to the/response property for the response status - warning
added the new
metadata_too_largeenum value to the/response property for the response status - warning
added the new
metadata_value_invalidenum value to the/response property for the response status - warning
added the new
metadata_value_invalidenum value to the/response property for the response status - warning
added the new
metadata_value_invalidenum value to the/response property for the response status - warning
added the new
missing_fieldenum value to the/response property for the response status - warning
added the new
missing_fieldenum value to the/response property for the response status - warning
added the new
missing_fieldenum value to the/response property for the response status - warning
added the new
missing_scopeenum value to the/response property for the response status - warning
added the new
missing_scopeenum value to the/response property for the response status - warning
added the new
missing_scopeenum value to the/response property for the response status - warning
added the new
not_foundenum value to the/response property for the response status - warning
added the new
not_foundenum value to the/response property for the response status - warning
added the new
not_foundenum value to the/response property for the response status - warning
added the new
payload_too_largeenum value to the/response property for the response status - warning
added the new
payload_too_largeenum value to the/response property for the response status - warning
added the new
payload_too_largeenum value to the/response property for the response status - warning
added the new
payment_requiredenum value to the/response property for the response status - warning
added the new
payment_requiredenum value to the/response property for the response status - warning
added the new
payment_requiredenum value to the/response property for the response status - warning
added the new
postal_errorenum value to the/response property for the response status - warning
added the new
postal_errorenum value to the/response property for the response status - warning
added the new
postal_errorenum value to the/response property for the response status - warning
added the new
rate_limit_exceededenum value to the/response property for the response status - warning
added the new
rate_limit_exceededenum value to the/response property for the response status - warning
added the new
rate_limit_exceededenum value to the/response property for the response status - warning
added the new
send_limit_exceededenum value to the/response property for the response status - warning
added the new
send_limit_exceededenum value to the/response property for the response status - warning
added the new
send_limit_exceededenum value to the/response property for the response status - warning
added the new
server_suspendedenum value to the/response property for the response status - warning
added the new
server_suspendedenum value to the/response property for the response status - warning
added the new
server_suspendedenum value to the/response property for the response status - warning
added the new
service_unavailableenum value to the/response property for the response status - warning
added the new
service_unavailableenum value to the/response property for the response status - warning
added the new
service_unavailableenum value to the/response property for the response status - warning
added the new
suppressed_recipientenum value to the/response property for the response status - warning
added the new
suppressed_recipientenum value to the/response property for the response status - warning
added the new
suppressed_recipientenum value to the/response property for the response status - warning
added the new
suppression_not_foundenum value to the/response property for the response status - warning
added the new
suppression_not_foundenum value to the/response property for the response status - warning
added the new
suppression_not_foundenum value to the/response property for the response status - warning
added the new
tenant_not_foundenum value to the/response property for the response status - warning
added the new
tenant_not_foundenum value to the/response property for the response status - warning
added the new
tenant_not_foundenum value to the/response property for the response status - warning
added the new
too_many_attachmentsenum value to the/response property for the response status - warning
added the new
too_many_attachmentsenum value to the/response property for the response status - warning
added the new
too_many_attachmentsenum value to the/response property for the response status - warning
added the new
too_many_recipientsenum value to the/response property for the response status - warning
added the new
too_many_recipientsenum value to the/response property for the response status - warning
added the new
too_many_recipientsenum value to the/response property for the response status - warning
added the new
unauthenticated_from_addressenum value to the/response property for the response status - warning
added the new
unauthenticated_from_addressenum value to the/response property for the response status - warning
added the new
unauthenticated_from_addressenum value to the/response property for the response status - warning
added the new
unprocessable_entityenum value to the/response property for the response status - warning
added the new
unprocessable_entityenum value to the/response property for the response status - warning
added the new
unprocessable_entityenum value to the/response property for the response status - warning
added the new
validation_errorenum value to the/response property for the response status - warning
added the new
validation_errorenum value to the/response property for the response status - warning
added the new
validation_errorenum value to the/response property for the response status - warning
added the new
webhook_not_foundenum value to the/response property for the response status - warning
added the new
webhook_not_foundenum value to the/response property for the response status - warning
added the new
webhook_not_foundenum value to the/response property for the response status
- warning