---
title: "Get versioned COMPOSITION"
method: GET
path: "/ehr/{ehr_id}/versioned_composition/{versioned_object_uid}"
tags: ["COMPOSITION"]
---

# Get versioned COMPOSITION

`GET /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}`

Retrieves a VERSIONED_COMPOSITION identified by `versioned_object_uid` and associated with the EHR identified by `ehr_id`.

## Path parameters

- `ehr_id` string, uuid, required
- `versioned_object_uid` string, uuid, required

## Headers

- `Accept` 'application/json' | 'application/xml'
- `Content-Type` 'application/json' | 'application/xml'

## Response `200`

`200 OK` is returned when the requested VERSIONED_COMPOSITION is successfully retrieved.

- VersionedComposition
  - `_type` string
  - `uid` HierObjectId, required
    - `_type` string
    - `value` string, required
  - `owner_id` ObjectRefOfHierObjectId, required
    - `namespace` string, required
    - `type` string, required
    - `id` ObjectId, required
      - `_type` string
      - `value` string, required
  - `time_created` DvDateTime, required
    - `_type` string

## Other responses

- `404` — `404 Not Found` is returned when an EHR with `ehr_id` does not exist, or when the `versioned_object_uid` does not exist.

## Changes

- **2026-04-27** `a81c0c47d29d` — 3 info
  - the `allOf[subschema #1: VERSIONED_OBJECT]/time_created/allOf[subschema #1: DV_TEMPORAL]/accuracy/allOf[subschema #1: DV_AMOUNT]/allOf[subschema #1: DV_QUANTIFIED]/allOf[subschema #1: DV_ORDERED]/other_reference_ranges/items/meaning/mappings/items/match` response's property pattern was changed from `/^[><=?]$/` to `^[><=?]$` for the status `200`
  - the `allOf[subschema #1: VERSIONED_OBJECT]/time_created/allOf[subschema #1: DV_TEMPORAL]/allOf[subschema #1: DV_QUANTIFIED]/allOf[subschema #1: DV_ORDERED]/other_reference_ranges/items/meaning/mappings/items/match` response's property pattern was changed from `/^[><=?]$/` to `^[><=?]$` for the status `200`
  - added the required property `allOf[subschema #1: VERSIONED_OBJECT]/time_created/allOf[subschema #1: DV_TEMPORAL]/accuracy/value` to the response with the `200` status
- **2025-11-05** `660ec5865c0d` — 2 info
  - added the new optional `header` request parameter `Accept`
  - added the new optional `header` request parameter `Content-Type`
- **2025-03-13** `5e14066ac8dd` — 2 breaking
  - for the `path` request parameter `ehr_id`, the type/format was changed from `string`/`` to `string`/`uuid`
  - for the `path` request parameter `versioned_object_uid`, the type/format was changed from `string`/`` to `string`/`uuid`
- …earlier changes not shown

[Full history](https://skmtc.dev/openehr/apis/ehr-api/changes/ehr/:ehr_id/versioned_composition/:versioned_object_uid/get.md)

---

[API](https://skmtc.dev/openehr/apis/ehr-api.md) · [All operations](https://skmtc.dev/openehr/apis/ehr-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openehr/ehr-api/revisions/a0e37a217524/schema)
