Look up deliveries
Read delivery status and the full attempt history for your account.
Every send is recorded. Use these endpoints to check what happened to a delivery, page through your history, and inspect each attempt.
Get one delivery
GET https://api.harepost.com/v1/deliveries/{queue_id}
Authorization: Bearer hp_live_YOUR_KEY
Returns the delivery and its full attempt history:
{
"queue_id": "hr_9f2a81k2",
"target": "https://your-app.com/webhook",
"method": "POST",
"status": "delivered",
"last_status": 200,
"idempotency_key": "ord_123-paid",
"created_at": "2026-06-10T14:22:10Z",
"updated_at": "2026-06-10T14:22:12Z",
"attempts": [
{
"attempt": 1,
"outcome": "delivered",
"http_status": 200,
"latency_ms": 84,
"error": null,
"created_at": "2026-06-10T14:22:12Z"
}
]
}
Here attempts is an array, one entry per delivery attempt, in order. A delivery you do not own returns 404.
List deliveries
GET https://api.harepost.com/v1/deliveries
Authorization: Bearer hp_live_YOUR_KEY
Returns your deliveries, newest first:
{
"data": [
{
"queue_id": "hr_9f2a81k2",
"target": "https://your-app.com/webhook",
"method": "POST",
"status": "delivered",
"attempts": 1,
"last_status": 200,
"idempotency_key": "ord_123-paid",
"created_at": "2026-06-10T14:22:10Z",
"updated_at": "2026-06-10T14:22:12Z"
}
],
"next_cursor": null
}
In the list, attempts is a count. In the single-delivery response above, attempts is the full array. The list gives you the shape of your traffic; fetch one delivery for its attempt detail.
Query parameters
| Parameter | Notes |
|---|---|
status | Filter by status: queued, delivered, retrying, rejected, or dead_letter. |
limit | Results per page, 1 to 100. Defaults to 25. |
cursor | Pass the next_cursor from the previous response to get the next page. |
Paging
When more results are available, next_cursor holds a value; when you have reached the end, it is null. Pass the cursor on the next request to continue:
curl "https://api.harepost.com/v1/deliveries?status=dead_letter&limit=50&cursor=2026-06-10T14:22:10Z" \
-H "Authorization: Bearer hp_live_YOUR_KEY"
Status codes
| Code | Meaning |
|---|---|
200 | Success. |
400 | Invalid status filter. |
401 | Missing or invalid API key. |
404 | The delivery does not exist or is not on your account. |