---
title: "Get a daily receipt report"
method: GET
path: "/communication/report/receipts/FHIR/R4/Task"
tags: ["communication"]
---

# Get a daily receipt report

`GET /communication/report/receipts/FHIR/R4/Task`

## Overview
Use this endpoint to get a daily report of receipts relating to in-app messages and push notifications that you have sent to NHS App users.

This report will include receipts detailing the outcome of an attempt to send each communication. For in-app messages, a receipt will also be included in this report if the recipient reads the message.

The following five types of receipt may be included in this response:

* `Rejected` – a request to send a communication was rejected. For example, this could happen if the NHS number of the intended recipient does not correspond to an NHS App user.
* `Delivered` – an in-app message has been successfully added to a user’s inbox.
* `NotificationAttempted` - a push notification request has been accepted by Apple Push Notification Service or Firebase Cloud Messaging. This doesn't confirm whether the user ends up receiving the push notification or not, just that the request coming from the NHS has been accepted (as opposed to rejected, in which case the supplier will receive the `Unnotified` receipt).
* `Notified` – a push notification has been displayed by at least one native device. For iOS, if the user has enabled a notifications schedule, then this receipt will only be sent once the scheduled time has been reached.
* `Unnotified` – it has been determined that a push notification has not been successfully relayed to any native devices.
* `Read` – a user has read an in-app message for the first time.

![Message Overview](https://github.com/NHSDigital/nhs-app-api/blob/master/specification/diagrams/Message_Workflow.png?raw=true)

A diagram of a finite state machine showing the transition between delivery states based on events occurring throughout the delivery process, such as successfully adding a message to a citizen’s inbox and displaying a notification on their mobile device.

In addition to this daily report endpoint, we also offer the ability for onboarded partners to receive these receipts in realtime by having us push individual Task resources to an endpoint that you make available to us for this purpose. We call this feature "real-time receipts". We have created [an OpenAPI specification](https://github.com/NHSDigital/nhs-app-api/tree/master/specifications-callbacks/realtime-receipts) detailing the behaviour of the endpoint that you should create to subscribe to realtime receipts.

## Pagination
To avoid returning excessively large response bodies, the results may be split across multiple pages. On retrieving the response for the first page of results, the `Link` header or `Link` array in the response body should be inspected to determine whether any additional pages of results exist. If so, these can be retrieved by making additional request(s) with the optional `page` parameter specified.

## Query parameters

- `day` string, date, required
- `page` integer

## Response `200`

Information successfully returned.

- object — A bundle resource containing tasks representing receipts relating to in-app messages and push notifications that you have previously sent to NHS App users.
  - `resourceType` 'Bundle', required
  - `type` 'searchset', required
  - `link` object[], required
    - `relation` 'self' | 'last' | 'next', required
    - `url` string, required
  - `entry` object[], required
    - `fullUrl` string, required
    - `resource` object, required — Details a single receipt relating to an in-app message or push notification that was previously sent to an NHS App user.
      - `id` string, required — ID to uniquely identify this receipt. Note that this is not the ID of the original communication request, which is included in the `identifiers` array.
      - `resourceType` 'Task', required
      - `intent` 'order', required
      - `identifier` object[] — An array of identifiers used to identify the original communication request that is referenced by this receipt. This array will always include a globally unique identifier for the communication request assigned by the API, with the system `https://fhir.nhs.uk/Id/nhs-app-communication-id`. Note that several receipts may be included for each communication ID – for example a single in-app message might generate a Delivered receipt and a Read receipt. It will include optional identifiers that were provided in the original communication request if the API recognised the identifier system name.
        - `system` string, uri — The namespace of the identifier value.
        - `value` string — The value of the identifier.
      - `status` 'rejected' | 'completed', required — This will be `rejected` for receipts conveying that a communication request has been rejected, and `completed` for the other receipt types.
      - `statusReason` string — For rejected receipts only, this property will contain an explanation of why the rejection occurred.
      - `code` object, required — Indication of the type of event that occurred.
        - `coding` object[], required
          - `system` 'https://fhir.nhs.uk/CodeSystem/NHSApp-Communication-Status', required
          - `code` 'Delivered' | 'Rejected' | 'Notified' | 'Unnotified' | 'Read', required
      - `authoredOn` string, date-time, required — The UTC datetime at which the original communication request was received.
      - `lastModified` string, date-time, required — The UTC datetime at which the event occurred. Note that this may be several days after the datetime at which the communication request was originally made (particularly for Read receipts).

## Other responses

- `400` — There is an error in your request.
- `401` — Authorisation issue, for example a missing or expired bearer token.
- `403` — You are not authorised to perform this operation. Some client applications may not be permitted to access the receipt report endpoint. To discuss granting your application access to this endpoint, [contact the NHS App team](mailto:app.onboarding@nhs.net).
- `429` — You have exceeded your application’s [rate limit](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#rate-limits) or the API is currently receiving a high volume of requests.

---

[API](https://skmtc.dev/nhs/apis/nhs-app-api.md) · [All operations](https://skmtc.dev/nhs/apis/nhs-app-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nhs/nhs-app-api/revisions/0afa2c6452b1/schema)
