Toolhouse · Agentic Access

Toolhouse Agentic Access

x-agentic-access generated

Toolhouse exposes 124 API operations that an AI agent could call, of which 57 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: 67 read, 55 write, 1 physical, and 1 safety-critical.

1 operation 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.

Agent InfrastructureAI AgentsAI WorkersBackend as a ServiceMCPMCP DiscoveryRAGToolsWorkers API
Operations: 124 Acting: 57 Human-in-the-loop: 1 Method: generated

By consequence

read 67 write 55 physical 1 safety-critical 1

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 /backoffice/users/reset_credit_allowance safety-critical required
POST /me/agents/{agent_id}/transfer physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/toolhouse-openapi-original.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 124
  by_action_class:
    connected: 67
    acting: 57
  by_consequence:
    read: 67
    write: 55
    physical: 1
    safety-critical: 1
  human_in_the_loop_required: 1
operations:
- path: /me/agent-runs
  method: get
  operationId: get_user_agent_runs_me_agent_runs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agent-runs/{run_id}
  method: get
  operationId: get_user_agent_run_me_agent_runs__run_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agent-runs/{run_id}/mcp-server-logs
  method: get
  operationId: get_user_agent_run_mcp_server_logs_me_agent_runs__run_id__mcp_server_logs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agent-runs/{run_id}/logs
  method: get
  operationId: get_user_agent_run_logs_me_agent_runs__run_id__logs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/subscribe
  method: post
  operationId: subscribe_to_agent_me_agents__agent_id__subscribe_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: /me/agents/{agent_id}/unsubscribe
  method: post
  operationId: unsubscribe_from_agent_me_agents__agent_id__unsubscribe_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: /me/subscriptions
  method: get
  operationId: list_agent_subscriptions_me_subscriptions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/subscriptions/{agent_id}
  method: get
  operationId: get_agent_subscription_me_subscriptions__agent_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agent-studio-chats
  method: get
  operationId: get_agent_studio_chats_me_agent_studio_chats_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agent-studio-chats
  method: post
  operationId: create_agent_studio_chat_me_agent_studio_chats_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: /me/agent-studio-chats/{run_id}
  method: get
  operationId: get_agent_studio_chat_me_agent_studio_chats__run_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agent-studio-chats/{run_id}
  method: put
  operationId: update_agent_studio_chat_me_agent_studio_chats__run_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: /me/agent-studio-chats/{run_id}
  method: patch
  operationId: patch_agent_studio_chat_me_agent_studio_chats__run_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: /me/agent-studio-chats/{run_id}
  method: delete
  operationId: delete_agent_studio_chat_me_agent_studio_chats__run_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: /me/agent-studio-chats/{run_id}/clone
  method: post
  operationId: clone_agent_studio_chat_me_agent_studio_chats__run_id__clone_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: /me/agents/{agent_id}/customizations/theme
  method: get
  operationId: get_agent_theme_preference_me_agents__agent_id__customizations_theme_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/customizations/theme
  method: put
  operationId: upsert_agent_theme_preference_me_agents__agent_id__customizations_theme_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: /me/agents/{agent_id}/files
  method: get
  operationId: list_agent_files_me_agents__agent_id__files_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/files
  method: post
  operationId: create_agent_file_me_agents__agent_id__files_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: /me/agents/{agent_id}/files/{file_id}
  method: get
  operationId: get_agent_file_me_agents__agent_id__files__file_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/files/{file_id}
  method: patch
  operationId: update_agent_file_me_agents__agent_id__files__file_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: /me/agents/{agent_id}/files/{file_id}
  method: delete
  operationId: delete_agent_file_me_agents__agent_id__files__file_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: /me/agents/{agent_id}/files/positions
  method: put
  operationId: update_file_positions_me_agents__agent_id__files_positions_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: /me/agents
  method: get
  operationId: get_all_agents_me_agents_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents
  method: post
  operationId: upsert_agent_me_agents_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: /me/agents/list
  method: get
  operationId: get_agents_list_me_agents_list_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}
  method: get
  operationId: get_agent_me_agents__agent_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/upsell-description
  method: post
  operationId: generate_agent_upsell_description_me_agents__agent_id__upsell_description_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: /me/agents/vanity/slug
  method: post
  operationId: generate_slug_me_agents_vanity_slug_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: /me/agents/vanity/slug
  method: get
  operationId: check_slug_availability_me_agents_vanity_slug_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/transfer
  method: post
  operationId: transfer_agent_me_agents__agent_id__transfer_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: /me/api-keys
  method: get
  operationId: get_api_keys_me_api_keys_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/api-keys
  method: post
  operationId: post_create_api_key_me_api_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: /me/api-keys/default
  method: get
  operationId: get_default_api_key_me_api_keys_default_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/api-keys/{api_key_id}
  method: get
  operationId: get_api_key_me_api_keys__api_key_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/api-keys/{api_key_id}
  method: delete
  operationId: delete_api_key_me_api_keys__api_key_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: /me/billing
  method: get
  operationId: billing_information_me_billing_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/chats
  method: get
  operationId: get_all_chats_me_chats_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/chats
  method: post
  operationId: create_chat_me_chats_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: /me/chats/{chat_id}
  method: get
  operationId: get_chat_me_chats__chat_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/chats/{chat_id}
  method: put
  operationId: edit_chat_me_chats__chat_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: /me/chats/{chat_id}
  method: patch
  operationId: patch_chat_me_chats__chat_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: /me/chats/{chat_id}
  method: delete
  operationId: del_chat_me_chats__chat_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: /me/chats/{chat_id}/og
  method: get
  operationId: get_chat_og_metadata_me_chats__chat_id__og_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/chats/{chat_id}/clone
  method: post
  operationId: clone_chat_me_chats__chat_id__clone_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: /me/chats/{chat_id}/feedback
  method: post
  operationId: post_chat_feedback_me_chats__chat_id__feedback_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: /me/chats/{chat_id}/runs
  method: post
  operationId: post_agent_run_log_me_chats__chat_id__runs_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: /me/cli-auth
  method: post
  operationId: create_cli_auth_me_cli_auth_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: /me/cli-auth/{cli_auth_id}
  method: put
  operationId: update_cli_auth_me_cli_auth__cli_auth_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: /me/cli-auth/{auth_id}
  method: get
  operationId: get_cli_auth_me_cli_auth__auth_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/credits
  method: get
  operationId: get_user_credits_me_credits_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/credits/use
  method: post
  operationId: use_user_credits_me_credits_use_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: /me/executions
  method: get
  operationId: get_user_logs_me_executions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/executions/{log_id}
  method: get
  operationId: get_user_log_by_id_me_executions__log_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/metrics/agent-runs
  method: get
  operationId: get_agent_run_metrics_me_metrics_agent_runs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/metrics/agent-runs/summary
  method: get
  operationId: get_agent_run_metrics_summary_me_metrics_agent_runs_summary_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/metrics/agent-runs/volume
  method: get
  operationId: get_agent_run_metrics_volume_me_metrics_agent_runs_volume_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/metrics/agent-runs/agents
  method: get
  operationId: get_agent_run_metrics_agents_me_metrics_agent_runs_agents_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/monetization/summary
  method: get
  operationId: get_monetization_summary_me_monetization_summary_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/monetization/subscribers
  method: get
  operationId: get_monetization_subscribers_me_monetization_subscribers_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/monetization/earnings
  method: get
  operationId: get_monetization_earnings_me_monetization_earnings_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/stripe/webhook
  method: post
  operationId: stripe_webhook_me_stripe_webhook_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: /me/stripe/sessions
  method: post
  operationId: get_stripe_sessions_me_stripe_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: /me/schedules
  method: get
  operationId: get_schedule_list_me_schedules_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/schedules
  method: post
  operationId: create_schedule_me_schedules_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: /me/schedules/onboarding
  method: get
  operationId: get_onboarding_schedule_me_schedules_onboarding_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/schedules/text-to-cron
  method: get
  operationId: text_to_cron_me_schedules_text_to_cron_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/schedules/{schedule_id}
  method: get
  operationId: get_schedule_by_id_me_schedules__schedule_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/schedules/{schedule_id}
  method: put
  operationId: edit_schedule_me_schedules__schedule_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: /me/schedules/{schedule_id}
  method: delete
  operationId: del_schedule_me_schedules__schedule_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: /me/
  method: get
  operationId: get_user_me__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/vibe/services
  method: get
  operationId: get_vibe_services_me_vibe_services_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/agents/{agent_id}/vibe
  method: get
  operationId: get_vibe_agent_prompt_me_agents__agent_id__vibe_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/vip
  method: get
  operationId: fetch_redemption_count_me_vip_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/vip
  method: post
  operationId: redeem_code_me_vip_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: /me/mcp-registry/servers
  method: get
  operationId: search_mcp_servers_me_mcp_registry_servers_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/mcp-servers
  method: get
  operationId: get_mcp_servers_me_mcp_servers_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /me/mcp-servers/details
  method: get
  operationId: get_smithery_mcp_server_details_me_mcp_servers_details_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/agent-runs-from-schedule
  method: post
  operationId: bo_create_agent_run_from_schedule_backoffice_agent_runs_from_schedule_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: /backoffice/api-keys
  method: post
  operationId: post_create_api_key_backoffice_api_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: /backoffice/users/{user_id}/credits
  method: get
  operationId: get_user_credits_request_backoffice_users__user_id__credits_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/users/{user_id}/monthly_credit_allowance
  method: put
  operationId: update_user_credits_request_backoffice_users__user_id__monthly_credit_allowance_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: /backoffice/users/reset_credit_allowance
  method: post
  operationId: post_reset_credit_allowance_backoffice_users_reset_credit_allowance_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: /backoffice/events
  method: post
  operationId: proxy_to_customerio_backoffice_events_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: /backoffice/onboarding-runs
  method: post
  operationId: create_run_backoffice_onboarding_runs_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: /backoffice/schedules
  method: get
  operationId: get_active_schedules_backoffice_schedules_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/users/{user_id}
  method: get
  operationId: get_user_route_backoffice_users__user_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/users/{user_id}/default-api-key
  method: get
  operationId: get_default_api_key_for_user_backoffice_users__user_id__default_api_key_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/users/by/email/{email}
  method: get
  operationId: get_user_by_email_route_backoffice_users_by_email__email__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/users
  method: post
  operationId: create_user_route_backoffice_users_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: /backoffice/mcp-servers
  method: get
  operationId: get_mcp_servers_backoffice_mcp_servers_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /backoffice/mcp-servers
  method: post
  operationId: sync_mcp_servers_backoffice_mcp_servers_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: /backoffice/cleanup
  method: post
  operationId: perform_cleanup_tasks_backoffice_cleanup_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: /backoffice/worker-status
  method: get
  operationId: get_worker_status_backoffice_worker_status_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/agent-runs
  method: get
  operationId: get_all_agent_runs_v1_agent_runs_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/agent-runs
  method: post
  operationId: create_agent_run_v1_agent_runs_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/agent-runs/{run_id}
  method: get
  operationId: get_agent_run_v1_agent_runs__run_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/agent-runs/{run_id}
  method: put
  operationId: put_agent_run_v1_agent_runs__run_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: /v1/agents/{agent_id}/files
  method: get
  operationId: get_agent_files_for_service_v1_agents__agent_id__files_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/agents
  method: get
  operationId: get_all_chats_v1_agents_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/agents
  method: post
  operationId: upsert_agent_v1_agents_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/agents/{chat_id}
  method: get
  operationId: get_chat_v1_agents__chat_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/agents/{chat_id}
  method: put
  operationId: edit_chat_v1_agents__chat_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: /v1/agents/{chat_id}
  method: patch
  operationId: patch_chat_v1_agents__chat_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: /v1/agents/{chat_id}
  method: delete
  operationId: del_chat_v1_agents__chat_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:
      - abn

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