General Failure Scenarios
This section will define errors that could be seen in any given step and shared from function to function without context. All interactions MUST follow these rules as such they may be listed in different sections.
HTTP Status Code | HTTP Error Code | issue.Code | Scenario | Source |
---|---|---|---|---|
400 | SEND_BAD_REQUEST | required | Content invalid against the specification or a profile. For example a required parameter or header is not provided. | API |
400 | REC_BAD_REQUEST | value | a header value or parameter is invalid. (these are defined in each specific scenario) | Receiver |
400 | REC_BAD_REQUEST | not-supported | in FOT for when a function or feature in the standard is not yet supported. | Receiver |
400 | PROXY_BAD_REQUEST | structure | When Base-64 decoding of the NHSD-Target-Identifier header fails. | API |
400 | PROXY_BAD_REQUEST | structure | The NHSD-Target-Identifier header doesn't adhere to the schema | API |
401 | SEND_UNAUTHORIZED | login / expired | The sender has not provided a token or it has expired or is otherwise invalid. | API |
405 | SEND_METHOD_NOT_ALLOWED | not-supported | using the wrong http verb. For example GET instead of POST | API |
406 | SEND_NOT_ACCEPTABLE | processing | The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. Versions in Accept or content. Version is not present in FOT and should be ignored in FOT if presented. Post FOT it MUST be evaluated. |
API |
406 | REC_NOT_ACCEPTABLE | processing | The requested resource is capable of generating only content not acceptable according to the Accept headers sent in the request. Versions in Accept or content. Version is not present in FOT and should be ignored in FOT if presented. Post FOT it MUST be evaluated. |
Receiver |
429 | SEND_TOO_MANY_REQUESTS | throttled | when rate limiting is applied. | API |
409 | REC_TIMEOUT | timeout | Injected when a 504 is generated in the proxy due to a receiver timing out on a response. | API Injected |
500 | REC_SERVER_ERROR | transient | An unexpected exception has occurred during processing at the receiver. | Receiver/ API Injected |
500 | PROXY_SERVER_ERROR / SERVER ERROR | transient | An unexpected exception has occurred during processing internally. | API |
501 | REC_NOT_IMPLEMENTED | not-supported | The receiver has not yet implemented that endpoint or functionality. | Receiver |