---
title: "Delivery Report"
method: POST
path: "deliveryReport"
tags: ["Webhooks", "Delivery reports"]
---

# Delivery Report

`POST deliveryReport` (webhook)

A delivery report contains the status and status code for each recipient of a batch. To get a delivery report callback for a message or batch of messages, set the `delivery_report` field accordingly when [creating a batch](https://developers.sinch.com/docs/sms/api-reference/sms/batches/sendsms). 

The following is provided so you can better understand our webhooks/callbacks. Configuration of both webhooks and the type of delivery report requested happens when sending a batch.

#### Callback URL

The callback URL can either be provided for each batch or provisioned globally for your account in your [Sinch Customer Dashboard](https://dashboard.sinch.com/sms/api/rest). Learn how to configure a webhook/callback [here](https://community.sinch.com/t5/SMS/How-do-I-assign-a-callback-URL-to-an-SMS-service-plan/ta-p/8414). 

#### Type

The `type` is the type of delivery report webhook. The response will vary depending on the webhook delivery report you selected when the batch was sent, so choose the appropriate selection under "One of".

- The `delivery_report_sms` and `delivery_report_mms` types are documented under <b>Delivery report</b>. These are reports containing either [a full report or summary report](https://developers.sinch.com/docs/sms/api-reference/sms/batches/sendsms#batches/sendsms/t=request&path=&oneof=0/delivery_report), depending on your selection at the time the batch was sent.
- The `recipient_delivery_report_sms` and `recipient_delivery_report_mms` delivery report types are documented under <b>Recipient delivery report</b>. These are delivery reports for recipient phone numbers. If you set `per_recipient` for the `delivery_report` parameter when sending the batch, a recipient report gets sent to you for each status change for each recipient in your batch. If you set `per_recipient_final`, a recipient report gets sent to you for the final status of each recipient in your batch.

## Payload

- union
  - BatchDeliveryReport
    - `batch_id` string, required — The ID of the batch this delivery report belongs to.
    - `client_reference` string — The client identifier of the batch this delivery report belongs to, if set when submitting batch.
    - `statuses` MessageDeliveryStatus[], required — Array with status objects. Only status codes with at least one recipient will be listed.
      - `code` 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418, required — The delivery report status code provides a more detailed view of what happened with a message. The REST API error codes are a combination of [SMPP error codes](https://developers.sinch.com/docs/sms/smpp/error-codes/#status-reports-error-codes), [MMS error codes](https://developers.sinch.com/docs/mms/7-service/mms-status-codes/) and custom codes.
      - `count` integer, required — The number of messages that currently has this code.
      - `recipients` string[] — Only for `full` report. A list of the phone number recipients which messages has this status code.
      - `status` 'Queued' | 'Dispatched' | 'Aborted' | 'Cancelled' | 'Failed' | 'Delivered' | 'Expired' | 'Rejected' | 'Deleted' | 'Unknown', required — The simplified status as described in _Delivery Report Statuses_.
    - `total_message_count` integer, required — The total number of messages in the batch.
    - `type` 'delivery_report_sms' | 'delivery_report_mms', required — The delivery report type.
  - RecipientDeliveryReport
    - `applied_originator` string — The default originator used for the recipient this delivery report belongs to, if default originator pool configured and no originator set when submitting batch.
    - `at` string, date-time, required — A timestamp of when the Delivery Report was created in the Sinch service. Formatted as [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDThh:mm:ss.SSSZ`.
    - `batch_id` string, required — The ID of the batch this delivery report belongs to
    - `client_reference` string — The client identifier of the batch this delivery report belongs to, if set when submitting batch.
    - `code` 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418, required — The delivery report status code provides a more detailed view of what happened with a message. The REST API error codes are a combination of [SMPP error codes](https://developers.sinch.com/docs/sms/smpp/error-codes/#status-reports-error-codes), [MMS error codes](https://developers.sinch.com/docs/mms/7-service/mms-status-codes/) and custom codes.
    - `encoding` 'GSM' | 'UNICODE' — Applied encoding for message. Present only if smart encoding is enabled.
    - `number_of_message_parts` integer — The number of parts the message was split into. Present only if `max_number_of_message_parts` parameter was set.
    - `operator` string — The operator that was used for delivering the message to this recipient, if enabled on the account by Sinch.
    - `operator_status_at` string, date-time — A timestamp extracted from the Delivery Receipt from the originating SMSC. Formatted as [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDThh:mm:ss.SSSZ`.
    - `recipient` string, required — Phone number that was queried.
    - `status` 'Queued' | 'Dispatched' | 'Aborted' | 'Cancelled' | 'Failed' | 'Delivered' | 'Expired' | 'Rejected' | 'Deleted' | 'Unknown', required — The simplified status as described in _Delivery Report Statuses_.
    - `type` 'recipient_delivery_report_sms' | 'recipient_delivery_report_mms', required — The recipient delivery report type.

## Acknowledgement `200`

A `2xx` status code indicates that the data was received successfully.

## Other responses

- `400` — A `4xx` status counts as a permanent failure and will not trigger any retries, except for `429`.
- `429` — The callback will be retried and the callback throughput will be lowered.
- `500` — A `5xx` status code will trigger a retry.

---

[API](https://skmtc.net/sinch/apis/api-overview-sinch.md) · [All operations](https://skmtc.net/sinch/apis/api-overview-sinch/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sinch/api-overview-sinch/revisions/67cb925f1c81/schema)
