---
title: "Update a Specific Endpoint"
method: PUT
path: "/Endpoint/{id}"
tags: ["Endpoint"]
---

# Update a Specific Endpoint

`PUT /Endpoint/{id}`

## Request

- Base URL: `https://sandbox.api.service.nhs.uk/booking-and-referral/FHIR/R4`
- URL: `https://sandbox.api.service.nhs.uk/booking-and-referral/FHIR/R4/Endpoint/{id}`
- Auth: HTTP bearer

Creates a new current version for an existing resource ([update](https://www.hl7.org/fhir/http.html#update)) or creates an initial version if no resource already exists for the given id ([new](https://www.hl7.org/fhir/http.html#upsert)).

Only the owner of an Endpoint can modify it.

## Request body

- Endpoint
  - `resourceType` string
  - `id` string, uuid
  - `meta` object
    - `lastUpdated` string, date-time
    - `profile` string[]
  - `identifier` object[]
    - `system` string, url
    - `value` string
    - `display` string
  - `status` string
  - `name` string
  - `connectionType` object
    - `coding` object[]
      - `system` string, url
      - `code` string
      - `display` string
  - `payloadType` object[]
    - `coding` object[]
      - `system` string, url
      - `code` string
      - `display` string
  - `managingOrganization` object[]
    - `identifier` object
      - `system` string, url
      - `value` string
  - `address` string, url
  - `header` string
  - `period` object
    - `start` string, date-time
    - `end` string, date-time

## Response `200`

The Operation was Successful

- Endpoint
  - `resourceType` string
  - `id` string, uuid
  - `meta` object
    - `lastUpdated` string, date-time
    - `profile` string[]
  - `identifier` object[]
    - `system` string, url
    - `value` string
    - `display` string
  - `status` string
  - `name` string
  - `connectionType` object
    - `coding` object[]
      - `system` string, url
      - `code` string
      - `display` string
  - `payloadType` object[]
    - `coding` object[]
      - `system` string, url
      - `code` string
      - `display` string
  - `managingOrganization` object[]
    - `identifier` object
      - `system` string, url
      - `value` string
  - `address` string, url
  - `header` string
  - `period` object
    - `start` string, date-time
    - `end` string, date-time

## Other responses

- `201`: Resource Created Successfully
- `4XX`: Below are examples of potential HTTP status codes and their associated error codes, which could be returned in the event of a fault. Guidance on error handling within BaRS can be found [here](https://simplifier.net/guide/nhsbookingandreferralstandard/Home/Core/1.4.0/Error-Handling). | HTTP status | Error code | Description | | ----------- | -------------------------- | --------------------------------------------- | | 400 | SEND_BAD_REQUEST | The API was unable to process the request. | | 400 | REC_BAD_REQUEST | The Receiver has responded stating the message was malformed. | | 401 | SEND_UNAUTHORIZED | The API deemed you unauthorized to make this request. | | 401 | REC_UNAUTHORIZED | The receiver deemed you unauthorized to make request. | | 403 | SEND_FORBIDDEN | Missing or Expired Token. | | 404 | PROXY_NOT_FOUND | No related people exist for given NHS number. | | 404 | REC_NOT_FOUND | Patient record for given NHS number has been invalidated and not superseded by another NHS number. | | 405 | SEND_METHOD_NOT_ALLOWED | HTTP Verb is not correct for this scenario.| | 405 | REC_METHOD_NOT_ALLOWED | Receiver does not allow this.| | 405 | PROXY_METHOD_NOT_ALLOWED | Proxy does not allow this.| | 406 | SEND_NOT_ACCEPTABLE | Senders message had an incorrect content type defined for a response.| | 408 | REC_TIMEOUT | The downstream domain processing has not completed within the configured timeout period. | | 409 | SEND_CONFLICT | | | 409 | REC_CONFLICT | | | 409 | PROXY_CONFLICT | | | 422 | SEND_UNPROCESSABLE_ENTITY | Message was not malformed but deemed unprocessable. | | 422 | REC_UNPROCESSABLE_ENTITY | Message was not malformed but deemed unprocessable. | | 422 | PROXY_UNPROCESSABLE_ENTITY | Message was not malformed but deemed unprocessable. | | 429 | SEND_TOO_MANY_REQUESTS | The user has sent too many requests in a given amount of time| | 429 | REC_TOO_MANY_REQUESTS | The user has sent too many requests in a given amount of time|
- `5XX`: Below are examples of potential HTTP status codes and their associated error codes, which could be returned in the event of a fault. Guidance on error handling within BaRS can be found [here](https://simplifier.net/guide/nhsbookingandreferralstandard/Home/Core/1.4.0/Error-Handling). | HTTP status | Error code | Description | | ----------- | -------------------------- | --------------------------------------------- | | 500 | REC_SERVER_ERROR | The receiver server has encountered an Error processing the request. | | 500 | PROXY_SERVER_ERROR | Proxy Error. | | 501 | SEND_NOT_IMPLEMENTED | The Request was not recognized. | | 501 | REC_NOT_IMPLEMENTED | The Receiver did not recognize the request. | | 501 | PROXY_NOT_IMPLEMENTED | The Proxy did not recognize the request. | | 503 | REC_UNAVAILABLE | The Receiver was unavailable to service the request.| | 503 | PROXY_UNAVAILABLE | The Proxy was unavailable to service the request. |

---

[API](https://skmtc.dev/nhs/apis/booking-and-referral-fhir-api.md) - [All operations](https://skmtc.dev/nhs/apis/booking-and-referral-fhir-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nhs/apis/booking-and-referral-fhir-api/revisions/5ebb9de06e11?raw)
