RunWhen · Agentic Access

RunWhen Agentic Access

x-agentic-access generated

RunWhen exposes 417 API operations that an AI agent could call, of which 181 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: 236 read, 168 write, 3 physical, and 10 safety-critical.

10 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.

CompanyAIOpsSREDevOpsObservabilityIncident ResponseAI AgentsKubernetesAutomationMCP
Operations: 417 Acting: 181 Human-in-the-loop: 10 Method: generated

By consequence

read 236 write 168 physical 3 safety-critical 10

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.

MethodPathConsequenceHuman-in-loop
POST /api/v1/users/tokens/{token_id}/revoke safety-critical required
POST /api/v1/workspaces/{workspace_name}/reset-service-account safety-critical required
POST /api/v3/rwsupport/prompt-hub/agents/{agent_name}/sections/{section_id}/overrides safety-critical required
DELETE /api/v3/rwsupport/prompt-hub/agents/{agent_name}/sections/{section_id}/overrides safety-critical required
POST /api/v3/rwsupport/prompt-hub/agents/{agent_name}/sections/{section_id}/overrides/{override_id}/restore safety-critical required
POST /api/v3/rwsupport/scrubhub/assignments/{workspace_name}/reset safety-critical required
POST /api/v3/users/forgot-password safety-critical required
POST /api/v3/users/reset-password safety-critical required
POST /api/v3/users/tokens/{token_id}/revoke safety-critical required
POST /api/v3/workspaces/{workspace_name}/reset-service-account safety-critical required
POST /api/v1/workspaces/{workspace_name}/reprovision-workspace-infra physical conditional
POST /api/v3/users/resend-verification physical conditional
POST /api/v3/workspaces/{workspace_name}/reprovision-workspace-infra physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-21'
method: generated
source: openapi/runwhen-papi-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: 417
  by_action_class:
    connected: 236
    acting: 181
  by_consequence:
    read: 236
    write: 168
    safety-critical: 10
    physical: 3
  human_in_the_loop_required: 10
operations:
- path: /.well-known/oauth-authorization-server
  method: get
  operationId: oauth_as_metadata__well_known_oauth_authorization_server_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /.well-known/openid-configuration
  method: get
  operationId: openid_configuration__well_known_openid_configuration_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth/authorize
  method: get
  operationId: oauth_authorize_oauth_authorize_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth/authorize/login/email
  method: post
  operationId: oauth_authorize_email_login_oauth_authorize_login_email_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/authorize/enterprise
  method: get
  operationId: oauth_authorize_enterprise_oauth_authorize_enterprise_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth/authorize/login/{idp_name}
  method: get
  operationId: oauth_authorize_oidc_login_oauth_authorize_login__idp_name__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth/authorize/callback/{idp_name}
  method: get
  operationId: oauth_authorize_oidc_callback_oauth_authorize_callback__idp_name__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /oauth/token
  method: post
  operationId: oauth_token_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: /.well-known/jwks.json
  method: get
  operationId: jwks_endpoint__well_known_jwks_json_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/auth0/login/
  method: get
  operationId: auth0_login_accounts_auth0_login__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/auth0/login/callback/
  method: get
  operationId: auth0_callback_accounts_auth0_login_callback__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/logout/
  method: get
  operationId: generic_logout_accounts_logout__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/auth0/logout/
  method: get
  operationId: auth0_logout_accounts_auth0_logout__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /rd/{nxt_raw}
  method: get
  operationId: login_redirect_rd__nxt_raw__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/google/login/
  method: get
  operationId: google_login_accounts_google_login__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/google/login/callback/
  method: get
  operationId: google_callback_accounts_google_login_callback__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/github/login/
  method: get
  operationId: github_login_accounts_github_login__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/github/login/callback/
  method: get
  operationId: github_callback_accounts_github_login_callback__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/gitlab/login/
  method: get
  operationId: gitlab_login_accounts_gitlab_login__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/gitlab/login/callback/
  method: get
  operationId: gitlab_callback_accounts_gitlab_login_callback__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/profile/{user_id}
  method: get
  operationId: get_profile_accounts_profile__user_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /accounts/profile/{user_id}
  method: put
  operationId: update_profile_accounts_profile__user_id__put
  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: /accounts/profile/{user_id}
  method: delete
  operationId: delete_profile_accounts_profile__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: /accounts/sync-user-account
  method: post
  operationId: sync_user_account_accounts_sync_user_account_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: /
  method: get
  operationId: root__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /healthz
  method: get
  operationId: health_healthz_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: /livez
  method: get
  operationId: liveness_livez_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /internal/api/v1/health
  method: get
  operationId: explorer_health_internal_api_v1_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /internal/api/v1/getSLIEnv
  method: post
  operationId: get_sli_env_internal_api_v1_getSLIEnv_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/api/v1/getSLIEnv
  method: get
  operationId: get_sli_env_internal_api_v1_getSLIEnv_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /internal/api/v1/runners/register
  method: post
  operationId: register_runner_internal_api_v1_runners_register_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/api/v1/runners/status
  method: post
  operationId: runner_status_update_internal_api_v1_runners_status_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/api/v1/runners/run-status
  method: post
  operationId: runner_run_status_internal_api_v1_runners_run_status_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/api/v1/sli
  method: get
  operationId: list_slis_internal_api_v1_sli_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /internal/api/v1/codeCollection
  method: get
  operationId: list_code_collections_internal_api_v1_codeCollection_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /internal/api/v1/codeCollection/{collection_id}
  method: get
  operationId: get_code_collection_internal_api_v1_codeCollection__collection_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces
  method: get
  operationId: list_workspaces_api_v1_workspaces_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces
  method: post
  operationId: create_workspace_api_v1_workspaces_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/v1/workspaces/{workspace_short_name}
  method: get
  operationId: get_workspace_api_v1_workspaces__workspace_short_name__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/provisioning-status/{workspace_name}
  method: get
  operationId: provisioning_status_api_v1_workspaces_provisioning_status__workspace_name__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}
  method: patch
  operationId: update_workspace_api_v1_workspaces__workspace_name__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/v1/workspaces/{workspace_name}
  method: delete
  operationId: delete_workspace_api_v1_workspaces__workspace_name__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/v1/workspaces/{workspace_name}/workspace-configuration-index
  method: get
  operationId: get_workspace_configuration_index_api_v1_workspaces__workspace_name__workspace_configuration_index_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/metadata
  method: get
  operationId: get_workspace_metadata_api_v1_workspaces__workspace_name__metadata_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/entities
  method: get
  operationId: get_workspace_entities_api_v1_workspaces__workspace_name__entities_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/index-health
  method: get
  operationId: get_workspace_index_health_api_v1_workspaces__workspace_name__index_health_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/status
  method: get
  operationId: get_workspace_status_api_v1_workspaces__workspace_name__status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/my-permissions
  method: get
  operationId: get_my_permissions_api_v1_workspaces__workspace_name__my_permissions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/sync-status
  method: get
  operationId: get_workspace_sync_status_api_v1_workspaces__workspace_name__sync_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/secrets-keys
  method: get
  operationId: get_workspace_secret_keys_api_v1_workspaces__workspace_name__secrets_keys_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/secrets
  method: post
  operationId: create_workspace_secrets_api_v1_workspaces__workspace_name__secrets_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/v1/workspaces/{workspace_name}/secrets/{secret_key}
  method: delete
  operationId: delete_workspace_secret_api_v1_workspaces__workspace_name__secrets__secret_key__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/v1/workspaces/{workspace_name}/secrets/{secret_key}/usage
  method: get
  operationId: get_workspace_secret_usage_api_v1_workspaces__workspace_name__secrets__secret_key__usage_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/reset-service-account
  method: post
  operationId: reset_workspace_service_account_api_v1_workspaces__workspace_name__reset_service_account_post
  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/v1/workspaces/{workspace_name}/sa-token
  method: get
  operationId: get_workspace_sa_token_api_v1_workspaces__workspace_name__sa_token_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/get-gitlab-sas
  method: get
  operationId: get_gitlab_service_accounts_api_v1_workspaces__workspace_name__get_gitlab_sas_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/task-search
  method: post
  operationId: search_workspace_tasks_api_v1_workspaces__workspace_name__task_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: /api/v1/workspaces/{workspace_name}/autocomplete
  method: post
  operationId: autocomplete_workspace_search_api_v1_workspaces__workspace_name__autocomplete_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/v1/workspaces/{workspace_name}/runners
  method: get
  operationId: get_runners_api_v1_workspaces__workspace_name__runners_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/generate-workspace-builder-config
  method: get
  operationId: generate_workspace_builder_config_api_v1_workspaces__workspace_name__generate_workspace_builder_config_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/search-scope
  method: get
  operationId: get_search_scope_api_v1_workspaces__workspace_name__search_scope_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/upload-config
  method: get
  operationId: get_upload_config_api_v1_workspaces__workspace_name__upload_config_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/internal/upload-config
  method: get
  operationId: get_internal_upload_config_api_v1_workspaces__workspace_name__internal_upload_config_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runner-token
  method: get
  operationId: get_runner_token_api_v1_workspaces__workspace_name__runner_token_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/anonymous-mode
  method: get
  operationId: get_anonymous_mode_status_api_v1_workspaces__workspace_name__anonymous_mode_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/anonymous-mode
  method: post
  operationId: toggle_anonymous_mode_api_v1_workspaces__workspace_name__anonymous_mode_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/v1/workspaces/{workspace_short_name}/workspace-stats
  method: get
  operationId: workspace_stats_api_v1_workspaces__workspace_short_name__workspace_stats_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_short_name}/top-issue-resources
  method: get
  operationId: top_issue_resources_api_v1_workspaces__workspace_short_name__top_issue_resources_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/agentfarm-params
  method: get
  operationId: agentfarm_params_api_v1_workspaces__workspace_name__agentfarm_params_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/activities
  method: get
  operationId: get_workspace_activities_api_v1_workspaces__workspace_name__activities_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runners/{runner_id}
  method: delete
  operationId: delete_runner_api_v1_workspaces__workspace_name__runners__runner_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/v1/workspaces/{workspace_name}/layout
  method: get
  operationId: get_workspace_layout_api_v1_workspaces__workspace_name__layout_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/layout
  method: post
  operationId: save_workspace_layout_api_v1_workspaces__workspace_name__layout_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/v1/workspaces/{workspace_name}/reprovision-workspace-infra
  method: post
  operationId: reprovision_workspace_infra_api_v1_workspaces__workspace_name__reprovision_workspace_infra_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/v1/run-sessions
  method: post
  operationId: create_run_session_api_v1_run_sessions_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/v1/run-sessions
  method: get
  operationId: list_run_sessions_api_v1_run_sessions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/run-sessions/{session_id}
  method: get
  operationId: get_run_session_api_v1_run_sessions__session_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/run-sessions/{session_id}
  method: patch
  operationId: update_run_session_api_v1_run_sessions__session_id__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/v1/run-sessions/{session_id}
  method: delete
  operationId: delete_run_session_api_v1_run_sessions__session_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/v1/run-sessions/{session_id}/deactivate
  method: post
  operationId: deactivate_run_session_api_v1_run_sessions__session_id__deactivate_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/v1/run-sessions/{session_id}/escalate
  method: post
  operationId: escalate_run_session_api_v1_run_sessions__session_id__escalate_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/v1/workspaces/{workspace_name}/runsessions
  method: get
  operationId: list_workspace_run_sessions_api_v1_workspaces__workspace_name__runsessions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runsessions
  method: post
  operationId: create_runsession_with_requests_api_v1_workspaces__workspace_name__runsessions_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/v1/workspaces/{workspace_name}/runsessions/search
  method: post
  operationId: search_workspace_run_sessions_api_v1_workspaces__workspace_name__runsessions_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: /api/v1/workspaces/{workspace_name}/runsessions/search/sources
  method: get
  operationId: get_search_sources_api_v1_workspaces__workspace_name__runsessions_search_sources_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runsessions/{runsession_id}/alerts
  method: get
  operationId: get_runsession_alerts_api_v1_workspaces__workspace_name__runsessions__runsession_id__alerts_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runsessions/{runsession_id}
  method: get
  operationId: get_workspace_run_session_api_v1_workspaces__workspace_name__runsessions__runsession_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runsessions/{runsession_id}
  method: patch
  operationId: patch_workspace_run_session_api_v1_workspaces__workspace_name__runsessions__runsession_id__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/v1/workspaces/{workspace_name}/runsessions/{runsession_id}/summary
  method: get
  operationId: get_workspace_run_session_summary_api_v1_workspaces__workspace_name__runsessions__runsession_id__summary_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runsessions/{runsession_id}/activities
  method: get
  operationId: get_workspace_run_session_activities_api_v1_workspaces__workspace_name__runsessions__runsession_id__activities_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/runsessions/{runsession_id}/step
  method: post
  operationId: step_runsession_api_v1_workspaces__workspace_name__runsessions__runsession_id__step_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/v1/workspaces/{workspace_name}/issues
  method: get
  operationId: list_workspace_issues_api_v1_workspaces__workspace_name__issues_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/issues/{issue_id}
  method: get
  operationId: get_workspace_issue_api_v1_workspaces__workspace_name__issues__issue_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/workspaces/{workspace_name}/issues/{issue_id}
  method: patch
  operationId: update_workspace_issue_api_v1_workspaces__workspace_name__issues__issue_id__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/v1/workspaces/{workspace_name}/issues/{issue_id}
  method: delete
  operationId: delete_workspace_issue_api_v1_workspaces__workspace_name__issues__issue_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/v1/workspaces/{workspace_name}/issues/{issue_id}/ignore
  method: patch
  operationId: ignore_workspace_issue_api_v1_workspaces__workspace_name__issues__issue_id__ignore_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/v1/workspaces/{workspace_name}/issues/{issue_id}/close
  method: patch
  operationId: close_workspace_issue_api_v1_workspaces__workspace_name__issues__issue_id__close_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/v1/workspaces/{workspace_name}/issues/{issue_id}/generate-next-steps
  method: post
  operationId: generate_issue_next_steps_api_v1_workspaces__workspace_name__issues__issue_id__generate_next_steps_post
  x-agen

# --- truncated at 32 KB (146 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/runwhen/refs/heads/main/agentic-access/runwhen-agentic-access.yml