generated: '2026-09-02' method: generated source: openapi/openehr-admin-openapi.yml, openapi/openehr-definition-openapi.yml, openapi/openehr-demographic-openapi.yml, openapi/openehr-ehr-openapi.yml, openapi/openehr-query-openapi.yml, openapi/openehr-system-openapi.yml description: Recommended x-agentic-access execution contracts, classified heuristically from the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind audience per deployment. See research/curity/agentic-governance/. summary: operations: 97 by_action_class: acting: 49 connected: 48 by_consequence: write: 49 read: 48 human_in_the_loop_required: 0 operations: - path: /admin/ehr/{ehr_id} method: delete operationId: admin_ehr_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /admin/ehr/all{?ehr_id*} method: delete operationId: admin_ehr_delete_all x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /definition/template/adl1.4 method: post operationId: definition_template_adl1.4_upload x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /definition/template/adl1.4 method: get operationId: definition_template_adl1.4_list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/template/adl1.4/{template_id} method: get operationId: definition_template_adl1.4_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/template/adl1.4/{template_id}/example method: get operationId: definition_template_adl1.4_example_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/template/adl2 method: post operationId: definition_template_adl2_upload x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /definition/template/adl2 method: get operationId: definition_template_adl2_list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/template/adl2/{template_id} method: get operationId: definition_template_adl2_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/template/adl2/{template_id}/example method: get operationId: definition_template_adl2_example_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/template/adl2/{template_id}/{version} method: get operationId: definition_template_adl2_version_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/query/{qualified_query_name} method: get operationId: definition_query_list x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /definition/query/{qualified_query_name} method: put operationId: definition_query_store.yaml x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /definition/query/{qualified_query_name}/{version} method: put operationId: definition_query_version_store.yaml x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /definition/query/{qualified_query_name}/{version} method: get operationId: definition_query_version_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/agent method: post operationId: agent_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/agent/{uid_based_id} method: get operationId: agent_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/agent/{uid_based_id} method: put operationId: agent_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/agent/{uid_based_id} method: delete operationId: agent_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/group method: post operationId: group_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/group/{uid_based_id} method: get operationId: group_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/group/{uid_based_id} method: put operationId: group_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/group/{uid_based_id} method: delete operationId: group_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/organisation method: post operationId: organisation_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/organisation/{uid_based_id} method: get operationId: organisation_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/organisation/{uid_based_id} method: put operationId: organisation_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/organisation/{uid_based_id} method: delete operationId: organisation_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/person method: post operationId: person_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/person/{uid_based_id} method: get operationId: person_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/person/{uid_based_id} method: put operationId: person_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/person/{uid_based_id} method: delete operationId: person_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/role method: post operationId: role_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/role/{uid_based_id} method: get operationId: role_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/role/{uid_based_id} method: put operationId: role_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/role/{uid_based_id} method: delete operationId: role_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/versioned_party/{versioned_object_uid} method: get operationId: versioned_party_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/versioned_party/{versioned_object_uid}/revision_history method: get operationId: versioned_party_revision_history x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/versioned_party/{versioned_object_uid}/version method: get operationId: versioned_party_version_get_at_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/versioned_party/{versioned_object_uid}/version/{version_uid} method: get operationId: versioned_party_version_get_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/contribution method: post operationId: contribution_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/contribution/{contribution_uid} method: get operationId: contribution_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/tags method: get operationId: demographic_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/agent/{uid_based_id}/tags method: get operationId: agent_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/agent/{uid_based_id}/tags method: put operationId: agent_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/agent/{uid_based_id}/tags/{key} method: delete operationId: agent_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/group/{uid_based_id}/tags method: get operationId: group_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/group/{uid_based_id}/tags method: put operationId: group_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/group/{uid_based_id}/tags/{key} method: delete operationId: group_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/organisation/{uid_based_id}/tags method: get operationId: organisation_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/organisation/{uid_based_id}/tags method: put operationId: organisation_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/organisation/{uid_based_id}/tags/{key} method: delete operationId: organisation_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/person/{uid_based_id}/tags method: get operationId: person_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/person/{uid_based_id}/tags method: put operationId: person_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/person/{uid_based_id}/tags/{key} method: delete operationId: person_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/role/{uid_based_id}/tags method: get operationId: role_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /demographic/role/{uid_based_id}/tags method: put operationId: role_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /demographic/role/{uid_based_id}/tags/{key} method: delete operationId: role_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr method: post operationId: ehr_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr method: get operationId: ehr_get_by_subject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id} method: put operationId: ehr_create_with_id x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id} method: get operationId: ehr_get_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/ehr_status/{version_uid} method: get operationId: ehr_status_get_by_version_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/ehr_status method: get operationId: ehr_status_get_at_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/ehr_status method: put operationId: ehr_status_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/versioned_ehr_status method: get operationId: versioned_ehr_status_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/versioned_ehr_status/revision_history method: get operationId: versioned_ehr_status_revision_history x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/versioned_ehr_status/version method: get operationId: versioned_ehr_status_version_get_at_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/versioned_ehr_status/version/{version_uid} method: get operationId: versioned_ehr_status_version_get_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/composition method: post operationId: composition_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/composition/{uid_based_id} method: get operationId: composition_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/composition/{uid_based_id} method: put operationId: composition_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/composition/{uid_based_id} method: delete operationId: composition_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/versioned_composition/{versioned_object_uid} method: get operationId: versioned_composition_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/revision_history method: get operationId: versioned_composition_revision_history x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/version method: get operationId: versioned_composition_version_get_at_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/versioned_composition/{versioned_object_uid}/version/{version_uid} method: get operationId: versioned_composition_version_get_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/directory method: post operationId: directory_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/directory method: put operationId: directory_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/directory method: delete operationId: directory_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/directory method: get operationId: directory_get_at_time x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/directory/{version_uid} method: get operationId: directory_get_by_version_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/contribution method: post operationId: contribution_create x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/contribution/{contribution_uid} method: get operationId: contribution_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/tags method: get operationId: ehr_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/composition/{uid_based_id}/tags method: get operationId: composition_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/composition/{uid_based_id}/tags method: put operationId: composition_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/composition/{uid_based_id}/tags/{key} method: delete operationId: composition_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/ehr_status/{uid_based_id}/tags method: get operationId: ehr_status_tags_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /ehr/{ehr_id}/ehr_status/{uid_based_id}/tags method: put operationId: ehr_status_tags_update x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /ehr/{ehr_id}/ehr_status/{uid_based_id}/tags/{key} method: delete operationId: ehr_status_tags_delete x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /query/aql method: get operationId: query_execute_adhoc_query x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /query/aql method: post operationId: query_execute_adhoc_query_body x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /query/{qualified_query_name} method: get operationId: query_execute_stored_query x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /query/{qualified_query_name} method: post operationId: query_execute_stored_query_body x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /query/{qualified_query_name}/{version} method: get operationId: query_execute_stored_query_version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /query/{qualified_query_name}/{version} method: post operationId: query_execute_stored_query_version_body x-agentic-access: action-class: acting consequence: write subject: required audience: null token: max-ttl: 900 escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: / method: options operationId: options x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none