generated: '2026-08-19' method: generated source: openapi/agntcy-acp-openapi.json, openapi/agntcy-identity-node-openapi.yaml, openapi/agntcy-identity-service-openapi.yaml, openapi/agntcy-oasf-schema-swagger.json 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: 106 by_action_class: acting: 56 connected: 50 by_consequence: write: 47 read: 50 safety-critical: 9 human_in_the_loop_required: 9 operations: - path: /agents/search method: post operationId: search_agents 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: /agents/{agent_id} method: get operationId: get_agent_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /agents/{agent_id}/descriptor method: get operationId: get_acp_descriptor_by_id x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads method: post operationId: create_thread 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: /threads/search method: post operationId: search_threads 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: /threads/{thread_id}/history method: get operationId: get_thread_history x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads/{thread_id}/copy method: post operationId: copy_thread 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: /threads/{thread_id} method: get operationId: get_thread x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads/{thread_id} method: delete operationId: delete_thread 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: /threads/{thread_id} method: patch operationId: patch_thread 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: /threads/{thread_id}/runs method: get operationId: list_thread_runs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads/{thread_id}/runs method: post operationId: create_thread_run 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: /threads/{thread_id}/runs/stream method: post operationId: create_and_stream_thread_run_output 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: /threads/{thread_id}/runs/wait method: post operationId: create_and_wait_for_thread_run_output 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: /threads/{thread_id}/runs/{run_id}/wait method: get operationId: wait_for_thread_run_output x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads/{thread_id}/runs/{run_id} method: get operationId: get_thread_run x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads/{thread_id}/runs/{run_id} method: post operationId: resume_thread_run 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: /threads/{thread_id}/runs/{run_id} method: delete operationId: delete_thread_run 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: /threads/{thread_id}/runs/{run_id}/stream method: get operationId: stream_thread_run_output x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /threads/{thread_id}/runs/{run_id}/cancel method: post operationId: cancel_thread_run 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: /runs method: post operationId: create_stateless_run 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: /runs/search method: post operationId: search_stateless_runs 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: /runs/stream method: post operationId: create_and_stream_stateless_run_output 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: /runs/wait method: post operationId: create_and_wait_for_stateless_run_output 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: /runs/{run_id}/wait method: get operationId: wait_for_stateless_run_output x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /runs/{run_id} method: get operationId: get_stateless_run x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /runs/{run_id} method: post operationId: resume_stateless_run 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: /runs/{run_id} method: delete operationId: delete_stateless_run 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: /runs/{run_id}/stream method: get operationId: stream_stateless_run_output x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /runs/{run_id}/cancel method: post operationId: cancel_stateless_run 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: /v1alpha1/id/generate method: post operationId: IdService_Generate 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: /v1alpha1/id/resolve method: post operationId: IdService_Resolve 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: /v1alpha1/issuer/register method: post operationId: IssuerService_Register 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: /v1alpha1/issuer/{commonName}/.well-known/jwks.json method: get operationId: IssuerService_GetWellKnown x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/vc/publish method: post operationId: VcService_Publish 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: /v1alpha1/vc/revoke method: post operationId: VcService_Revoke x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1alpha1/vc/search method: post operationId: VcService_Search 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: /v1alpha1/vc/verify method: post operationId: VcService_Verify 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: /v1alpha1/vc/{id}/.well-known/vcs.json method: get operationId: VcService_GetWellKnown x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/apps method: get operationId: AppService_ListApps x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/apps method: post operationId: AppService_CreateApp 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: /v1alpha1/apps/all/count method: get operationId: AppService_GetAppsCount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/apps/oasf method: post operationId: AppService_CreateOasfApp 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: /v1alpha1/apps/{appId} method: get operationId: AppService_GetApp x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/apps/{appId} method: delete operationId: AppService_DeleteApp 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: /v1alpha1/apps/{appId} method: patch operationId: AppService_UpdateApp 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: /v1alpha1/apps/{appId}/api-key/refresh method: get operationId: AppService_RefreshAppApiKey x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/apps/{appId}/badge method: get operationId: AppService_GetBadge x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/apps/{appId}/badges method: post operationId: BadgeService_IssueBadge 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: /v1alpha1/auth/app_info method: get operationId: AuthService_AppInfo x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/auth/approve_token method: post operationId: AuthService_ApproveToken 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: /v1alpha1/auth/authorize method: post operationId: AuthService_Authorize 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: /v1alpha1/auth/ext_authz method: post operationId: AuthService_ExtAuthz 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: /v1alpha1/auth/token method: post operationId: AuthService_Token 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: /v1alpha1/badges/verify method: post operationId: BadgeService_VerifyBadge 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: /v1alpha1/device method: get operationId: DeviceService_ListDevices x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/device method: post operationId: DeviceService_AddDevice 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: /v1alpha1/device/{deviceId} method: post operationId: DeviceService_RegisterDevice 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: /v1alpha1/device/{deviceId} method: delete operationId: DeviceService_DeleteDevice 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: /v1alpha1/device/{deviceId}/test method: post operationId: DeviceService_TestDevice 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: /v1alpha1/policies method: get operationId: PolicyService_ListPolicies x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/policies method: post operationId: PolicyService_CreatePolicy 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: /v1alpha1/policies/all/count method: get operationId: PolicyService_GetPoliciesCount x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/policies/{policyId} method: get operationId: PolicyService_GetPolicy x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/policies/{policyId} method: delete operationId: PolicyService_DeletePolicy 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: /v1alpha1/policies/{policyId} method: patch operationId: PolicyService_UpdatePolicy 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: /v1alpha1/policies/{policyId}/rules method: get operationId: PolicyService_ListRules x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/policies/{policyId}/rules method: post operationId: PolicyService_CreateRule 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: /v1alpha1/policies/{policyId}/rules/{ruleId} method: get operationId: PolicyService_GetRule x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/policies/{policyId}/rules/{ruleId} method: delete operationId: PolicyService_DeleteRule 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: /v1alpha1/policies/{policyId}/rules/{ruleId} method: patch operationId: PolicyService_UpdateRule 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: /v1alpha1/settings method: get operationId: SettingsService_GetSettings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1alpha1/settings/api-key method: post operationId: SettingsService_SetApiKey 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: /v1alpha1/settings/issuer method: post operationId: SettingsService_SetIssuer 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: /v1alpha1/tasks method: get operationId: AppService_GetTasks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/data_types method: get operationId: SchemaWeb.SchemaController.data_types x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/dictionary method: get operationId: SchemaWeb.SchemaController.dictionary x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/domain_categories method: get operationId: SchemaWeb.SchemaController.domain_categories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/domains method: get operationId: SchemaWeb.SchemaController.domains x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/extensions method: get operationId: SchemaWeb.SchemaController.extensions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/module_categories method: get operationId: SchemaWeb.SchemaController.module_categories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/modules method: get operationId: SchemaWeb.SchemaController.modules x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/objects method: get operationId: SchemaWeb.SchemaController.objects x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/profiles method: get operationId: SchemaWeb.SchemaController.profiles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/profiles/{name} method: get operationId: SchemaWeb.SchemaController.profile x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/schema method: get operationId: SchemaWeb.SchemaController.schema x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/skill_categories method: get operationId: SchemaWeb.SchemaController.skill_categories x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/skills method: get operationId: SchemaWeb.SchemaController.skills x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/translate/domain method: post operationId: SchemaWeb.SchemaController.translate_domain x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/translate/module method: post operationId: SchemaWeb.SchemaController.translate_module x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/translate/object/{name} method: post operationId: SchemaWeb.SchemaController.translate_object x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/translate/skill method: post operationId: SchemaWeb.SchemaController.translate_skill x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/validate/domain method: post operationId: SchemaWeb.SchemaController.validate_domain x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/validate/module method: post operationId: SchemaWeb.SchemaController.validate_module x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/validate/object/{name} method: post operationId: SchemaWeb.SchemaController.validate_object x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/validate/skill method: post operationId: SchemaWeb.SchemaController.validate_skill x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /api/1.1.0/version method: get operationId: SchemaWeb.SchemaController.version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/1.1.0/versions method: get operationId: SchemaWeb.SchemaController.versions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sample/1.1.0/domains/{name} method: get operationId: SchemaWeb.SchemaController.sample_domain x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sample/1.1.0/modules/{name} method: get operationId: SchemaWeb.SchemaController.sample_module x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sample/1.1.0/objects/{name} method: get operationId: SchemaWeb.SchemaController.sample_object x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /sample/1.1.0/skills/{name} method: get operationId: SchemaWeb.SchemaController.sample_skill x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /schema/1.1.0/domains/{name} method: get operationId: SchemaWeb.SchemaController.json_domain_class x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /schema/1.1.0/modules/{name} method: get operationId: SchemaWeb.SchemaController.json_module_class x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /schema/1.1.0/objects/{name} method: get operationId: SchemaWeb.SchemaController.json_object x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /schema/1.1.0/skills/{name} method: get operationId: SchemaWeb.SchemaController.json_skill_class x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none