---
title: "Get send delivery statuses"
method: POST
path: "/campaigns/{campaignId}/sends/batch-get"
---

# Get send delivery statuses

`POST /campaigns/{campaignId}/sends/batch-get`

## Request

- Base URL: `https://api.hightouch.com/api/v1`
- URL: `https://api.hightouch.com/api/v1/campaigns/{campaignId}/sends/batch-get`
- Auth: HTTP bearer

Get the delivery status of up to 100 sends in a single request, using the
`sendId` values returned from the start endpoint. Prefer this over polling
the single-send endpoint once per `sendId`.

## Path parameters

- `campaignId` string, required

## Request body

- BatchSendStatusRequest: Request body for the batch send status endpoint.
  - `sendIds` string[], required: `sendId` values returned by the trigger endpoint.

## Response `200`

Ok

- BatchSendStatusResponse: Response body for the batch send status endpoint. Results are returned in the same order as the requested `sendIds`.
  - `results` BatchSendStatusResult[], required: Per-send outcomes, in request order.
    - `sendId` string, required: The `sendId` this result is for, echoed from the request.
    - `status` 'sent' | 'delivered' | 'bounced' | 'failed' | 'dropped' | 'not_found', required: Delivery status of a send. `not_found` means no send with this id exists on the campaign, including a send that has not been processed yet.
    - `reason` string: Readable explanation for why this send was dropped or failed. Present when `status` is `"dropped"` or `"failed"`.
    - `reasonCode` 'suppression_list' | 'role_based_address_suppression' | 'suspicious_domain_suppression' | 'frequency_cap' | 'quiet_hours' | 'missing_channel_data' | 'no_locale' | 'unsubscribed' | 'render_error' | 'other' | 'send_failed' | 'delivery_failed': Stable machine-readable reason a send was dropped or failed. Branch on this value; the wording of `reason` may change.
    - `updatedAt` string: ISO 8601 time the status last changed. Absent when `status` is `"not_found"`.

## Other responses

- `401`: Unauthorized
- `422`: Validation Failed
- `500`: Something went wrong

## Changes

- **2026-10-19** `86942b4179f7`: 6 warning, 2 info
  - added the new `bounced` enum value to the `results/items/status` response property for the response status `200`
  - added the new `delivered` enum value to the `results/items/status` response property for the response status `200`
  - added the new `dropped` enum value to the `results/items/status` response property for the response status `200`
  - added the new `failed` enum value to the `results/items/status` response property for the response status `200`
  - …4 more
- **2026-09-02** `b4879e30cd87`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hightouch/apis/hightouch-api/changes/campaigns/:campaignId/sends/batch-get/post.md)

---

[API](https://skmtc.dev/hightouch/apis/hightouch-api.md) - [All operations](https://skmtc.dev/hightouch/apis/hightouch-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hightouch/apis/hightouch-api/revisions/7f9793951e4f?raw)
