generated: '2026-07-18' method: generated source: openapi/codag-openapi-original.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: 70 by_action_class: acting: 39 connected: 31 by_consequence: write: 33 read: 31 safety-critical: 3 physical: 3 human_in_the_loop_required: 3 operations: - path: /api/auth/google method: post operationId: google_login_api_auth_google_post 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: /api/auth/me method: get operationId: get_me_api_auth_me_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/auth/me method: patch operationId: update_me_api_auth_me_patch 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: /api/auth/logout method: post operationId: logout_api_auth_logout_post 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: /api/auth/console-session method: post operationId: mint_console_session_api_auth_console_session_post 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: /api/orgs method: get operationId: list_my_orgs_api_orgs_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs method: post operationId: create_org_api_orgs_post 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: /api/orgs/self-serve method: post operationId: self_serve_create_org_api_orgs_self_serve_post 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: /api/onboard/sources method: get operationId: get_onboard_sources_api_onboard_sources_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs/{slug} method: get operationId: get_org_api_orgs__slug__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs/{slug} method: patch operationId: update_org_api_orgs__slug__patch 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: /api/orgs/{slug}/keys method: get operationId: list_keys_api_orgs__slug__keys_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs/{slug}/keys method: post operationId: create_key_api_orgs__slug__keys_post 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: /api/orgs/{slug}/keys/{key_id} method: delete operationId: revoke_key_api_orgs__slug__keys__key_id__delete 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/orgs/{slug}/members method: get operationId: list_members_api_orgs__slug__members_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs/{slug}/members/{user_id} method: delete operationId: remove_member_api_orgs__slug__members__user_id__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: /api/orgs/{slug}/invites method: get operationId: list_invites_api_orgs__slug__invites_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs/{slug}/invites method: post operationId: send_invite_api_orgs__slug__invites_post x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/orgs/{slug}/invites/{invite_id} method: delete operationId: cancel_invite_api_orgs__slug__invites__invite_id__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: /api/orgs/invites/{token}/accept method: post operationId: accept_invite_api_orgs_invites__token__accept_post 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: /api/orgs/{slug}/usage/summary method: get operationId: get_usage_summary_api_orgs__slug__usage_summary_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/orgs/{slug}/usage/timeseries method: get operationId: get_usage_timeseries_api_orgs__slug__usage_timeseries_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org method: get operationId: get_current_org_api_org_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org method: patch operationId: update_current_org_api_org_patch 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: /api/org/keys method: get operationId: list_current_org_keys_api_org_keys_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/keys method: post operationId: create_current_org_key_api_org_keys_post 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: /api/org/keys/{key_id} method: delete operationId: revoke_current_org_key_api_org_keys__key_id__delete 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/org/members method: get operationId: list_current_org_members_api_org_members_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/members/{user_id} method: delete operationId: remove_current_org_member_api_org_members__user_id__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: /api/org/invites method: get operationId: list_current_org_invites_api_org_invites_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/invites method: post operationId: send_current_org_invite_api_org_invites_post x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/org/invites/{invite_id} method: delete operationId: cancel_current_org_invite_api_org_invites__invite_id__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: /api/activate/{code} method: get operationId: preview_activation_code_api_activate__code__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/activate/{code}/redeem method: post operationId: redeem_activation_code_api_activate__code__redeem_post 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: /api/admin/activation-codes method: get operationId: list_activation_codes_api_admin_activation_codes_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/admin/activation-codes method: post operationId: create_activation_code_api_admin_activation_codes_post 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: /api/admin/activation-codes/{code_id} method: delete operationId: revoke_activation_code_api_admin_activation_codes__code_id__delete 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/orgs/by-id/{org_id} method: get operationId: get_org_by_id_route_api_orgs_by_id__org_id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/usage/summary method: get operationId: get_current_org_usage_summary_api_org_usage_summary_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/usage/timeseries method: get operationId: get_current_org_usage_timeseries_api_org_usage_timeseries_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/usage/by-dimension method: get operationId: get_current_org_usage_by_dimension_api_org_usage_by_dimension_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/usage/patterns method: get operationId: get_current_org_usage_patterns_api_org_usage_patterns_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/incidents/summary method: get operationId: get_current_org_incidents_summary_api_org_incidents_summary_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/usage/efficiency method: get operationId: get_current_org_usage_efficiency_api_org_usage_efficiency_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/org/usage/new-patterns method: get operationId: get_current_org_usage_new_patterns_api_org_usage_new_patterns_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /oauth/device/code method: post operationId: device_code_endpoint_oauth_device_code_post 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: /oauth/token method: post operationId: token_endpoint_oauth_token_post 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: /api/cli/confirm method: post operationId: cli_confirm_api_cli_confirm_post 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: /api/cli/deny method: post operationId: cli_deny_api_cli_deny_post 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: /v1/whoami method: get operationId: whoami_endpoint_v1_whoami_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/billing/state method: get operationId: get_billing_state_api_billing_state_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /api/billing/checkout method: post operationId: create_checkout_api_billing_checkout_post x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /api/billing/portal method: post operationId: create_portal_api_billing_portal_post 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: /api/billing/webhooks/stripe method: post operationId: stripe_webhook_api_billing_webhooks_stripe_post 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: /internal/notifications/run method: post operationId: internal_notifications_run_internal_notifications_run_post 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: /internal/training-pairs/export method: get operationId: export_training_pairs_internal_training_pairs_export_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /health method: get operationId: health_health_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /install.sh method: get operationId: install_script_redirect_install_sh_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/anonymous/token method: post operationId: anonymous_token_endpoint_v1_anonymous_token_post 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: /v1/parse method: post operationId: parse_endpoint_v1_parse_post 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: /v1/capsule method: post operationId: capsule_endpoint_v1_capsule_post 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: /v1/compact method: post operationId: compact_endpoint_v1_compact_post 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: /v1/compact/jobs method: post operationId: compact_job_create_endpoint_v1_compact_jobs_post 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: /v1/compact/jobs/{job_id} method: get operationId: compact_job_get_endpoint_v1_compact_jobs__job_id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/incident-memory/search method: post operationId: incident_memory_search_endpoint_v1_incident_memory_search_post 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: /v1/incident-memory/{incident_id} method: get operationId: incident_memory_detail_endpoint_v1_incident_memory__incident_id__get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/incident-memory/{incident_id} method: delete operationId: incident_memory_delete_endpoint_v1_incident_memory__incident_id__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: /v1/incident-memory/{incident_id}/raw method: get operationId: incident_memory_raw_endpoint_v1_incident_memory__incident_id__raw_get x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/free/compact method: post operationId: free_compact_endpoint_v1_free_compact_post 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: /v1/onboard/warm method: post operationId: warm_endpoint_v1_onboard_warm_post 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