---
title: "Get outbound SMS message delivery reports"
method: GET
path: "/sms/3/reports"
tags: ["channels", "sms", "logs-and-status-reports"]
---

# Get outbound SMS message delivery reports

`GET /sms/3/reports`

## Request

- Base URL: `https://api.infobip.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.infobip.com/sms/3/reports`
- Auth: one of:
  - OAuth 2
    - Client credentials
    - Token URL: `https://api.infobip.com/auth/1/oauth2/token`
  - API key in header `Authorization`
  - API key in header `Authorization`
  - HTTP basic

If you are unable to receive real-time message delivery reports towards your endpoint for various reasons, we offer you an API method to fetch batches of message reports to confirm whether specific messages have been delivered. Each request towards this endpoint returns batches of the latest message reports. The API returns each report only once. If the message status changes again after retrieval, the endpoint returns a new report for the updated status on the next request.

## Query parameters

- `bulkId` string
- `messageId` string
- `limit` integer
- `entityId` string
- `applicationId` string
- `campaignReferenceId` string

## Response `200`

OK

- 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630DeliveryReports
  - `results` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630DeliveryReport[]: Collection of reports, one per every message.
    - `bulkId` string: Unique ID assigned to the request if messaging multiple recipients or sending multiple messages via a single API request.
    - `price` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630MessagePrice: Sent message price.
      - `pricePerMessage` number: Price per one message.
      - `currency` string: The currency in which the price is expressed.
    - `status` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630MessageStatus: Indicates the [status](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) of the message and how to recover from an error should there be any.
      - `groupId` integer: Status group ID.
      - `groupName` 'ACCEPTED' | 'PENDING' | 'UNDELIVERABLE' | 'DELIVERED' | 'EXPIRED' | 'REJECTED': Status group name that describes which category the status code belongs to, i.e., [PENDING](https://www.infobip.com/docs/essentials/response-status-and-error-codes#pending-general-status-codes), [UNDELIVERABLE](https://www.infobip.com/docs/essentials/response-status-and-error-codes#undeliverable-general-status-codes), [DELIVERED](https://www.infobip.com/docs/essentials/response-status-and-error-codes#delivered-general-status-codes), [EXPIRED](https://www.infobip.com/docs/essentials/response-status-and-error-codes#expired-general-status-codes), [REJECTED](https://www.infobip.com/docs/essentials/response-status-and-error-codes#rejected-general-status-codes).
      - `id` integer: Status code ID.
      - `name` string: [Status code](https://www.infobip.com/docs/essentials/response-status-and-error-codes#api-status-codes) name.
      - `description` string: Human-readable description of the status.
      - `action` string: Action to take to recover from the error.
    - `error` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630MessageError: Indicates whether an [error](https://www.infobip.com/docs/essentials/response-status-and-error-codes#error-codes) occurred during the query execution.
      - `groupId` integer: Error group ID.
      - `groupName` 'OK' | 'HANDSET_ERRORS' | 'USER_ERRORS' | 'OPERATOR_ERRORS': Error group name that describes which category the error code belongs to.
      - `id` integer: Error ID.
      - `name` string: [Error name](https://www.infobip.com/docs/essentials/response-status-and-error-codes#error-codes).
      - `description` string: Human-readable description of the error.
      - `permanent` boolean: Indicates whether the error is recoverable or not.
    - `messageId` string: Unique message ID.
    - `to` string: Message destination address.
    - `sender` string: The sender ID which can be alphanumeric or numeric (e.g., `CompanyName`).
    - `sentAt` string, date-time: Date and time when the message was sent. Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
    - `doneAt` string, date-time: Date and time when the Infobip services finished processing the message (i.e., delivered to the destination, network, etc.). Has the following format: yyyy-MM-dd'T'HH:mm:ss.SSSZ.
    - `messageCount` integer: The number of sent messages.
    - `mccMnc` string: Mobile country and network codes.
    - `callbackData` string: Callback data sent through ‛callbackData‛ field when sending message.
    - `platform` 20085a4036d67f66ebf204560d55d58a7c131c15d42c8ed9442747c488e08630Platform: Platform options. For more details, see [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
      - `entityId` string: Used when specifying an entity in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
      - `applicationId` string: Used when specifying an application in outbound send requests. It is also returned in notification events. For detailed usage, refer to the [documentation](https://www.infobip.com/docs/cpaas-x/application-and-entity-management).
    - `campaignReferenceId` string: ID of a campaign that was sent in the message.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `500`: Internal Server Error

---

[API](https://skmtc.dev/infobip/apis/infobip-openapi-specification.md) - [All operations](https://skmtc.dev/infobip/apis/infobip-openapi-specification/llms.txt) - [OpenAPI document](https://skmtc.dev/infobip/apis/infobip-openapi-specification/revisions/9dcbbaf902de?raw)
