Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/nhs-england-communication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
version: 0.1.0
title: NHS App Communication API
description: "## Overview\nUse this API to engage with users of the [NHS App](https://www.nhs.uk/using-the-nhs/nhs-services/the-nhs-app/). The NHS App is a simple and secure way for patients registered with a GP surgery in England to access a range of services on their smartphone, tablet or computer web browser.\n\nYou can:\n* send in-app messages to specific users of the NHS App\n* include keyword replies to in-app messages\n* include free text replies to in-app messages\n* send native Apple or Android push notifications to mobile devices registered by specific users of the NHS App\n\n## Who can use this API\nTo use this API, you must [integrate with the NHS App](https://digital.nhs.uk/services/nhs-app/partners-and-developers/integrate-with-the-nhs-app).\n\n[Contact us](mailto:app.onboarding@nhs.net) before you begin any development work with this API, even if your service is already integrated.\n\n## API status and roadmap\nThis API is [in production, beta](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#statuses).\n\nTo see our roadmap, or to suggest, comment or vote on features for this API, see our [interactive product backlog](https://nhs-digital-api-management.featureupvote.com/?order=popular&filter=allexceptdone&tag=nhs-app-api).\n\nIf you would like to be involved in our beta programme or have any other queries, [contact us](https://digital.nhs.uk/developer/help-and-support).\n\n## Service level\nThis API is a silver plus service, meaning it is operational 24 hours a day, 365 days a year but only supported during business hours (8am to 6pm), Monday to Friday excluding bank holidays. However, we respond to severity 1 and severity 2 incidents outside of business hours.\n\nFor more details, see [service levels](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#service-levels).\n\n## Technology\nThis API is [RESTful](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#basic-rest).\n\nIt conforms to the [FHIR](https://digital.nhs.uk/developer/guides-and-documentation/our-api-technologies#fhir) global standard for health care data exchange, specifically to [FHIR R4 (v4.0.1)](https://hl7.org/fhir/r4/), except that it does not support the [capabilities](http://hl7.org/fhir/R4/http.html#capabilities) interaction.\n\nIt includes some country-specific FHIR extensions, which conform to [FHIR UK Core](https://digital.nhs.uk/services/fhir-uk-core), specifically [fhir.r4.ukcore.stu1 0.5.1](https://simplifier.net/packages/fhir.r4.ukcore.stu1/0.5.1).\n\n### Specific rules for FHIR APIs\nFHIR APIs are RESTful APIs that follow specific rules. In particular:\n\n- resource names are capitalised and singular, for example `/CommunicationRequest` not `/communicationRequests`\n\n- array names are singular, for example `recipient` not `recipients` for communication recipients\n\n- data items that are country-specific and thus not included in the FHIR global base resources are usually wrapped in an `extension` object\n\nThere are [libraries and SDKs available](https://digital.nhs.uk/developer/guides-and-documentation/api-technologies-at-nhs-digital#fhir-libraries-and-sdks) to help with FHIR integration.\n\n## Network access\nThis API is available on the internet, and, indirectly, on the [Health and Social Care Network (HSCN)](https://digital.nhs.uk/services/health-and-social-care-network).\n\nFor more details see [Network access for APIs](https://digital.nhs.uk/developer/guides-and-documentation/network-access-for-apis).\n\n## Security and authorisation\nThis API is [application-restricted](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation#application-restricted-apis),\nmeaning we authenticate the calling application but not the end user. In particular, the two FHIR `CommunicationRequest` endpoints use signed JWT authentication - you authenticate your application by sending a signed JSON web token (JWT) to our OAuth 2.0 authorisation server. For more details see [Application-restricted RESTful APIs - signed JWT authentication](https://digital.nhs.uk/developer/guides-and-documentation/security-and-authorisation/application-restricted-restful-apis-signed-jwt-authentication).\n\nAfter following these steps to create an application and register the public key, the App ID should be provided to the [NHS App onboarding team](mailto:app.onboarding@nhs.net) to grant your application permissions to the features that are appropriate to your use cases. If this step is not completed, all calls to this API will return responses with status code 403 Forbidden.\n\n## Environments and testing\n| API Environment | NHS Login Environment | Base URL |\n| -------------------- | --------------------- | ----------------------------------------------- |\n| Development | Sandpit | `https://dep.api.service.nhs.uk/nhs-app-dep/` |\n| Integration Testing | Integration (AOS) | `https://int.api.service.nhs.uk/nhs-app/` |\n| Production | Production | `https://api.service.nhs.uk/nhs-app/` |\n\n### Development\nOur development environment:\n* includes authorisation\n* is for initial development and [integration testing](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing)\n* points to the [Onboarding Sandpit NHS App environment](https://www-onboardingsandpit.nhsapp.service.nhs.uk/), which in turn is using the NHS Login Sandpit environment\n* has a [rate limit](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#rate-limits) of 20 requests per second per application\n\nWe have created a [Postman collection](https://github.com/NHSDigital/nhs-app-api/tree/master/postman) during internal development and testing of the API, which you may find useful when working with this environment.\n\nDevelopers working with C# may also be interested in [the integration tests](https://github.com/NHSDigital/nhs-app-api/tree/master/tests) that we have developed for the API, which make use of the [fire.ly .NET SDK](https://fire.ly/products/firely-net-sdk/). \n\n### Integration testing\nOur [integration test environment](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing):\n* includes authorisation\n* is for formal release testing and assurance when onboarding with NHS Login\n* points to the [Onboarding AOS NHS App environment](https://www-onboardingaos.nhsapp.service.nhs.uk/), which in turn is using the NHS Login Integration (AOS) environment\n* has a [rate limit](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#rate-limits) of 20 requests per second per application\n\nFor more details see [integration testing with our RESTful APIs](https://digital.nhs.uk/developer/guides-and-documentation/testing#integration-testing-with-our-restful-apis).\n\n### Production\nNHS England will work with you to define an appropriate [rate limit](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#rate-limits) for your channel in our production environment, based on the anticipated traffic from your service. \n\n## Onboarding\nYou need to get your product or service approved by us before you can use this API. We call this onboarding. The onboarding process can sometimes be quite long, so it’s worth planning well ahead.\n\nTo understand how our online digital onboarding process works, see [digital onboarding](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding).\n\n<div class=\"nhsd-m-emphasis-box nhsd-m-emphasis-box--emphasis nhsd-!t-margin-bottom-6\" aria-label=\"Highlighted Information\">\n <div class=\"nhsd-a-box nhsd-a-box--border-blue\">\n <div class=\"nhsd-m-emphasis-box__image-box\">\n <figure class=\"nhsd-a-image\">\n <picture class=\"nhsd-a-image__picture\">\n <img src=\"http://digital.nhs.uk/binaries/content/gallery/icons/play-circle.svg?colour=231f20\" alt=\"\" style=\"object-fit:fill\">\n </picture>\n </figure>\n </div>\n <div class=\"nhsd-m-emphasis-box__content-box\">\n <div data-uipath=\"website.contentblock.emphasis.content\" class=\"nhsd-t-word-break\"><p class=\"nhsd-t-body\">To get started, sign in or create a <a href=\"https://onboarding.prod.api.platform.nhs.uk/\">developer account</a>, then select 'product onboarding'.</p></div> \n </div>\n </div>\n</div> \n\n### Services not yet integrated\nIf your service is not yet integrated with the NHS App, you will need to follow our [step by step process](https://digital.nhs.uk/services/nhs-app/partners-and-developers/integrate-with-the-nhs-app) to onboard with us.\n### Integrated services\nIf your service is already integrated, and you now want to add notifications and messaging to your integration, you will need to take some extra steps before you can use this API. [Explore notifications and messaging in the NHS App](https://digital.nhs.uk/services/nhs-app/partners-and-developers/integrate-with-the-nhs-app/explore-notifications-and-messaging) for guidelines and restrictions, and the documents you will need to complete.\n\nTo onboard for this API, please get in touch with the NHS App onboarding team at [app.onboarding@nhs.net](mailto:app.onboarding@nhs.net).\n\n## Real-Time Receipts\nWe provide our onboarded suppliers with the capability to instantly receive the status of their sent communications in real-time. This is achieved by delivering individual Task resources directly to the endpoint that suppliers have designated for this purpose. This feature, aptly named 'Real-Time Receipts,' ensures swift and immediate updates on the outcome of their interactions.\n\nWe 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 suppliers should create to subscribe to realtime receipts.\n\nSteps to setup real-time receipts\n\n* The NHS App team initiates the creation of a certificate for MTLS (Mutual Transport Layer Security) authentication. They will send the Certificate Signing Request (CSR) to the Supplier for signing and return\n* The Supplier is responsible for configuring and sharing the callback endpoint with the NHS App team, which will manage the RTR (Real-Time Receipts) callback requests\n* Upon receiving the signed certificate and endpoint url, the NHS App team will install it and incorporate the callback endpoint into the Supplier's App configuration\n\n## Errors\nWe use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:\n\n* 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action\n* 400 to 499 if it failed because of a client error by your application\n* 500 to 599 if it failed because of an error on our server\n\nErrors specific to each API are shown in the Endpoints section, under Response. See our [reference guide](https://digital.nhs.uk/developer/guides-and-documentation/reference-guide#http-status-codes) for more on errors.\n"
contact:
name: NHS App API Support
url: https://digital.nhs.uk/developer/help-and-support
email: app.onboarding@nhs.net
servers:
- url: https://dep.api.service.nhs.uk/nhs-app-dep
description: Development environment.
- url: https://int.api.service.nhs.uk/nhs-app
description: Integration test environment.
- url: https://api.service.nhs.uk/nhs-app
description: Production environment.
tags:
- name: communication
paths:
/communication/in-app/FHIR/R4/CommunicationRequest:
parameters:
- $ref: '#/components/parameters/BearerAuthorization'
- $ref: '#/components/parameters/CorrelationId'
post:
summary: Send an in-app message
operationId: create-in-app
description: '## Overview
Use this endpoint to send an in-app message followed by an associated native Apple or Android push notification to a single NHS App user.
Push notifications will not be sent to users between the hours of 10pm and 6am UK time. If a valid request to send an in-app message with an associated push notification is processed between these hours, the in-app message will be delivered immediately, and the push notification will be scheduled for delivery at 6am.
Recipients are specified by NHS number. A single request to this endpoint can send a message and push notification to a single NHS App user.
In-app messages and push notifications will only be sent to users who have had their identity verified to ''high'' (P9) level.
If a recipient is an active NHS App user but has not registered a device to receive native push notifications, they will still receive the in-app message.
This endpoint allows you to specify the content that will appear in the in-app message. It does not allow you to specify the content that will appear in the associated push notification. By default, the content of the associated push notification will read "NHS App. You have a new message." To discuss changing this standard push notification content for your application, [contact the NHS App team](mailto:app.onboarding@nhs.net).
When a recipient taps the native notification, the NHS App will open on the in-app messaging inbox page.
We support a subset of [Markdown](https://en.wikipedia.org/wiki/Markdown) for describing the body text of in-app messages. For details of the subset see the ''payload'' property of the schema. Note that HTML encoded characters will be decoded on displaying them in the NHS App to the user. The length of each in-app message is limited to 5000 characters, including any markdown characters and embedded hyperlinks.
The body of requests made to this endpoint are instances of [HL7 FHIR R4 CommunicationRequest](https://www.hl7.org/fhir/communicationrequest.html) resources. This schema documentation describes which fields on that resource we require and support. The API is tolerant of (but will silently ignore) any additionally supplied optional fields. For example, we do not currently honour the [doNotPerform](https://www.hl7.org/fhir/communicationrequest-definitions.html#CommunicationRequest.doNotPerform) or [priority](https://www.hl7.org/fhir/communicationrequest-definitions.html#CommunicationRequest.priority) fields.
The outcome of communication requests can be determined using the [daily receipt report endpoint](#api-Communication-get-receipt-report). You may also create an endpoint into which NHS App can post the outcome of individual communication requests in realtime — we call this feature "realtime receipts". We have created [an Open API 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. Similarly, you can subscribe to the realtime replies responses to the same or different endpoint, we have created an [Open API specification](https://github.com/NHSDigital/nhs-app-api/tree/master/specifications-callbacks/realtime-replies) detailing the format/behaviour of the response that will be posted.
'
requestBody:
required: true
content:
application/json:
schema:
$ref: components/schemas/requests/communication/communication-in-app-request.yaml
examples:
app-message:
summary: Sending an in-app message
value:
$ref: components/examples/requests/communication/in-app.json
app-message-with-keyword-reply:
summary: Sending an in-app message with keyword reply
value:
$ref: components/examples/requests/communication/in-app-with-keyword-reply.json
app-message-with-free-text-reply:
summary: Sending an in-app message with free text replies
value:
$ref: components/examples/requests/communication/in-app-with-free-text-reply.json
tags:
- communication
responses:
'201':
description: Request successfully received by the server and queued for sending to recipient.
headers:
Location:
schema:
type: string
description: The location of the newly-created resource.
example: https://int.api.service.nhs.uk/nhs-app/communication/a2d10720-9e72-4ae4-be72-8cbe1be292d1
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/responses/communication/communication-in-app-response.yaml
examples:
in-app:
summary: In app message response without keyword reply
value:
$ref: components/examples/responses/communication/201successInApp.json
in-app-with-keyword-reply:
summary: In app message response with keyword reply
value:
$ref: components/examples/responses/communication/201successInAppWithKeywordReply.json
in-app-with-free-text-reply:
summary: In app message response with free text reply
value:
$ref: components/examples/responses/communication/201successInAppWithFreeTextReply.json
'400':
description: There is an error in your request.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
examples:
invalid-resourcetype:
summary: Invalid resource type
value:
$ref: components/examples/responses/communication/400invalidResourceType.json
body-too-long:
summary: Payload body text exceeds maximum length
value:
$ref: components/examples/responses/communication/400contentStringTooLong.json
no-recipients:
summary: No recipient has been specified
value:
$ref: components/examples/responses/communication/400noRecipients.json
invalid-recipient:
summary: A recipient has an invalid NHS number
value:
$ref: components/examples/responses/communication/400invalidNhsNumber.json
exceed-recipient:
summary: Too many recipients have been specified
value:
$ref: components/examples/responses/communication/400tooManyRecipients.json
no-recipient-and-campaign-id-too-long:
summary: Multiple issues - no recipient has been specified and campaign ID exceeds maximum length
value:
$ref: components/examples/responses/communication/400multipleIssues.json
invalid-requester:
summary: The requester has an invalid identifier
value:
$ref: components/examples/responses/communication/400InvalidRequester.json
invalid-contained-resource-type:
summary: The contained resource type of keyword reply is invalid
value:
$ref: components/examples/responses/communication/400invalidContainedResourceType.json
invalid-contained-item-type:
summary: The contained item type of keyword or free text reply is invalid
value:
$ref: components/examples/responses/communication/400invalidContainedItemType.json
invalid-contained-answer-options:
summary: The contained answer options length of keyword reply is invalid
value:
$ref: components/examples/responses/communication/400invalidContainedAnswerOptionLength.json
'401':
description: Authorisation issue, for example a missing or expired bearer token.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
examples:
invalid-access-token:
summary: Invalid Access Token
value:
$ref: components/examples/responses/communication/401invalidAccessToken.json
expired-access-token:
summary: Expired Access Token
value:
$ref: components/examples/responses/communication/401ExpiredAccessToken.json
'403':
description: You are not authorised to perform this operation. For example, some onboarded client applications may be permitted to send Push Notifications but not In-app Messages, or vice versa.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
example:
$ref: components/examples/responses/communication/403permissionsMissingForAppMessage.json
'429':
description: 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.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
examples:
exceeded-quota-per-app:
summary: Your application has exceeded its quota
value:
$ref: components/examples/responses/communication/429throttled-quotaperapp.json
exceeded-spike-arrest:
summary: Your application has created a spike in traffic
value:
$ref: components/examples/responses/communication/429throttled-spikearrestperapp.json
exceeded-quota-per-proxy:
summary: API is receiving a high volume of requests
value:
$ref: components/examples/responses/communication/429throttled-quotaperproxy.json
/communication/notification/FHIR/R4/CommunicationRequest:
parameters:
- $ref: '#/components/parameters/BearerAuthorization'
- $ref: '#/components/parameters/CorrelationId'
post:
summary: Send a push notification
operationId: create-notification
description: "## Overview\nUse this endpoint to send a native Apple or Android push notifications to mobile devices registered by specific users of the NHS App.\n\nPush notifications will not be sent to users between the hours of 10pm and 6am UK time. If a valid request to send a push notification is processed between these hours, the push notification will be scheduled for delivery at 6am.\n\nRecipients are specified by NHS number. A single request to this endpoint can send a push notification to a single NHS number.\nPush notifications will only be sent to users who have had their identity verified to 'high' (P9) level.\n\nThe body text of notifications can be up to 200 characters in length.\n\nThey must not contain:\n * personally identifiable information (for example, the name of a user’s doctor)\n * sensitive information (for example, details about a health condition)\n * links to external websites\n\nYou can also optionally specify a URL for a page within the NHS App to be opened when the recipient taps on the push notification. If a URL is not specified, the NHS App will open on the home page.\n\nThe body of requests made to this endpoint are instances of [HL7 FHIR R4 CommunicationRequest](https://www.hl7.org/fhir/communicationrequest.html) resources. This schema documentation describes which fields on that resource we require and support. The API is tolerant of (but will silently ignore) any additionally supplied optional fields. For example, we do not currently honour the [doNotPerform](https://www.hl7.org/fhir/communicationrequest-definitions.html#CommunicationRequest.doNotPerform) or [priority](https://www.hl7.org/fhir/communicationrequest-definitions.html#CommunicationRequest.priority) fields.\n\nThe outcome of communication requests can be determined using the [daily receipt report endpoint](#api-Communication-get-receipt-report). You may also create an endpoint into which NHS App can post the outcome of individual communication requests in realtime — we call this feature \"realtime 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.\n"
requestBody:
required: true
content:
application/fhir+json:
examples:
push-notification:
summary: Sending a push notification
value:
$ref: components/examples/requests/communication/notification.json
schema:
$ref: components/schemas/requests/communication/communication-push-notifications-request.yaml
tags:
- communication
responses:
'201':
description: Request successfully received by the server and queued for sending to recipient.
headers:
Location:
schema:
type: string
description: The location of the newly-created resource.
example: https://int.api.service.nhs.uk/nhs-app/communication/a2d10720-9e72-4ae4-be72-8cbe1be292d1
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/responses/communication/communication-push-notifications-response.yaml
example:
$ref: components/examples/responses/communication/201successNotification.json
'400':
description: There is an error in your request.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
examples:
invalid-resourcetype:
summary: Invalid resource type
value:
$ref: components/examples/responses/communication/400invalidResourceType.json
body-too-long:
summary: Payload body text exceeds maximum length
value:
$ref: components/examples/responses/communication/400contentReferenceDisplayTooLong.json
no-recipients:
summary: No recipient has been specified
value:
$ref: components/examples/responses/communication/400noRecipients.json
invalid-recipient:
summary: A recipient has an invalid NHS number
value:
$ref: components/examples/responses/communication/400invalidNhsNumber.json
exceed-recipient:
summary: Too many recipients have been specified
value:
$ref: components/examples/responses/communication/400tooManyRecipients.json
no-recipient-and-campaign-id-too-long:
summary: Multiple issues - no recipient has been specified and campaign ID exceeds maximum length
value:
$ref: components/examples/responses/communication/400multipleIssues.json
'401':
description: Authorisation issue, for example a missing or expired bearer token.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
examples:
invalid-access-token:
summary: Invalid Access Token
value:
$ref: components/examples/responses/communication/401invalidAccessToken.json
expired-access-token:
summary: Expired Access Token
value:
$ref: components/examples/responses/communication/401ExpiredAccessToken.json
'403':
description: You are not authorised to perform this operation. For example, some onboarded client applications may be permitted to send Push Notifications but not In-app Messages, or vice versa.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
example:
$ref: components/examples/responses/communication/403permissionsMissingForPushNotification.json
'429':
description: 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.
headers:
X-Correlation-ID:
$ref: components/schemas/XCorrelationId.yaml
content:
application/fhir+json:
schema:
$ref: components/schemas/OperationOutcome.yaml
examples:
exceeded-quota-per-app:
summary: Your application has exceeded its quota
value:
$ref: components/examples/responses/communication/429throttled-quotaperapp.json
exceeded-spike-arrest:
summary: Your application has created a spike in traffic
value:
$ref: components/examples/responses/communication/429throttled-spikearrestperapp.json
exceeded-quota-per-proxy:
summary: API is receiving a high volume of requests
value:
$ref: components/examples/responses/communication/429throttled-quotaperproxy.json
/communication/report/receipts/FHIR/R4/Task:
parameters:
- $ref: '#/components/parameters/BearerAuthorization'
- $ref: '#/components/parameters/CorrelationId'
get:
summary: Get a daily receipt report
operationId: get-receipt-report
description: '## 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).
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nhs-england/refs/heads/main/openapi/nhs-england-communication-api-openapi.yml