---
title: "Get a single document pointer"
method: GET
path: "/DocumentReference/{id}"
tags: ["DocumentReference"]
---

# Get a single document pointer

`GET /DocumentReference/{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/DocumentReference/{id}`
- Auth: HTTP bearer

Read a single document pointer by specifying a `DocumentReference.id`.  Note that you will only be able to
retrieve document pointers that have been created by the organisation specified in the `ODS-End-User-Organisation`
header, and agreed during [onboarding](#onbaroding).

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Request-Id` string, uuid, required
- `X-Correlation-Id` string, uuid, required
- `Accept` string, required

## Response `200`

Successful response

- DocumentReference
  - `resourceType` string
  - `identifier` object[], required
    - `system` string, url, required
    - `value` string, required
  - `status` string
  - `type` object, required
    - `coding` object[], required
      - `system` string, url, required
      - `code` string, required
      - `display` string
  - `category` object[], required
    - `coding` object[], required
      - `system` string, url, required
      - `code` string, required
      - `display` string
  - `subject` object, required
    - `identifier` object, required
      - `system` string, url, required
      - `value` string, required
  - `date` string, date-time
  - `author` object[]
    - `identifier` object
      - `system` string, url, required
      - `value` string, required
  - `custodian` object, required
    - `identifier` object, required
      - `system` string, url, required
      - `value` string, required
  - `content` object[], required
    - `extension` object[]
      - `valueCodeableConcept` object
        - `coding` object[]
          - `system` string, required
          - `code` string, required
          - `display` string
      - `url` string
    - `attachment` object, required
      - `contentType` string
      - `url` string, url, required
    - `format` object[], required
      - `coding` object[]
        - `system` string, url, required
        - `code` string, required
        - `display` string
  - `context` object
    - `period` object
      - `start` string, date-time, required
      - `end` string, date-time, required
    - `practiceSetting` object
      - `coding` object[]
        - `system` string, url
        - `code` string
        - `display` string

## Other responses

- `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)
