How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

EHRbase openEHR REST API

The standard openEHR ITS-REST 1.0.2 surface - 31 paths and 45 operations covering EHR, EHR_STATUS, COMPOSITION, VERSIONED_COMPOSITION, CONTRIBUTION, DIRECTORY, operational templates (ADL 1.4 and ADL 2), stored queries and ad-hoc AQL execution. Writes are versioned rather than mutated, guarded by If-Match on the preceding version_uid, and audited through the openEHR-AUDIT_DETAILS header. EHRbase adds two non-standard but essential projections: the web template (a flattened node tree with aqlPath per leaf) and the flat/structured JSON composition media types.

EHRbase openEHR REST API is one of 3 APIs that EHRbase publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include openEHR, Electronic Health Records, Clinical Data, AQL, and Healthcare. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 45 operations across 31 paths, organized into 12 resource areas, and defines 67 schemas. It is described by OpenAPI 3.1.0, at version v1.

Requests are made against a single base URL, https://sandkiste.ehrbase.org/ehrbase.

45 operations 31 paths 67 schemas 2 DELETE28 GET9 POST6 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v1
Base URL
https://sandkiste.ehrbase.org/ehrbase
License
Resource Areas
12

Paths & Operations 45

Across 31 paths, the API surfaces 45 operations — 2 DELETE, 28 GET, 9 POST, 6 PUT. They span 12 resource areas, including EHR, EHR_STATUS, DIRECTORY, COMPOSITION, STORED_QUERY, QUERY, CONTRIBUTION, ADL 2 TEMPLATE, and 4 more. Each is listed below with its method, path, parameters, and response codes.

EHR 4
GET
/rest/openehr/v1/ehr/{ehr_id}
Get EHR by id
getEhrById 1 param → 200404
PUT
/rest/openehr/v1/ehr/{ehr_id}
Create EHR with id
createEhrWithId 4 params body → 201400409
GET
/rest/openehr/v1/ehr
Get EHR summary by subject id and namespace
getEhrBySubject 2 params → 200404
POST
/rest/openehr/v1/ehr
Create EHR
createEhr 3 params body → 201400409
EHR_STATUS 3
GET
/rest/openehr/v1/ehr/{ehr_id}/ehr_status
Get EHRSTATUS version by time
getEhrStatusVersionByTime 2 params → 200400404
PUT
/rest/openehr/v1/ehr/{ehr_id}/ehr_status
Update EHRSTATUS
updateEhrStatus 3 params body → 200204400404412
GET
/rest/openehr/v1/ehr/{ehr_id}/ehr_status/{version_uid}
Get EHRSTATUS by version id
getEhrStatusByVersionId 2 params → 200404
DIRECTORY 5
GET
/rest/openehr/v1/ehr/{ehr_id}/directory
Get folder in directory version at time
getFolderInDirectoryVersionAtTime 4 params → 200204404
PUT
/rest/openehr/v1/ehr/{ehr_id}/directory
Update directory
updateDirectory 7 params body → 200204400404412
POST
/rest/openehr/v1/ehr/{ehr_id}/directory
Create directory
createDirectory 6 params body → 201400404
DELETE
/rest/openehr/v1/ehr/{ehr_id}/directory
Delete directory
deleteDirectory 5 params → 204400404412
GET
/rest/openehr/v1/ehr/{ehr_id}/directory/{version_uid}
Get folder in directory version
getFolderInDirectory 4 params → 200404
COMPOSITION 4
GET
/rest/openehr/v1/ehr/{ehr_id}/composition/{versioned_object_uid}
Get composition at time
getComposition 5 params → 200
PUT
/rest/openehr/v1/ehr/{ehr_id}/composition/{versioned_object_uid}
Update composition
updateComposition 10 params body → 200
POST
/rest/openehr/v1/ehr/{ehr_id}/composition
Create composition
createComposition 8 params body → 201
DELETE
/rest/openehr/v1/ehr/{ehr_id}/composition/{preceding_version_uid}
Delete composition
deleteComposition 4 params → 204
STORED_QUERY 5
GET
/rest/openehr/v1/definition/query/{qualified_query_name}/{version}
Get stored query and info/metadata
getStoredQueryVersion 3 params → 200
PUT
/rest/openehr/v1/definition/query/{qualified_query_name}/{version}
Store a query
putStoredQuery 5 params body → 200
GET
/rest/openehr/v1/definition/query/{qualified_query_name}
List stored queries
getStoredQueryList 2 params → 200
PUT
/rest/openehr/v1/definition/query/{qualified_query_name}
Store a query
putStoredQuery_1 4 params body → 200
GET
/rest/openehr/v1/definition/query
List stored queries
getStoredQueryList_1 1 param → 200
QUERY 6
GET
/rest/openehr/v1/query/{qualified_query_name}/{version}
Execute stored query
executeStoredQuery 5 params → 200
POST
/rest/openehr/v1/query/{qualified_query_name}/{version}
Execute stored query
executeStoredQuery_1 4 params body → 200
GET
/rest/openehr/v1/query/{qualified_query_name}
Execute stored query
executeStoredQuery_2 4 params → 200
POST
/rest/openehr/v1/query/{qualified_query_name}
Execute stored query
executeStoredQuery_3 3 params body → 200
GET
/rest/openehr/v1/query/aql
Execute ad-hoc (non-stored) AQL query
executeAdHocQuery 4 params → 200
POST
/rest/openehr/v1/query/aql
Execute ad-hoc (non-stored) AQL query
executeAdHocQuery_1 2 params body → 200
CONTRIBUTION 2
POST
/rest/openehr/v1/ehr/{ehr_id}/contribution
Create contribution
createContribution 6 params body → 201
GET
/rest/openehr/v1/ehr/{ehr_id}/contribution/{contribution_uid}
Get contribution by id
getContribution 5 params → 200
ADL 2 TEMPLATE 3
GET
/rest/openehr/v1/definition/template/adl2
List templates
getTemplatesNew 1 param → 200
POST
/rest/openehr/v1/definition/template/adl2
Upload a template
createTemplateNew 4 params body → 201
GET
/rest/openehr/v1/definition/template/adl2/{template_id}/{version_pattern}
Get template
getTemplateNew 3 params → 200
ADL 1.4 TEMPLATE 4
GET
/rest/openehr/v1/definition/template/adl1.4
List templates
getTemplatesClassic 1 param → 200
POST
/rest/openehr/v1/definition/template/adl1.4
Upload a template
createTemplateClassic 1 param body → 201
GET
/rest/openehr/v1/definition/template/adl1.4/{template_id}
Get template
getTemplateClassic 2 params → 200
GET
/rest/openehr/v1/definition/template/adl1.4/{template_id}/example
Get an example composition for the specified template
getTemplateExample 3 params → 200
VERSIONED_EHR_STATUS 4
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_ehr_status
Get versioned EHRSTATUS
retrieveVersionedEhrStatusByEhr 1 param → 200
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_ehr_status/version
Get versioned EHRSTATUS version by time
retrieveVersionOfEhrStatusByTime 2 params → 200
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_ehr_status/version/{version_uid}
Get versioned EHRSTATUS version by id
retrieveVersionOfEhrStatusByVersionUid 2 params → 200
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_ehr_status/revision_history
Get versioned EHRSTATUS revision history
retrieveVersionedEhrStatusRevisionHistoryByEhr 1 param → 200
VERSIONED_COMPOSITION 4
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_composition/{versioned_object_uid}
Get versioned composition
retrieveVersionedCompositionByVersionedObjectUid 3 params → 200
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/version
Get versioned composition version at time
retrieveVersionOfCompositionByTime 4 params → 200
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/version/{version_uid}
Get versioned composition version by id
retrieveVersionOfCompositionByVersionUid 4 params → 200
GET
/rest/openehr/v1/ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/revision_history
Get versioned composition revision history
retrieveVersionedCompositionRevisionHistoryByEhr 3 params → 200
TEMPLATE 1
GET
/rest/openehr/v1/definition/template/adl1.4/{template_id}/webtemplatedeprecated
Deprecated since 2.2.0 and marked for removal
getWebTemplate 2 params → 200

Schemas 67

The contract defines 67 schemas that model the data the API accepts and returns. The most detailed are WebTemplateNode (18 properties), ArchetypeID (16 properties), Composition (13 properties), OriginalVersionComposition (11 properties). Each schema is shown below with its type and property counts.

ArchetypeID
object
16 properties
Archetyped
null
3 properties
CodePhrase
null
3 properties
DvCodedText
null
6 properties
DvDateTime
null
6 properties
DvDuration
null
7 properties
DvEHRURI
object
1 property
DvEncapsulated
null
2 properties
DvIdentifier
object
4 properties
DvIntervalDvDateTime
null
6 properties
DvIntervalDvDuration
null
6 properties
DvText
object
6 properties
DvURI
null
1 property
EhrStatus
object
11 properties
FeederAudit
null
5 properties
FeederAuditDetails
null
7 properties
Item
object
7 properties
ItemStructure
null
8 properties
Link
object
3 properties
ObjectId
object
1 property
PartyIdentified
null
3 properties
PartyProxy
null
1 property
PartyRef
null
3 properties
PartySelf
object
1 property
ReferenceRangeDvDateTime
object
2 properties
ReferenceRangeDvDuration
object
2 properties
TemplateId
null
1 property
TermMapping
object
3 properties
TerminologyId
object
1 property
UIDBasedId
null
1 property
Ehr
object
9 properties
HierObjectId
object
1 property
ObjectRefObjectId
object
3 properties
ObjectVersionId
object
1 property
Folder
object
10 properties
QueryDefinitionResponseData
object
5 properties
MetaData
object
6 properties
QueryResponseData
object
5 properties
Attestation
object
10 properties
AuditDetails
object
5 properties
CONTRIBUTION
object
3 properties
DvMultimedia
null
11 properties
OriginalVersionRMObject
object
11 properties
RMObject
null
Contribution
object
3 properties
TemplateResponseData
VersionedEhrStatus
object
3 properties
OriginalVersionEhrStatus
object
11 properties
RevisionHistory
object
1 property
RevisionHistoryItem
object
2 properties
VERSIONED_COMPOSITION
object
4 properties
Composition
null
13 properties
ContentItem
object
7 properties
EventContext
null
9 properties
OriginalVersionComposition
object
11 properties
Participation
object
4 properties
PathSegment
object
4 properties
TemplateMetaDataDto
object
4 properties
WebTemplate
object
5 properties
WebTemplateAnnotation
object
2 properties
WebTemplateInput
object
7 properties
WebTemplateInputValue
object
8 properties
WebTemplateInterval
object
4 properties
WebTemplateNode
object
18 properties
WebTemplateTerminology
object
2 properties
WebTemplateValidation
object
3 properties
WebtemplateCardinality
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

ehrbase-openehr-rest-api-openapi.json Raw ↑

Other APIs EHRbase publishes across the network.

EHRbase Admin API
EHRbase Status and Metrics API
Where this information came from

This is an independent, third-party profile of EHRbase openEHR REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.