Authentication

Project API key permissions

Scoped project API keys let you choose which project resources a key can access. Use them when a key only needs a subset of your project, such as executing tools, reading logs, or managing connected accounts.

Permissions are selected when the key is created and cannot be changed later. To change permissions, create a new key and rotate your application to use it.

Default project API keys keep full project API key access. Scoped project API keys use the permission areas and access levels on this page.

Access levels

Access levelWhat it allows
No accessThe key cannot use routes in that permission area.
Read onlyThe key can use read routes in that permission area.
Write onlyThe key can use write routes in that permission area.
Read and writeThe key can use both read and write routes in that permission area.

Some read routes use POST because the request body carries filters or lookup input. The access level is based on what the route does, not only the HTTP method.

Permission areas

Jump to each permission area to see the routes it covers.

Permission areaAvailable levelsRoutes
Auth configsNo access, Read only, Write only, Read and writeView routes
Connected accountsNo access, Read only, Write only, Read and writeView routes
ToolsNo access, Read onlyView routes
Tool executionNo access, Write onlyView routes
Proxy executeNo access, Write onlyView routes
ToolkitsNo access, Read only, Write only, Read and writeView routes
TriggersNo access, Read only, Write only, Read and writeView routes
WebhooksNo access, Read only, Write only, Read and writeView routes
ObservabilityNo access, Read onlyView routes
SessionsNo access, Read only, Write only, Read and writeView routes

Auth configs

View and modify auth configs.

AccessMethodEndpoint
ReadGET/api/v3/auth_configs
ReadGET/api/v3/auth_configs/{nanoid}
WritePOST/api/v3/auth_configs
WritePATCH/api/v3/auth_configs/{nanoid}
WriteDELETE/api/v3/auth_configs/{nanoid}
WritePATCH/api/v3/auth_configs/{nanoid}/{status}

Connected accounts

View and manage connected accounts.

AccessMethodEndpoint
ReadGET/api/v3/connected_accounts
ReadGET/api/v3/connected_accounts/{nanoid}
WritePOST/api/v3/connected_accounts
WritePOST/api/v3/connected_accounts/link
WritePATCH/api/v3/connected_accounts/{nanoid}
WritePATCH/api/v3/connected_accounts/{nanoid}/status
WritePOST/api/v3/connected_accounts/{nanoid}/refresh
WriteDELETE/api/v3/connected_accounts/{nanoid}
WritePOST/api/v3.1/connected_accounts/{nanoid}/revoke

Tools

View tool definitions, inputs, scopes, and versions.

AccessMethodEndpoint
ReadGET/api/v3/tools
ReadGET/api/v3/tools/enum
ReadGET/api/v3/tools/{tool_slug}
ReadGET/api/v3/tools/{tool_slug}/get_latest_version
ReadGET/api/v3/tools/scopes/required
ReadGET/api/v3/tools/get_scopes_required
ReadPOST/api/v3/tools/execute/{tool_slug}/input
ReadGET/api/v3.1/tools
ReadGET/api/v3.1/tools/enum
ReadGET/api/v3.1/tools/{tool_slug}
ReadGET/api/v3.1/tools/scopes/required
ReadGET/api/v3.1/tools/get_scopes_required
ReadPOST/api/v3.1/tools/execute/{tool_slug}/input

Tool execution

Execute predefined Composio tools.

AccessMethodEndpoint
WritePOST/api/v3/tools/execute/{tool_slug}
WritePOST/api/v3.1/tools/execute/{tool_slug}
WritePOST/api/v3/files/upload/request

Proxy execute

Execute raw proxy requests against connected accounts.

Proxy execute is separate from tool execution. Grant it only when your application needs to call a connected account API through the raw proxy path.

AccessMethodEndpoint
WritePOST/api/v3.1/tools/execute/proxy
WritePOST/api/v3/tool_router/session/{session_id}/proxy_execute

Toolkits

View and install toolkits.

AccessMethodEndpoint
ReadGET/api/v3/toolkits
ReadGET/api/v3/toolkits/{slug}
ReadGET/api/v3/toolkits/categories
ReadGET/api/v3/toolkits/changelog
WritePOST/api/v3/toolkits/multi

Triggers

View trigger types and manage trigger instances.

AccessMethodEndpoint
ReadGET/api/v3/triggers_types
ReadGET/api/v3/triggers_types/{slug}
ReadGET/api/v3/triggers_types/list/enum
ReadGET/api/v3/trigger_instances/active
WritePOST/api/v3/trigger_instances/{slug}/upsert
WritePATCH/api/v3/trigger_instances/manage/{triggerId}
WriteDELETE/api/v3/trigger_instances/manage/{triggerId}

Webhooks

View and manage webhook endpoints and subscriptions.

AccessMethodEndpoint
ReadGET/api/v3/webhook_endpoints
ReadGET/api/v3/webhook_endpoints/{nano_id}
ReadGET/api/v3/webhook_endpoints/schema
ReadGET/api/v3/webhook_subscriptions
ReadGET/api/v3/webhook_subscriptions/{id}
ReadGET/api/v3/webhook_subscriptions/event_types
WritePOST/api/v3/webhook_endpoints
WritePOST/api/v3/webhook_endpoints/{nano_id}
WritePATCH/api/v3/webhook_endpoints/{nano_id}
WriteDELETE/api/v3/webhook_endpoints/{nano_id}
WritePOST/api/v3/webhook_subscriptions
WritePATCH/api/v3/webhook_subscriptions/{id}
WriteDELETE/api/v3/webhook_subscriptions/{id}
WritePOST/api/v3/webhook_subscriptions/{id}/rotate_secret

Observability

View execution logs and project usage summaries.

AccessMethodEndpoint
ReadPOST/api/v3.1/logs/tool_execution
ReadGET/api/v3.1/logs/tool_execution/{id}
ReadPOST/api/v3.1/project/usage/{entity_type}
ReadPOST/api/v3.1/project/usage/summary

Sessions

Create and operate sessions.

AccessMethodEndpoint
ReadGET/api/v3/tool_router/session/{session_id}
ReadGET/api/v3/tool_router/session/{session_id}/toolkits
ReadGET/api/v3/tool_router/session/{session_id}/tools
ReadGET/api/v3/tool_router/session/{session_id}/mounts/{mount_id}/items
ReadGET/api/v3.1/tool_router/session/{session_id}
ReadGET/api/v3.1/tool_router/session/{session_id}/config_history
ReadGET/api/v3.1/tool_router/session/{session_id}/tools
WritePOST/api/v3/tool_router/session
WritePOST/api/v3/tool_router/session/{session_id}/execute
WritePOST/api/v3/tool_router/session/{session_id}/execute_meta
WritePOST/api/v3/tool_router/session/{session_id}/link
WritePOST/api/v3/tool_router/session/{session_id}/search
WritePATCH/api/v3/tool_router/session/{session_id}
WritePOST/api/v3/tool_router/session/{session_id}/mounts/{mount_id}/upload_url
WritePOST/api/v3/tool_router/session/{session_id}/mounts/{mount_id}/download_url
WritePOST/api/v3/tool_router/session/{session_id}/mounts/{mount_id}/delete
WritePOST/api/v3.1/tool_router/session
WritePOST/api/v3.1/tool_router/session/{session_id}/attach
WritePOST/api/v3.1/tool_router/session/{session_id}/execute
WritePOST/api/v3.1/tool_router/session/{session_id}/execute_meta
WritePOST/api/v3.1/tool_router/session/{session_id}/search
WritePATCH/api/v3.1/tool_router/session/{session_id}