Codag Agentic Access
Codag exposes 70 API operations that an AI agent could call, of which 39 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.
By consequence: 31 read, 33 write, 3 physical, and 3 safety-critical.
3 operations are classed safety-critical and should require human-in-the-loop approval at runtime.
Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.
By consequence
Highest-consequence actions
The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.
| Method | Path | Consequence | Human-in-loop |
|---|---|---|---|
| DELETE | /api/admin/activation-codes/{code_id} | safety-critical | required |
| DELETE | /api/org/keys/{key_id} | safety-critical | required |
| DELETE | /api/orgs/{slug}/keys/{key_id} | safety-critical | required |
| POST | /api/billing/checkout | physical | conditional |
| POST | /api/org/invites | physical | conditional |
| POST | /api/orgs/{slug}/invites | physical | conditional |
Source
Agentic Access
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