Get email status
Inspect a queued, processing, accepted, or failed request.
/api/v1/emails/{id} Use an active API key from the account that submitted the email. A job from another account returns 404.
Request
GET /api/v1/emails/{id}curl -X GET 'API_BASE_URL/api/v1/emails/JOB_ID' \
-H 'Authorization: Bearer API_KEY' \
-H 'Accept: application/vnd.api+json' Replace JOB_ID with the submission response’s id. Use the same Sendy origin and an active account API key. No request body is needed.
Response 200
{
"jsonapi": {
"version": "1.1"
},
"data": {
"type": "emails",
"id": "123",
"attributes": {
"from": "My App <[email protected]>",
"status": "accepted",
"attempts": 1,
"message_id": "example-message-id",
"last_error": null,
"delivery_status": null,
"delivery_at": null,
"delivery_detail": null
}
}
}id/from- The job ID and submitted sender.
status/attempts- Current job state and number of sending attempts.
message_id- The provider’s message ID after acceptance;
nullbefore acceptance. delivery_status- The latest delivery outcome:
delivered,delayed,bounced,complaint, orrejected.nullmeans no delivery event has been recorded. The sendingstatusremainsaccepted. delivery_at/delivery_detail- The delivery event time in Unix seconds and a readable explanation, or
null. Delivered means the receiving mail server accepted the message; it does not confirm inbox placement. Check again later for delays, bounces, or complaints. last_error- The latest sending error, or
null. A queued retry can retain its previous error.
Request specific fields
Add fields[emails] to request only the attributes you need. Resource type and id remain in the response. For example, poll the sending and delivery state with this query:
curl --get 'https://usesendy.com/api/v1/emails/JOB_ID' \
-H 'Authorization: Bearer API_KEY' \
-H 'Accept: application/vnd.api+json' \
--data-urlencode 'fields[emails]=status,delivery_status,delivery_at' Replace JOB_ID and API_KEY with your email ID and account key. An empty fieldset returns only the resource identity. Omitting it returns all public attributes. Field selection also works on submission responses and idempotent replays.
Public attributes are recipient, subject, created_at, from, status, delivery_status, delivery_at, delivery_detail, attempts, message_id, and last_error. Unknown attributes or unsupported resource types return 400.
Status values
queued- Waiting for its first attempt or an automatic retry.
processing- Sendy is attempting to send the message.
accepted- The sending provider accepted the message. This does not confirm inbox delivery.
failed- Sending stopped after a permanent failure or exhausted attempts.
Jobs remain available after completion. You can also inspect them in Emails.