HIP EHRbase Item Tag Experimental API

Experimental EHRbase API for attaching, reading and deleting ITEM_TAG key/value annotations on EHR_STATUS and COMPOSITION versioned objects, addressed by openEHR path. 2 paths / 6 operations. Marked experimental by the provider.

Operations 6

GET /rest/experimental/tags/ehr/{ehr_id}/ehr_status/{versioned_object_uid}/item_tag Get tags #
PUT /rest/experimental/tags/ehr/{ehr_id}/ehr_status/{versioned_object_uid}/item_tag Create or Update tags #
DELETE /rest/experimental/tags/ehr/{ehr_id}/ehr_status/{versioned_object_uid}/item_tag Deletes tags #
GET /rest/experimental/tags/ehr/{ehr_id}/composition/{versioned_object_uid}/item_tag Get tags #
PUT /rest/experimental/tags/ehr/{ehr_id}/composition/{versioned_object_uid}/item_tag Create or Update tags #
DELETE /rest/experimental/tags/ehr/{ehr_id}/composition/{versioned_object_uid}/item_tag Deletes tags #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hip-ehrbase-item-tags"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

vitagroup-hip-ehrbase-item-tags.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "EHRbase Item Tag Experimental API",
    "description": "Experimental API for working with Item Tags",
    "license": {
      "name": "Apache 2.0",
      "url": "https://github.com/ehrbase/ehrbase/blob/develop/LICENSE.md"
    },
    "version": "v1"
  },
  "externalDocs": {
    "description": "EHRbase Documentation",
    "url": "https://docs.ehrbase.org/"
  },
  "servers": [
    {
      "url": "http://localhost:8080/ehrbase",
      "description": "Generated server url"
    }
  ],
  "paths": {
    "/rest/experimental/tags/ehr/{ehr_id}/ehr_status/{versioned_object_uid}/item_tag": {
      "get": {
        "tags": [
          "EHR_STATUS ITEM_TAGS"
        ],
        "summary": "Get tags",
        "description": "Returns all tags for or filters based on the given ids and/or keys.",
        "operationId": "getEhrStatusItemTags",
        "parameters": [
          {
            "name": "openEHR-VERSION",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "openEHR-AUDIT_DETAILS",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ehr_id",
            "in": "path",
            "description": "Identifier of owner object, such as EHR.",
            "required": true,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "versioned_object_uid",
            "in": "path",
            "description": "Identifier of target, which may be a VERSIONED_OBJECT<T> or a VERSION<T>.",
            "required": true,
            "schema": {
              "type": "string($uuid|$version)"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Filter for tag Identifier.",
            "required": false,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "description": "Filter for tag keys.",
            "required": false,
            "schema": {
              "type": "string($key)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ItemTag for the composition",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTagDto"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EHR_STATUS ITEM_TAGS"
        ],
        "summary": "Create or Update tags",
        "description": "Bulk creation/update of tags. Tags without IDs are created, those with IDs are updated.",
        "operationId": "upsertEhrStatusItemTags",
        "parameters": [
          {
            "name": "openEHR-VERSION",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "openEHR-AUDIT_DETAILS",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Prefer",
            "in": "header",
            "description": "Preferred response type.",
            "required": false,
            "schema": {
              "type": "string($prefer)",
              "enum": [
                "return=minimal",
                "return=representation"
              ]
            }
          },
          {
            "name": "ehr_id",
            "in": "path",
            "description": "Identifier of owner object, such as EHR.",
            "required": true,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "versioned_object_uid",
            "in": "path",
            "description": "Identifier of target, which may be a VERSIONED_OBJECT<T> or a VERSION<T>.",
            "required": true,
            "schema": {
              "type": "string($uuid|$version)"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemTagDto"
                }
              },
              "example": [
                {
                  "key": "tag::1",
                  "value": "some textual value",
                  "target_path": "/context/end_time[at0001]|value"
                }
              ]
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "ItemTag ids in case Header Prefer is missing or contains return=representation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTagDto"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EHR_STATUS ITEM_TAGS"
        ],
        "summary": "Deletes tags",
        "description": "Deletes all tags for matching the given uuid or ItemTag.id.",
        "operationId": "deleteEhrStatusItemTags",
        "parameters": [
          {
            "name": "openEHR-VERSION",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "openEHR-AUDIT_DETAILS",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ehr_id",
            "in": "path",
            "description": "Identifier of owner object, such as EHR.",
            "required": true,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "versioned_object_uid",
            "in": "path",
            "description": "Identifier of target, which may be a VERSIONED_OBJECT<T> or a VERSION<T>.",
            "required": true,
            "schema": {
              "type": "string($uuid|$version)"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "List of ItemTag string($uuid) or entries to delete",
                "oneOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "$ref": "#/components/schemas/ItemTagDto"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    },
    "/rest/experimental/tags/ehr/{ehr_id}/composition/{versioned_object_uid}/item_tag": {
      "get": {
        "tags": [
          "COMPOSITION ITEM_TAG"
        ],
        "summary": "Get tags",
        "description": "Returns all tags for or filters based on the given ids and/or keys.",
        "operationId": "getCompositionItemTags",
        "parameters": [
          {
            "name": "openEHR-VERSION",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "openEHR-AUDIT_DETAILS",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ehr_id",
            "in": "path",
            "description": "Identifier of owner object, such as EHR.",
            "required": true,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "versioned_object_uid",
            "in": "path",
            "description": "Identifier of target, which may be a VERSIONED_OBJECT<T> or a VERSION<T>.",
            "required": true,
            "schema": {
              "type": "string($uuid|$version)"
            }
          },
          {
            "name": "ids",
            "in": "query",
            "description": "Filter for tag Identifier.",
            "required": false,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "keys",
            "in": "query",
            "description": "Filter for tag keys.",
            "required": false,
            "schema": {
              "type": "string($key)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ItemTag for the composition",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTagDto"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "COMPOSITION ITEM_TAG"
        ],
        "summary": "Create or Update tags",
        "description": "Bulk creation/update of tags. Tags without IDs are created, those with IDs are updated.",
        "operationId": "upsertCompositionItemTags",
        "parameters": [
          {
            "name": "openEHR-VERSION",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "openEHR-AUDIT_DETAILS",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Prefer",
            "in": "header",
            "description": "Preferred response type.",
            "required": false,
            "schema": {
              "type": "string($prefer)",
              "enum": [
                "return=minimal",
                "return=representation"
              ]
            }
          },
          {
            "name": "ehr_id",
            "in": "path",
            "description": "Identifier of owner object, such as EHR.",
            "required": true,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "versioned_object_uid",
            "in": "path",
            "description": "Identifier of target, which may be a VERSIONED_OBJECT<T> or a VERSION<T>.",
            "required": true,
            "schema": {
              "type": "string($uuid|$version)"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ItemTagDto"
                }
              },
              "example": [
                {
                  "key": "tag::1",
                  "value": "some textual value",
                  "target_path": "/context/end_time[at0001]|value"
                }
              ]
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "ItemTag ids in case Header Prefer is missing or contains return=representation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemTagDto"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "COMPOSITION ITEM_TAG"
        ],
        "summary": "Deletes tags",
        "description": "Deletes all tags for matching the given uuid or ItemTag.id.",
        "operationId": "deleteCompositionItemTags",
        "parameters": [
          {
            "name": "openEHR-VERSION",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "openEHR-AUDIT_DETAILS",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ehr_id",
            "in": "path",
            "description": "Identifier of owner object, such as EHR.",
            "required": true,
            "schema": {
              "type": "string($uuid)"
            }
          },
          {
            "name": "versioned_object_uid",
            "in": "path",
            "description": "Identifier of target, which may be a VERSIONED_OBJECT<T> or a VERSION<T>.",
            "required": true,
            "schema": {
              "type": "string($uuid|$version)"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "List of ItemTag string($uuid) or entries to delete",
                "oneOf": [
                  {
                    "type": "string",
                    "format": "uuid"
                  },
                  {
                    "$ref": "#/components/schemas/ItemTagDto"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ItemTagDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "target": {
            "type": "string",
            "format": "uuid"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "owner_id": {
            "type": "string",
            "format": "uuid"
          },
          "target_type": {
            "type": "string",
            "enum": [
              "EHR_STATUS",
              "COMPOSITION"
            ]
          },
          "target_path": {
            "type": "string"
          }
        }
      }
    }
  }
}