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
Copy file name to clipboardExpand all lines: specification/mesh-api.yaml
+57-39Lines changed: 57 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,14 @@ info:
13
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
-
- get the messageIds of messages in your inbox that are ready for download
16
+
- get the identifiers of messages in your inbox that are ready for download
17
17
- track the status of messages that you sent from your outbox
18
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
21
## Who can use this API
22
22
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.
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.
24
24
25
25
## Requirements for using this API
26
26
There are 2 parts to getting the MESH API, these are:
@@ -30,15 +30,15 @@ info:
30
30
31
31
### 1. Developing and integrating your software
32
32
33
-
You’ll need some things at different stages of your development to integrate with the MESH API.
33
+
You'll need some things at different stages of your development to integrate with the MESH API.
34
34
For each environment you use, you'll need a:
35
35
- MESH mailbox ID and password
36
36
- Transport Layer Security (TLS) certificate
37
37
- shared secret to include in the MESH authorization header
38
38
39
39
### 2. Getting your software approved to go live
40
40
41
-
This is also called digital onboarding. You’ll need to submit information that demonstrates:
41
+
This is also called digital onboarding. You'll need to submit information that demonstrates:
42
42
- you have a valid use case
43
43
- you can manage risks
44
44
- your software conforms technically with the requirements for this API
@@ -51,17 +51,21 @@ info:
51
51
- completing onboarding processes and waiting for approval
52
52
53
53
You can do some things while you wait, but expect the end-to-end integration process to take 1 month or more.
54
+
55
+
### Versioning
56
+
57
+
MESH API now has BETA support for versioning on certain endpoints in order to allow us to safely make new features and capabilities available to API consumers. For information on how to call a versioned API endpoint see [API Versioning](#section/API-Versioning).
54
58
55
59
### Get started
56
60
57
61
To get started, sign in or create a developer account for digital onboarding, complete the 'Setup and eligibility' section and submit it.
58
62
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.
63
+
If you're new to digital onboarding, add your product and select 'MESH' from the 'APIs to be used' list.
64
+
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.
61
65
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.
66
+
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.
63
67
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.
68
+
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
69
66
70
[Sign in or create a developer account for digital onboarding](https://onboarding.prod.api.platform.nhs.uk)
67
71
@@ -72,44 +76,44 @@ info:
72
76
73
77
### Request a mailbox
74
78
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.
79
+
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.
76
80
77
-
To request a MESH Mailbox, you’ll need to fill in an online form. It takes 5 to 10 minutes to complete.
81
+
To request a MESH Mailbox, you'll need to fill in an online form. It takes 5 to 10 minutes to complete.
78
82
79
-
You’ll need to know:
83
+
You'll need to know:
80
84
- your [ODS code](https://odsportal.digital.nhs.uk/)
81
85
- 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
86
- the contact details of the person who will be managing the mailbox in your organisation
83
87
84
88
[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
89
86
-
### Receive your credentials for the ‘Path to Live integration’ environment
90
+
### Receive your credentials for the 'Path to Live integration' environment
87
91
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.
92
+
Once you've requested a MESH Mailbox, we will email you 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.
89
93
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.
94
+
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
95
92
96
### Get a TLS certificate
93
97
94
-
You’ll need a TLS certificate to establish a secure connection to MESH.
98
+
You'll need a TLS certificate to establish a secure connection to MESH.
95
99
96
100
How to get a TLS certificate
97
101
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
102
+
1.Generate a private key using your preferred method, with the naming convention cn=mailboxid.odscode.api.mesh-client.nhs.uk
103
+
2.Generate a certificate signing request (CSR) based on the private key and your Mailbox ID.
104
+
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
101
105
102
106
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.
103
107
104
-
Once we receive your CSR, we’ll send you a TLS certificate within 5 working days.
108
+
Once we receive your CSR, we'll send you a TLS certificate within 5 working days.
105
109
106
110
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.
107
111
108
112
### Develop and test your software
109
113
110
114
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
115
112
-
When you’re ready to go live, you’ll need to:
116
+
When you're ready to go live, you'll need to:
113
117
- request a TLS certificate for the production environment
114
118
- request a MESH mailbox for the production environment
115
119
- get a conformance certificate
@@ -124,60 +128,60 @@ info:
124
128
125
129
This shows that your software meets our non-functional requirements.
126
130
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)
131
+
[Sign in to the 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)
128
132
129
133
### Demonstrate technical conformance
130
134
131
-
Before you can go live, in digital onboarding, you’ll need to:
135
+
Before you can go live, in digital onboarding, you'll need to:
132
136
- answer some questions to show you conform to the technical requirements of our APIs
133
137
- upload a conformance certificate
134
138
135
-
To get a technical conformance certificate, you’ll need to complete the testing requirements in the supplier pack we sent to you.
139
+
To get a technical conformance certificate, you'll need to complete the testing requirements in the supplier pack we sent to you.
136
140
137
141
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.
138
142
139
143
In some cases, we may ask you to prepare test data a few days before the day of the witness testing.
140
144
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.
145
+
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
146
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)
147
+
[Sign in to the 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)
144
148
145
149
### Get a MESH Mailbox for your live software
146
150
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.
151
+
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.
148
152
149
-
MESH Mailboxes are specific to environments, this means you’ll need a different MESH Mailbox ID for each environment you use.
153
+
MESH Mailboxes are specific to environments, this means you'll need a different MESH Mailbox ID for each environment you use.
150
154
151
-
To request a MESH Mailbox, you’ll need to fill in an online form. It takes 5 to 10 minutes to complete.
155
+
To request a MESH Mailbox, you'll need to fill in an online form. It takes 5 to 10 minutes to complete.
- 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
160
- the contact details of the person who will be managing the mailbox in your organisation
157
161
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)
162
+
[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
163
160
164
### Get a TLS certificate for the production environment
161
165
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.
166
+
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.
163
167
164
168
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
169
+
1.Generate a private key using your preferred method, with the naming convention cn=mailboxid.odscode.api.mesh-client.nhs.uk
170
+
2.Generate a CSR based on the private key and your Mailbox ID
171
+
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
168
172
169
173
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.
170
174
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.
175
+
Once we receive your CSR and technical conformance certificate, we'll send you a TLS certificate for the production environment within 5 working days.
172
176
173
177
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.
174
178
175
179
176
180
### Sign connection agreement
177
181
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.
182
+
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.
179
183
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)
184
+
[Sign in to the 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)
181
185
182
186
### Go live with your software
183
187
@@ -229,6 +233,20 @@ info:
229
233
There is a basic sandbox implementation of the MESH API available [mesh-sandbox](https://github.com/NHSDigital/mesh-sandbox).
230
234
231
235
This sandbox can be used for local development and currently does not require a client certificate
236
+
237
+
238
+
## API Versioning
239
+
240
+
MESH uses the `Accept` header to support different versions in the same API, sending a different `Accept` header will vary the response, refer to individual API endpoints for more detail.
241
+
242
+
If not specified `Accept: application/json` will be assumed and the lowest supported response version for that particular endpoint will be returned.
243
+
244
+
**Note:** please refer to the table below for more detail on the status of a given API version.
Requests to the MESH API require an authorisation token in the HTTP `Authorization` header.
@@ -382,7 +400,7 @@ info:
382
400
383
401
## Onboarding
384
402
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.
403
+
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
404
387
405
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.
0 commit comments