Skip to content

Commit 211ee69

Browse files
committed
mesh-1116: review tweaks, normalise single quotes , remove tabs add versioning
1 parent f4a34b7 commit 211ee69

1 file changed

Lines changed: 57 additions & 39 deletions

File tree

specification/mesh-api.yaml

Lines changed: 57 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ info:
1313
- send a message, or a larger message as series of chunks
1414
- download a message, or a larger message which was sent to you as a series of chunks
1515
- 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
1717
- track the status of messages that you sent from your outbox
1818
- look up the mailbox of an organisation you want to send data to
1919
- validate your mailbox every 24 hours to let Spine know it's still active
2020
2121
## Who can use this API
2222
23-
This API can only be used where there is a legal basis to do so. Well 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.
2424
2525
## Requirements for using this API
2626
There are 2 parts to getting the MESH API, these are:
@@ -30,15 +30,15 @@ info:
3030
3131
### 1. Developing and integrating your software
3232
33-
Youll 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.
3434
For each environment you use, you'll need a:
3535
- MESH mailbox ID and password
3636
- Transport Layer Security (TLS) certificate
3737
- shared secret to include in the MESH authorization header
3838
3939
### 2. Getting your software approved to go live
4040
41-
This is also called digital onboarding. Youll need to submit information that demonstrates:
41+
This is also called digital onboarding. You'll need to submit information that demonstrates:
4242
- you have a valid use case
4343
- you can manage risks
4444
- your software conforms technically with the requirements for this API
@@ -51,17 +51,21 @@ info:
5151
- completing onboarding processes and waiting for approval
5252
5353
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).
5458
5559
### Get started
5660
5761
To get started, sign in or create a developer account for digital onboarding, complete the 'Setup and eligibility' section and submit it.
5862
59-
If youre 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. Well 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.
6165
62-
If we approve your request to use the MESH API, well also email you a supplier pack within 10 working days. Read through this as it contains the testing requirements youll 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.
6367
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 youll 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.
6569
6670
[Sign in or create a developer account for digital onboarding](https://onboarding.prod.api.platform.nhs.uk)
6771
@@ -72,44 +76,44 @@ info:
7276
7377
### Request a mailbox
7478
75-
Once weve approved your request to use the MESH API, youll need to request a MESH Mailbox to use in a 'Path to Live integration environment'. This is how youll 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.
7680
77-
To request a MESH Mailbox, youll 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.
7882
79-
Youll need to know:
83+
You'll need to know:
8084
- your [ODS code](https://odsportal.digital.nhs.uk/)
8185
- 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
8286
- the contact details of the person who will be managing the mailbox in your organisation
8387
8488
[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)
8589
86-
### Receive your credentials for the Path to Live integration environment
90+
### Receive your credentials for the 'Path to Live integration' environment
8791
88-
Once youve 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 well 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.
8993
90-
You will also receive the shared secret. Youll 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.
9195
9296
### Get a TLS certificate
9397
94-
Youll 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.
9599
96100
How to get a TLS certificate
97101
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
101105
102106
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.
103107
104-
Once we receive your CSR, well 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.
105109
106110
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.
107111
108112
### Develop and test your software
109113
110114
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.
111115
112-
When youre ready to go live, youll need to:
116+
When you're ready to go live, you'll need to:
113117
- request a TLS certificate for the production environment
114118
- request a MESH mailbox for the production environment
115119
- get a conformance certificate
@@ -124,60 +128,60 @@ info:
124128
125129
This shows that your software meets our non-functional requirements.
126130
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)
128132
129133
### Demonstrate technical conformance
130134
131-
Before you can go live, in digital onboarding, youll need to:
135+
Before you can go live, in digital onboarding, you'll need to:
132136
- answer some questions to show you conform to the technical requirements of our APIs
133137
- upload a conformance certificate
134138
135-
To get a technical conformance certificate, youll 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.
136140
137141
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.
138142
139143
In some cases, we may ask you to prepare test data a few days before the day of the witness testing.
140144
141-
When youve completed a witness test, well 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.
142146
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)
144148
145149
### Get a MESH Mailbox for your live software
146150
147-
When youre ready to send or receive real data, youll need a MESH Mailbox in the production environment. Well 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.
148152
149-
MESH Mailboxes are specific to environments, this means youll 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.
150154
151-
To request a MESH Mailbox, youll 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.
152156
153-
Youll need to know:
154-
- your [ODS code](https://odsportal.digital.nhs.uk/)
157+
You'll need to know:
158+
- your [ODS code](https://odsportal.digital.nhs.uk/)
155159
- 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
156160
- the contact details of the person who will be managing the mailbox in your organisation
157161
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)
159163
160164
### Get a TLS certificate for the production environment
161165
162-
Once you have a Mailbox ID, youll 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.
163167
164168
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
168172
169173
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.
170174
171-
Once we receive your CSR and technical conformance certificate, well 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.
172176
173177
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.
174178
175179
176180
### Sign connection agreement
177181
178-
Youll need to sign a connection agreement before your software can go live. Once youve signed it, you need to upload it to the Legal agreement section in digital onboarding. Well 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.
179183
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)
181185
182186
### Go live with your software
183187
@@ -229,6 +233,20 @@ info:
229233
There is a basic sandbox implementation of the MESH API available [mesh-sandbox](https://github.com/NHSDigital/mesh-sandbox).
230234
231235
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.
245+
246+
| Version | Accept | Status |
247+
|---------|------------------------------------------------------|-----------|
248+
| 1 | `application/json` or `application/vnd.mesh.v1+json` | live |
249+
| 2 | `application/vnd.mesh.v2+json` | live-beta |
232250
233251
## MESH Authorization header
234252
Requests to the MESH API require an authorisation token in the HTTP `Authorization` header.
@@ -382,7 +400,7 @@ info:
382400
383401
## Onboarding
384402
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 its 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.
386404
387405
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.
388406

0 commit comments

Comments
 (0)