You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use this API to securely transfer healthcare data between organisations using the Message Exchange for Social Care and Health (MESH). You interact with MESH via a virtual mailbox, only accessible to your organisation, by making calls to this API from your application.
8
+
You interact with MESH by making calls to this API from your application.
9
9
10
10
With the API, you can:
11
11
12
12
- check the number of messages in your inbox
13
-
- get the messageIds of messages in your inbox that are ready for download
13
+
- send a message, or a larger message as series of chunks
14
14
- download a message, or a larger message which was sent to you as a series of chunks
15
15
- acknowledge the successful download of a message, which removes it from your inbox
16
-
- look up the mailbox of an organisation you want to send data to
17
-
- send a message, or a larger message as series of chunks
16
+
- get the messageIds of messages in your inbox that are ready for download
18
17
- track the status of messages that you sent from your outbox
18
+
- look up the mailbox of an organisation you want to send data to
19
19
- validate your mailbox every 24 hours to let Spine know it's still active
20
20
21
-
This API can only be used where there is a legal basis to do so.
22
-
23
-
The onboarding process for the API is longer than other MESH options. This is because we need to know that the product you’re developing meets our security standards. The length of time it takes to onboard is heavily dependent on the resources your organisation puts into the process in developing your software and completing the application form. Expect the process to take a month or more.
24
-
25
-
### Get started
21
+
## Who can use this API
26
22
27
-
You will need:
28
-
- a developer account to access the digital onboarding service
29
-
- a MESH mailbox (with a unique ID and password)
30
-
- a client Transport Layer Security (TLS) certificate
31
-
- an environment shared secret to include it within the [MESH authorization header](#api-description__mesh-authorization-header)
23
+
This API can only be used where there is a legal basis to do so. We’ll ask you to demonstrate this as part of the digital onboarding process before your software goes live.
32
24
33
-
We will provide these at different stages of your onboarding process.
25
+
## Requirements for using this API
26
+
There are 2 parts to getting the MESH API, these are:
27
+
28
+
1. developing and integrating your software
29
+
2. getting your software approved to go live
34
30
35
-
## Onboarding
36
-
You need to get your software approved by us before it can go live with this API. This assurance process is managed by the [digital onboarding service](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding). The steps below outline the full onboarding journey.
31
+
### 1. Developing and integrating your software
37
32
38
-
### 1. Create a developer account
33
+
You’ll need some things at different stages of your development to integrate with the MESH API.
34
+
For each environment you use, you'll need a:
35
+
- MESH mailbox ID and password
36
+
- Transport Layer Security (TLS) certificate
37
+
- shared secret to include in the MESH authorization header
38
+
39
+
### 2. Getting your software approved to go live
40
+
41
+
This is also called digital onboarding. You’ll need to submit information that demonstrates:
42
+
- you have a valid use case
43
+
- you can manage risks
44
+
- your software conforms technically with the requirements for this API
39
45
40
-
You will need to create a developer account to access the [digital onboarding service](https://digital.nhs.uk/developer/guides-and-documentation/digital-onboarding) where you will start and manage your MESH API application.
46
+
## End-to-end process to integrate with MESH API
41
47
42
-
Make sure no one else in your organisation has started a MESH API application, as we cannot merge the applications.
48
+
The length of time it takes to get your software live depends on the resources your organisation puts into:
49
+
- developing your software
50
+
- getting things you need for your integration like TLS certificates
51
+
- completing onboarding processes and waiting for approval
52
+
53
+
You can do some things while you wait, but expect the end-to-end integration process to take 1 month or more.
43
54
44
-
[Sign in or create a developer account](https://onboarding.prod.api.platform.nhs.uk)
55
+
### Get started
56
+
57
+
To get started, sign in or create a developer account for digital onboarding, complete the 'Setup and eligibility' section and submit it.
45
58
46
-
### 2. Start your MESH application
59
+
If you’re new to digital onboarding, add your product and select ‘MESH’ from the ‘APIs to be used’ list.
60
+
Submitting this information shows us that you have a legal basis to use the MESH API. We’ll review the information you submit and respond within 5 to 10 working days.
47
61
48
-
Once you’ve activated your developer account and logged into it for the first time, you’ll need to:
49
-
- tell us your organisation name
50
-
- tell us the name of your product
51
-
- select MESH from the ‘APIs to be used’ list
62
+
If we approve your request to use the MESH API, we’ll also email you a supplier pack within 10 working days. Read through this as it contains the testing requirements you’ll need to fulfil later on.
52
63
53
-
### 3. Tell us how you’ll use the MESH API
54
-
You must show you have an appropriate reason to use the MESH API. You do this by completing and submitting the ‘Setup and eligibility section’ of your developer account which will be reviewed by a member of our team.
64
+
You should get your use case approved before you go too far with development. You can choose to proceed with your integration while you wait for approval, but you’ll be doing this at your own risk.
65
+
66
+
[Sign in or create a developer account for digital onboarding](https://onboarding.prod.api.platform.nhs.uk)
67
+
55
68
56
69
You will receive a response within 10 working days.
57
70
58
71
If you have been approved to use the MESH API, our assurance team will contact you via email with a supplier pack containing the testing requirements you will need to fulfill. You will work alongside this team to get your solution assured.
59
72
60
-
### 4. Get your mailbox for the Path to live - integration environment
61
-
62
-
Once we have approved your request, apply for a MESH mailbox to be used in a Path to live - integration environment.
73
+
### Request a mailbox
63
74
64
-
You interact with MESH via a virtual mailbox by making calls to this API from your software. Your MESH mailbox can only be accessed by your organisation.
75
+
Once we’ve approved your request to use the MESH API, you’ll need to request a MESH Mailbox to use in a 'Path to Live integration environment'. This is how you’ll interact with the MESH API. A MESH Mailbox is secure and only your organisation can access it.
65
76
66
-
Messages must have a:
67
-
- sender mailbox ID
68
-
- receiver mailbox ID
69
-
- workflow ID
77
+
To request a MESH Mailbox, you’ll need to fill in an online form. It takes 5 to 10 minutes to complete.
70
78
71
-
The workflow ID identifies what type of data the message contains, so the receiving organisation knows how to process it. For example, the receiver might process X-ray image data differently from blood test results.
79
+
You’ll need to know:
80
+
- your [ODS code](https://odsportal.digital.nhs.uk/)
81
+
- the [workflow groups or IDs](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/workflow-groups-and-workflow-ids) for the files you plan to send or receive
82
+
- the contact details of the person who will be managing the mailbox in your organisation
83
+
84
+
[Request a 'Path to Live integration' MESH Mailbox](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/messaging-exchange-for-social-care-and-health-apply-for-a-mailbox)
85
+
86
+
### Receive your credentials for the ‘Path to Live integration’ environment
72
87
73
-
To apply for a MESH mailbox, you need to provide information about:
74
-
- your organisation
75
-
- the people responsible for managing your MESH mailbox
76
-
- the [workflow groups and IDs](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/workflow-groups-and-workflow-ids) associated with the messages you're sending
88
+
Once you’ve requested a MESH Mailbox, we’ll send you an email containing your Mailbox ID and password within 5 working days. Keep these details safe as we’ll also ask you for this if you need help from our support teams.
77
89
78
-
[Apply for a MESH mailbox](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/messaging-exchange-for-social-care-and-health-apply-for-a-mailbox)
90
+
You will also receive the shared secret. You’ll need to include this in the [MESH authorization header](https://digital.nhs.uk/developer/api-catalogue/message-exchange-for-social-care-and-health-api#api-description__mesh-authorization-header) when you develop this part of your software.
91
+
92
+
### Get a TLS certificate
79
93
80
-
### 5. Receive your credentials for the Path to live - integration environment
94
+
You’ll need a TLS certificate to establish a secure connection to MESH.
95
+
96
+
How to get a TLS certificate
97
+
98
+
1. Generate a private key using your preferred method, with the naming convention cn=mailboxid.odscode.api.mesh-client.nhs.uk
99
+
2. Generate a certificate signing request (CSR) based on the private key and your Mailbox ID.
100
+
3. Email the CSR to [itoc.supportdesk@nhs.net](mailto:itoc.supportdesk@nhs.net) - this needs to contain the common name from your CSR 'Subject' using the format local_id.ods_code.api.mesh-client.nhs.uk
81
101
82
-
Once you have applied, we will email you your mailbox ID and password. Keep this safe as they will be required to access your MESH mailbox. We’ll ask you for this if you need help from our support teams.
102
+
The local_id is a local identifier such as a server name and ods_code is your ODS code, for example, SERVER001.X26.api.mesh-client.nhs.uk.
83
103
84
-
You will receive the shared secret. You’ll need to include this in the [MESH authorization header](#api-description__mesh-authorization-header) when you develop this part of your software.
104
+
Once we receive your CSR, we’ll send you a TLS certificate within 5 working days.
85
105
86
-
### 6. Get a Transport Layer Security (TLS) certificate
106
+
Depending on how you implement MESH API, you may also need to [download a RootCA and SubCA certificate](https://digital.nhs.uk/services/path-to-live-environments/integration-environment#rootca-and-subca-certificates). These are also required to establish a secure connection.
87
107
88
-
The MESH API requires a certificate to connect to the MESH server to send and receive messages. This ensures communication is safe and secure.
108
+
### Develop and test your software
109
+
110
+
Now that you have a MESH Mailbox for a 'Path to Live integration' environment and a TLS certificate, start developing your software using the MESH API.
111
+
112
+
When you’re ready to go live, you’ll need to:
113
+
- request a TLS certificate for the production environment
114
+
- request a MESH mailbox for the production environment
115
+
- get a conformance certificate
116
+
- sign a connection agreement
117
+
118
+
### Submit non-functional requirements
119
+
120
+
Once you've developed your software, you'll need to answer some questions in digital onboarding about the processes you use for:
121
+
- handling data securely
122
+
- managing clinical risk
123
+
- using our production environment
124
+
125
+
This shows that your software meets our non-functional requirements.
126
+
127
+
[Sign into digital onboarding to answer questions on 'non-functional'requirements](https://identity.prod.api.platform.nhs.uk/auth/realms/developer-identity/login-actions/authenticate?client_id=digital-onboarding-service&tab_id=YTe9EqJeUCc)
89
128
90
-
[Find out how to get a certificate](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/mesh-guidance-hub/certificate-guidance)
129
+
### Demonstrate technical conformance
91
130
92
-
### 7. Develop and test your software with the MESH API
131
+
Before you can go live, in digital onboarding, you’ll need to:
132
+
- answer some questions to show you conform to the technical requirements of our APIs
133
+
- upload a conformance certificate
93
134
94
-
Now that you have a MESH mailbox for a path to live - integration environment, start developing your software using the MESH API.
135
+
To get a technical conformance certificate, you’ll need to complete the testing requirements in the supplier pack we sent to you.
95
136
96
-
### 8. Get a technical conformance certificate
137
+
Some of these tests have to be witnessed by us. To arrange a witness test, reply to the email that contains the supplier pack. The witness testing takes 2 to 3 hours.
97
138
98
-
A technical conformance certificate is proof that your software has been developed to our standards.
139
+
In some cases, we may ask you to prepare test data a few days before the day of the witness testing.
99
140
100
-
To get a conformance certificate, you will need to:
101
-
- show that your software meets non-functional requirements
102
-
- show that your software meets technical conformation
103
-
- complete a witness test
141
+
When you’ve completed a witness test, we’ll email a technical conformance certificate to you within 5 working days. You can then upload it to digital onboarding.
142
+
143
+
[Sign into digital onboarding to upload a technical conformance certificate](https://identity.prod.api.platform.nhs.uk/auth/realms/developer-identity/login-actions/authenticate?client_id=digital-onboarding-service&tab_id=vYrgcflr9fs)
104
144
105
-
In the Digital Onboarding Service there are specific sections to be completed to show your solution meets our non-functional requirements and technical conformance.
145
+
### Get a MESH Mailbox for your live software
106
146
107
-
You will need to organise a date with the assurance team for the witness testing to take place. The witness testing should take half a day. In some cases you will be asked to prepare test data a few days before the day of the witness testing.
147
+
When you’re ready to send or receive real data, you’ll need a MESH Mailbox in the production environment. We’ll ask to see the conformance certificate for your software before we issue this.
108
148
109
-
Once the witness test is complete, you will be issued with a technical conformance certificate.
149
+
MESH Mailboxes are specific to environments, this means you’ll need a different MESH Mailbox ID for each environment you use.
110
150
111
-
[Sign in to the digital onboarding service](https://onboarding.prod.api.platform.nhs.uk)
151
+
To request a MESH Mailbox, you’ll need to fill in an online form. It takes 5 to 10 minutes to complete.
112
152
113
-
### 9. Sign connection agreement
153
+
You’ll need to know:
154
+
- your [ODS code](https://odsportal.digital.nhs.uk/)
155
+
- the [workflow groups or IDs](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/workflow-groups-and-workflow-ids) for the files you plan to send or receive
156
+
- the contact details of the person who will be managing the mailbox in your organisation
114
157
115
-
Now that we know that your software is safe and secure, you will need to sign a connection agreement.
158
+
[Request a ‘Live’ MESH Mailbox](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/messaging-exchange-for-social-care-and-health-apply-for-a-mailbox)
159
+
160
+
### Get a TLS certificate for the production environment
116
161
117
-
We will send you a customised connection agreement to sign.
162
+
Once you have a Mailbox ID, you’ll need to get a TLS certificate. This allows you to establish a secure connection to MESH in the production environment.
118
163
119
-
Once you’ve signed the connection agreement, you need to upload it to your developer account in the ‘Legal agreement’ section.
164
+
How to get a TLS certificate
165
+
1. Generate a private key using your preferred method, with the naming convention cn=mailboxid.odscode.api.mesh-client.nhs.uk
166
+
2. Generate a CSR based on the private key and your Mailbox ID
167
+
3. Email the CSR and technical conformance certificate to [ssd.nationalservicedesk@nhs.uk](mailto:ssd.nationalservicedesk@nhs.uk) - this needs to contain the common name from your CSR 'Subject' using the format local_id.ods_code.api.mesh-client.nhs.uk
120
168
121
-
[Sign in to the digital onboarding service](https://onboarding.prod.api.platform.nhs.uk)
169
+
The local_id is a local identifier such as a server name and ods_code is your ODS code, for example, SERVER001.X26.api.mesh-client.nhs.uk.
122
170
123
-
### 10. Get a mailbox for your live software
171
+
Once we receive your CSR and technical conformance certificate, we’ll send you a TLS certificate for the production environment within 5 working days.
124
172
125
-
When you’ve tested your software and need to send or receive real data, apply for a mailbox in the production environment.
173
+
Depending on how you implement MESH API, you may also need to [download a RootCA and SubCA certificate](https://digital.nhs.uk/services/path-to-live-environments/integration-environment#rootca-and-subca-certificates). These are also required to establish a secure connection.
126
174
127
-
[Apply for a MESH mailbox](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/messaging-exchange-for-social-care-and-health-apply-for-a-mailbox)
128
175
129
-
### 11. Get a Transport Layer Security (TLS) certificate for the production environment
176
+
### Sign connection agreement
130
177
131
-
You will now need to get a certificate to send and receive messages from a MESH mailbox in the production environment.
178
+
You’ll need to sign a connection agreement before your software can go live. Once you’ve signed it, you need to upload it to the ‘Legal agreement’ section in digital onboarding. We’ll email your connection agreement to you within 5 working days of completing your witness test.
132
179
133
-
[Find out how to get a certificate](https://digital.nhs.uk/services/message-exchange-for-social-care-and-health-mesh/mesh-guidance-hub/certificate-guidance)
180
+
[Sign into digital onboarding to upload your connection agreement](https://identity.prod.api.platform.nhs.uk/auth/realms/developer-identity/login-actions/authenticate?client_id=digital-onboarding-service&tab_id=p19cQckpJso)
134
181
135
-
### 12. Deploy
182
+
### Go live with your software
136
183
137
-
You have now completed onboarding and can use the MESH API with your software.
184
+
You have now completed all integration and onboarding steps. This means you can use the MESH API with your live software.
138
185
139
186
## Related APIs
140
187
A number of our APIs are messaging APIs that use MESH as the transport layer. For a full list, see [our API catalogue, filtered on MESH APIs](https://digital.nhs.uk/developer/api-catalogue?filter=mesh).
@@ -333,6 +380,12 @@ info:
333
380
### Message expiration
334
381
Messages that are not downloaded and acknowledged within five days of delivery are removed from your inbox. The sending organisation receives an error report explaining that the receiver did not collect the message. Uncollected messages are completely deleted from the MESH server 30 days after the initial delivery. If the sending organisation cannot re-send the message within the intervening time, it may contact the [NHS Digital national service desk](https://digital.nhs.uk/developer/help-and-support) with the error report details and ask for the message to be placed in your inbox again.
335
382
383
+
## Onboarding
384
+
385
+
You need to get your software approved by us before it can go live with this API. We call this onboarding. The onboarding process can sometimes be quite long, so it’s worth planning well ahead.
386
+
387
+
To get started with the MESH API you will need to create a developer account. This is where you can demonstrate that you can manage risks and that your software conforms technically with the requirements for this API. You can also manage onboarding for other APIs in your account.
388
+
336
389
## Errors
337
390
We use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:
0 commit comments