Letta Agentic Access
Letta exposes 604 API operations that an AI agent could call, of which 346 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: 258 read, 318 write, 20 physical, and 8 safety-critical.
8 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 |
|---|---|---|---|
| POST | /v1/agents/{agent_id}/export | safety-critical | required |
| POST | /v1/agents/{agent_id}/export | safety-critical | required |
| PATCH | /v1/agents/{agent_id}/reset-messages | safety-critical | required |
| PATCH | /v1/agents/{agent_id}/reset-messages | safety-critical | required |
| PATCH | /v1/groups/{group_id}/reset-messages | safety-critical | required |
| PATCH | /v1/groups/{group_id}/reset-messages | safety-critical | required |
| POST | /v1/sandboxes/{sandboxId}/terminate | safety-critical | required |
| POST | /v1/sandboxes/{sandboxId}/terminate | safety-critical | required |
| DELETE | /v1/_internal_templates/deployment/{deployment_id} | physical | conditional |
| DELETE | /v1/_internal_templates/deployment/{deployment_id} | physical | conditional |
| POST | /v1/agents/search | physical | conditional |
| POST | /v1/agents/search | physical | conditional |
| POST | /v1/agents/{agent_id}/messages | physical | conditional |
| POST | /v1/agents/{agent_id}/messages | physical | conditional |
| POST | /v1/agents/{agent_id}/messages/async | physical | conditional |
| POST | /v1/agents/{agent_id}/messages/async | physical | conditional |
| POST | /v1/agents/{agent_id}/messages/stream | physical | conditional |
| POST | /v1/agents/{agent_id}/messages/stream | physical | conditional |
| POST | /v1/conversations/{conversation_id}/messages | physical | conditional |
| POST | /v1/conversations/{conversation_id}/messages | physical | conditional |
| POST | /v1/environments/{connectionId}/messages | physical | conditional |
| POST | /v1/environments/{connectionId}/messages | physical | conditional |
| POST | /v1/metadata/feedback | physical | conditional |
| POST | /v1/metadata/feedback | physical | conditional |
| POST | /v1/metadata/telemetry | physical | conditional |
Source
Agentic Access
generated: '2026-07-15'
method: generated
source: openapi/letta-openapi.json, openapi/letta-openapi.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: 604
by_action_class:
acting: 346
connected: 258
by_consequence:
write: 318
read: 258
safety-critical: 8
physical: 20
human_in_the_loop_required: 8
operations:
- path: /v1/archives/
method: post
operationId: create_archive
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/archives/
method: get
operationId: list_archives
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/archives/{archive_id}
method: get
operationId: retrieve_archive
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/archives/{archive_id}
method: patch
operationId: modify_archive
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/archives/{archive_id}
method: delete
operationId: delete_archive
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/archives/{archive_id}/agents
method: get
operationId: list_agents_for_archive
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/archives/{archive_id}/passages
method: post
operationId: create_passage_in_archive
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/archives/{archive_id}/passages/batch
method: post
operationId: create_passages_in_archive
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/archives/{archive_id}/passages/{passage_id}
method: delete
operationId: delete_passage_from_archive
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/tools/{tool_id}
method: delete
operationId: delete_tool
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/tools/{tool_id}
method: get
operationId: retrieve_tool
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tools/{tool_id}
method: patch
operationId: modify_tool
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/tools/count
method: get
operationId: count_tools
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tools/
method: get
operationId: list_tools
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tools/
method: post
operationId: create_tool
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/tools/
method: put
operationId: upsert_tool
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/tools/search
method: post
operationId: search_tools
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/tools/add-base-tools
method: post
operationId: add_base_tools
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/tools/run
method: post
operationId: run_tool_from_source
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/tools/mcp/servers
method: get
operationId: list_mcp_servers
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tools/mcp/servers
method: put
operationId: add_mcp_server
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/tools/mcp/servers/{mcp_server_name}/tools
method: get
operationId: list_mcp_tools_by_server
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/tools/mcp/servers/{mcp_server_name}/resync
method: post
operationId: resync_mcp_server_tools
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/tools/mcp/servers/{mcp_server_name}/{mcp_tool_name}
method: post
operationId: add_mcp_tool
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/tools/mcp/servers/{mcp_server_name}
method: patch
operationId: update_mcp_server
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/tools/mcp/servers/{mcp_server_name}
method: delete
operationId: delete_mcp_server
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/tools/mcp/servers/test
method: post
operationId: test_mcp_server
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/tools/mcp/servers/connect
method: post
operationId: connect_mcp_server
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/tools/mcp/servers/{mcp_server_name}/tools/{tool_name}/execute
method: post
operationId: execute_mcp_tool
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/tools/mcp/oauth/callback
method: get
operationId: mcp_oauth_callback
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/count
method: get
operationId: count_sources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/{source_id}
method: get
operationId: retrieve_source
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/{source_id}
method: patch
operationId: modify_source
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/sources/{source_id}
method: delete
operationId: delete_source
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/sources/name/{source_name}
method: get
operationId: get_source_id_by_name
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/metadata
method: get
operationId: get_sources_metadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/
method: get
operationId: list_sources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/
method: post
operationId: create_source
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/sources/{source_id}/upload
method: post
operationId: upload_file_to_source
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/sources/{source_id}/agents
method: get
operationId: get_agents_for_source
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/{source_id}/passages
method: get
operationId: list_source_passages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/{source_id}/files
method: get
operationId: list_source_files
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/{source_id}/files/{file_id}
method: get
operationId: get_file_metadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/sources/{source_id}/{file_id}
method: delete
operationId: delete_file_from_source
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/folders/count
method: get
operationId: count_folders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/{folder_id}
method: get
operationId: retrieve_folder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/{folder_id}
method: patch
operationId: modify_folder
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/folders/{folder_id}
method: delete
operationId: delete_folder
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/folders/name/{folder_name}
method: get
operationId: get_folder_by_name
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/metadata
method: get
operationId: retrieve_metadata
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/
method: get
operationId: list_folders
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/
method: post
operationId: create_folder
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/folders/{folder_id}/upload
method: post
operationId: upload_file_to_folder
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/folders/{folder_id}/agents
method: get
operationId: list_agents_for_folder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/{folder_id}/passages
method: get
operationId: list_folder_passages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/{folder_id}/files
method: get
operationId: list_files_for_folder
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/{folder_id}/files/{file_id}
method: get
operationId: retrieve_file
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/folders/{folder_id}/{file_id}
method: delete
operationId: delete_file_from_folder
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/
method: get
operationId: list_agents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/
method: post
operationId: create_agent
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/count
method: get
operationId: count_agents
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/export
method: get
operationId: export_agent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/export
method: post
operationId: export_agent_with_skills
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: /v1/agents/import
method: post
operationId: import_agent
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}/context
method: get
operationId: retrieve_agent_context_window
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}
method: patch
operationId: modify_agent
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}
method: get
operationId: retrieve_agent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}
method: delete
operationId: delete_agent
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}/tools
method: get
operationId: list_tools_for_agent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/tools/attach/{tool_id}
method: patch
operationId: attach_tool_to_agent
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}/tools/detach/{tool_id}
method: patch
operationId: detach_tool_from_agent
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}/tools/approval/{tool_name}
method: patch
operationId: modify_approval_for_tool
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}/tools/{tool_name}/run
method: post
operationId: run_tool_for_agent
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}/sources/attach/{source_id}
method: patch
operationId: attach_source_to_agent
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}/folders/attach/{folder_id}
method: patch
operationId: attach_folder_to_agent
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}/sources/detach/{source_id}
method: patch
operationId: detach_source_from_agent
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}/folders/detach/{folder_id}
method: patch
operationId: detach_folder_from_agent
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/close-all
method: patch
operationId: close_all_files_for_agent
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/{file_id}/open
method: patch
operationId: open_file_for_agent
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/{file_id}/close
method: patch
operationId: close_file_for_agent
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}/sources
method: get
operationId: list_agent_sources
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/folders
method: get
operationId: list_folders_for_agent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/files
method: get
operationId: list_files_for_agent
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/core-memory
method: get
operationId: retrieve_agent_memory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/core-memory/blocks/{block_label}
method: get
operationId: retrieve_core_memory_block
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/core-memory/blocks/{block_label}
method: patch
operationId: modify_core_memory_block
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}/core-memory/blocks
method: get
operationId: list_core_memory_blocks
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/recompile
method: post
operationId: recompile_agent
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}/system-prompt/recompile
method: post
operationId: recompile_agent_system_prompt
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}/core-memory/blocks/attach/{block_id}
method: patch
operationId: attach_core_memory_block
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}/core-memory/blocks/detach/{block_id}
method: patch
operationId: detach_core_memory_block
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}/archives/attach/{archive_id}
method: patch
operationId: attach_archive_to_agent
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}/archives/detach/{archive_id}
method: patch
operationId: detach_archive_from_agent
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}/identities/attach/{identity_id}
method: patch
operationId: attach_identity_to_agent
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}/identities/detach/{identity_id}
method: patch
operationId: detach_identity_from_agent
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}/archival-memory
method: get
operationId: list_passages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/archival-memory
method: post
operationId: create_passage
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}/archival-memory/search
method: get
operationId: search_archival_memory
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/archival-memory/{memory_id}
method: delete
operationId: delete_passage
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}/messages
method: get
operationId: list_messages
x-agentic-access:
action-class: connected
consequence: read
subject: optional
token:
max-ttl: 3600
audit: none
- path: /v1/agents/{agent_id}/messages
method: post
operationId: send_message
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: /v1/agents/{agent_id}/messages/{message_id}
method: patch
operationId: modify_message
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}/messages/stream
method: post
operationId: create_agent_message_stream
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: /v1/agents/{agent_id}/messages/cancel
method: post
operationId: cancel_message
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}/generate
method: post
operationId: generate_completion
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/messages/search
method: post
operationId: search_messages
x-agentic-access:
action-class: acting
consequence: write
subject: required
audience: null
token:
max-ttl:
# --- truncated at 32 KB (179 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/letta/refs/heads/main/agentic-access/letta-agentic-access.yml