Skip to main content

Commands Reference

Complete list of all CLI commands, grouped by module. Each command maps to one REST API operation.

Special Commands

CommandDescription
soat configureAdd or update a profile in ~/.soat/config.json
soat list-commandsPrint all available API commands
soat listenStart a local webhook listener for testing deliveries

Listener Examples

# Basic webhook listener
soat listen --port 8787 --path /webhook

# Filter only session generation lifecycle events
soat listen --port 8787 --path /webhook --filter sessions.generation.*

# Verify webhook signatures and output JSON lines
soat listen --port 8787 --path /webhook --secret "<webhook-secret>" --json

Actors

See Actors module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-actorsGET/api/v1/api/v1/actors--project-id, --external-id, --limit, --offsetList actors
soat create-actorPOST/api/v1/api/v1/actors--<body fields>Create an actor
soat get-actorGET/api/v1/api/v1/actors/{actor_id}--actor-idGet an actor by ID
soat delete-actorDELETE/api/v1/api/v1/actors/{actor_id}--actor-idDelete an actor
soat update-actorPATCH/api/v1/api/v1/actors/{actor_id}--actor-id, --<body fields>Update an actor
soat get-actor-tagsGET/api/v1/api/v1/actors/{actor_id}/tags--actor-idGet actor tags
soat replace-actor-tagsPUT/api/v1/api/v1/actors/{actor_id}/tags--actor-id, --<body fields>Replace actor tags
soat merge-actor-tagsPATCH/api/v1/api/v1/actors/{actor_id}/tags--actor-id, --<body fields>Merge actor tags

AgentFormations

See AgentFormations module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat validate-agent-formationPOST/api/v1/api/v1/agent-formations/validate--<body fields>Validate a formation template
soat plan-agent-formationPOST/api/v1/api/v1/agent-formations/plan--<body fields>Plan a formation deployment
soat list-agent-formationsGET/api/v1/api/v1/agent-formations--project-idList agent formations
soat create-agent-formationPOST/api/v1/api/v1/agent-formations--<body fields>Create a new agent formation
soat get-agent-formationGET/api/v1/api/v1/agent-formations/{formation_id}--formation-idGet a specific agent formation
soat update-agent-formationPUT/api/v1/api/v1/agent-formations/{formation_id}--formation-id, --<body fields>Update an agent formation
soat delete-agent-formationDELETE/api/v1/api/v1/agent-formations/{formation_id}--formation-idDelete an agent formation
soat list-agent-formation-eventsGET/api/v1/api/v1/agent-formations/{formation_id}/events--formation-idList formation operation events

Agents

See Agents module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat create-agent-toolPOST/api/v1/api/v1/agents/tools--<body fields>Create an agent tool
soat list-agent-toolsGET/api/v1/api/v1/agents/tools--project-idList agent tools
soat get-agent-toolGET/api/v1/api/v1/agents/tools/{tool_id}--tool-idGet an agent tool
soat update-agent-toolPUT/api/v1/api/v1/agents/tools/{tool_id}--tool-id, --<body fields>Update an agent tool
soat delete-agent-toolDELETE/api/v1/api/v1/agents/tools/{tool_id}--tool-idDelete an agent tool
soat create-agentPOST/api/v1/api/v1/agents--<body fields>Create an agent
soat list-agentsGET/api/v1/api/v1/agents--project-idList agents
soat get-agentGET/api/v1/api/v1/agents/{agent_id}--agent-idGet an agent
soat update-agentPUT/api/v1/api/v1/agents/{agent_id}--agent-id, --<body fields>Update an agent
soat delete-agentDELETE/api/v1/api/v1/agents/{agent_id}--agent-idDelete an agent
soat create-agent-generationPOST/api/v1/api/v1/agents/{agent_id}/generate--agent-id, --<body fields>Run an agent generation
soat submit-agent-tool-outputsPOST/api/v1/api/v1/agents/{agent_id}/generate/{generation_id}/tool-outputs--agent-id, --generation-id, --<body fields>Submit tool outputs for a paused generation
soat create-agent-actorPOST/api/v1/api/v1/agents/{agent_id}/actors--agent-id, --<body fields>Create an actor for an agent

AI Providers

See AI Providers module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-ai-providersGET/api/v1/api/v1/ai-providers--project-id, --limit, --offsetList AI providers
soat create-ai-providerPOST/api/v1/api/v1/ai-providers--<body fields>Create an AI provider
soat get-ai-providerGET/api/v1/api/v1/ai-providers/{ai_provider_id}--ai-provider-idGet an AI provider
soat update-ai-providerPATCH/api/v1/api/v1/ai-providers/{ai_provider_id}--ai-provider-id, --<body fields>Update an AI provider
soat delete-ai-providerDELETE/api/v1/api/v1/ai-providers/{ai_provider_id}--ai-provider-idDelete an AI provider

API Keys

See API Keys module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-api-keysGET/api/v1/api/v1/api-keysList API keys
soat create-api-keyPOST/api/v1/api/v1/api-keys--<body fields>Create an API key
soat get-api-keyGET/api/v1/api/v1/api-keys/{api_key_id}--api-key-idGet an API key
soat update-api-keyPUT/api/v1/api/v1/api-keys/{api_key_id}--api-key-id, --<body fields>Update an API key
soat delete-api-keyDELETE/api/v1/api/v1/api-keys/{api_key_id}--api-key-idDelete an API key

Chats

See Chats module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat create-chatPOST/api/v1/api/v1/chats--<body fields>Create a chat
soat list-chatsGET/api/v1/api/v1/chats--project-idList chats
soat get-chatGET/api/v1/api/v1/chats/{chat_id}--chat-idGet a chat
soat delete-chatDELETE/api/v1/api/v1/chats/{chat_id}--chat-idDelete a chat
soat create-chat-completion-for-chatPOST/api/v1/api/v1/chats/{chat_id}/completions--chat-id, --<body fields>Create a chat completion for a stored chat
soat create-chat-completionPOST/api/v1/api/v1/chats/completions--<body fields>Create a chat completion (stateless)
soat create-chat-actorPOST/api/v1/api/v1/chats/{chat_id}/actors--chat-id, --<body fields>Create an actor for a chat

Conversations

See Conversations module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-conversationsGET/api/v1/api/v1/conversations--project-id, --actor-id, --limit, --offsetList conversations
soat create-conversationPOST/api/v1/api/v1/conversations--<body fields>Create a conversation
soat get-conversationGET/api/v1/api/v1/conversations/{conversation_id}--conversation-idGet a conversation by ID
soat update-conversationPATCH/api/v1/api/v1/conversations/{conversation_id}--conversation-id, --<body fields>Update a conversation
soat delete-conversationDELETE/api/v1/api/v1/conversations/{conversation_id}--conversation-idDelete a conversation
soat list-conversation-messagesGET/api/v1/api/v1/conversations/{conversation_id}/messages--conversation-id, --limit, --offsetList conversation messages
soat add-conversation-messagePOST/api/v1/api/v1/conversations/{conversation_id}/messages--conversation-id, --<body fields>Add a message to a conversation
soat generate-conversation-messagePOST/api/v1/api/v1/conversations/{conversation_id}/generate--conversation-id, --<body fields>Generate the next message in a conversation
soat list-conversation-actorsGET/api/v1/api/v1/conversations/{conversation_id}/actors--conversation-idList actors in a conversation
soat remove-conversation-messageDELETE/api/v1/api/v1/conversations/{conversation_id}/messages/{document_id}--conversation-id, --document-idRemove a message from a conversation
soat get-conversation-tagsGET/api/v1/api/v1/conversations/{conversation_id}/tags--conversation-idGet conversation tags
soat replace-conversation-tagsPUT/api/v1/api/v1/conversations/{conversation_id}/tags--conversation-id, --<body fields>Replace conversation tags
soat merge-conversation-tagsPATCH/api/v1/api/v1/conversations/{conversation_id}/tags--conversation-id, --<body fields>Merge conversation tags

Documents

See Documents module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-documentsGET/api/v1/api/v1/documents--project-idList documents
soat create-documentPOST/api/v1/api/v1/documents--<body fields>Create a document
soat get-documentGET/api/v1/api/v1/documents/{document_id}--document-idGet a document by ID
soat delete-documentDELETE/api/v1/api/v1/documents/{document_id}--document-idDelete a document
soat update-documentPATCH/api/v1/api/v1/documents/{document_id}--document-id, --<body fields>Update a document
soat get-document-tagsGET/api/v1/api/v1/documents/{document_id}/tags--document-idGet document tags
soat replace-document-tagsPUT/api/v1/api/v1/documents/{document_id}/tags--document-id, --<body fields>Replace document tags
soat merge-document-tagsPATCH/api/v1/api/v1/documents/{document_id}/tags--document-id, --<body fields>Merge document tags

Files

See Files module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-filesGET/api/v1/api/v1/files--project-id, --limit, --offsetList all files
soat create-filePOST/api/v1/api/v1/files--<body fields>Create a file
soat upload-filePOST/api/v1/api/v1/files/upload--<body fields>Upload a file
soat upload-file-base64POST/api/v1/api/v1/files/upload/base64--<body fields>Upload a file using base64 encoding
soat get-fileGET/api/v1/api/v1/files/{file_id}--file-idGet a file by ID
soat delete-fileDELETE/api/v1/api/v1/files/{file_id}--file-idDelete a file
soat download-fileGET/api/v1/api/v1/files/{file_id}/download--file-idDownload a file
soat update-file-metadataPATCH/api/v1/api/v1/files/{file_id}/metadata--file-id, --<body fields>Update file metadata
soat download-file-base64GET/api/v1/api/v1/files/{file_id}/download/base64--file-idDownload file as base64
soat get-file-tagsGET/api/v1/api/v1/files/{file_id}/tags--file-idGet file tags
soat replace-file-tagsPUT/api/v1/api/v1/files/{file_id}/tags--file-id, --<body fields>Replace file tags
soat merge-file-tagsPATCH/api/v1/api/v1/files/{file_id}/tags--file-id, --<body fields>Merge file tags

Knowledge

See Knowledge module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat search-knowledgePOST/api/v1/api/v1/knowledge/search--<body fields>Search knowledge

Memories

See Memories module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-memoriesGET/api/v1/api/v1/memories--project-id, --tagsList memories
soat create-memoryPOST/api/v1/api/v1/memories--<body fields>Create a memory
soat get-memoryGET/api/v1/api/v1/memories/{memory_id}--memory-idGet a memory
soat update-memoryPUT/api/v1/api/v1/memories/{memory_id}--memory-id, --<body fields>Update a memory
soat delete-memoryDELETE/api/v1/api/v1/memories/{memory_id}--memory-idDelete a memory

MemoryEntries

See MemoryEntries module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-memory-entriesGET/api/v1/api/v1/memories/{memory_id}/entries--memory-idList memory entries
soat create-memory-entryPOST/api/v1/api/v1/memories/{memory_id}/entries--memory-id, --<body fields>Create a memory entry
soat get-memory-entryGET/api/v1/api/v1/memories/{memory_id}/entries/{entry_id}--memory-id, --entry-idGet a memory entry
soat update-memory-entryPUT/api/v1/api/v1/memories/{memory_id}/entries/{entry_id}--memory-id, --entry-id, --<body fields>Update a memory entry
soat delete-memory-entryDELETE/api/v1/api/v1/memories/{memory_id}/entries/{entry_id}--memory-id, --entry-idDelete a memory entry

Policies

See Policies module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-policiesGET/api/v1/api/v1/policiesList all policies
soat create-policyPOST/api/v1/api/v1/policies--<body fields>Create a policy
soat get-policyGET/api/v1/api/v1/policies/{policy_id}--policy-idGet a policy
soat update-policyPUT/api/v1/api/v1/policies/{policy_id}--policy-id, --<body fields>Update a policy
soat delete-policyDELETE/api/v1/api/v1/policies/{policy_id}--policy-idDelete a policy

Projects

See Projects module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat create-projectPOST/api/v1/api/v1/projects--<body fields>Create a project
soat get-projectGET/api/v1/api/v1/projects/{project_id}--project-idGet a project
soat delete-projectDELETE/api/v1/api/v1/projects/{project_id}--project-idDelete a project

Secrets

See Secrets module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-secretsGET/api/v1/api/v1/secrets--project-id, --limit, --offsetList secrets
soat create-secretPOST/api/v1/api/v1/secrets--<body fields>Create a secret
soat get-secretGET/api/v1/api/v1/secrets/{secret_id}--secret-idGet a secret
soat update-secretPATCH/api/v1/api/v1/secrets/{secret_id}--secret-id, --<body fields>Update a secret
soat delete-secretDELETE/api/v1/api/v1/secrets/{secret_id}--secret-idDelete a secret

Sessions

See Sessions module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat create-agent-sessionPOST/api/v1/api/v1/agents/{agent_id}/sessions--<body fields>Create a session
soat list-agent-sessionsGET/api/v1/api/v1/agents/{agent_id}/sessions--actor-id, --status, --limit, --offsetList sessions
soat get-agent-sessionGET/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}Get a session
soat update-sessionPATCH/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}--<body fields>Update a session
soat delete-agent-sessionDELETE/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}Delete a session
soat list-agent-session-messagesGET/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/messages--limit, --offsetList session messages
soat add-session-messagePOST/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/messages--<body fields>Add a user message
soat generate-session-responsePOST/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/generate--async, --<body fields>Trigger agent generation
soat submit-session-tool-outputsPOST/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/tool-outputs--<body fields>Submit tool outputs
soat get-session-tagsGET/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/tagsGet session tags
soat replace-session-tagsPUT/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/tags--<body fields>Replace session tags
soat merge-session-tagsPATCH/api/v1/api/v1/agents/{agent_id}/sessions/{session_id}/tags--<body fields>Merge session tags

Traces

See Traces module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-tracesGET/api/v1/api/v1/traces--project-id, --limit, --offsetList traces
soat get-traceGET/api/v1/api/v1/traces/{trace_id}--trace-idGet a trace
soat get-trace-treeGET/api/v1/api/v1/traces/{trace_id}/tree--trace-idGet trace tree

Users

See Users module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-usersGET/api/v1/api/v1/usersList all users
soat create-userPOST/api/v1/api/v1/users--<body fields>Create a user
soat get-userGET/api/v1/api/v1/users/{user_id}--user-idGet a user by ID
soat delete-userDELETE/api/v1/api/v1/users/{user_id}--user-idDelete a user by ID
soat bootstrap-userPOST/api/v1/api/v1/users/bootstrap--<body fields>Create the first admin user
soat login-userPOST/api/v1/api/v1/users/login--<body fields>Login user
soat get-user-policiesGET/api/v1/api/v1/users/{user_id}/policies--user-idGet policies attached to a user
soat attach-user-policiesPUT/api/v1/api/v1/users/{user_id}/policies--user-id, --<body fields>Attach policies to a user

Webhooks

See Webhooks module docs for permissions and data model.

CommandHTTPPathFlagsDescription
soat list-webhooksGET/api/v1/api/v1/projects/{project_id}/webhooks--project-idList webhooks for a project
soat create-webhookPOST/api/v1/api/v1/projects/{project_id}/webhooks--project-id, --<body fields>Create a webhook
soat get-webhookGET/api/v1/api/v1/projects/{project_id}/webhooks/{webhook_id}--project-id, --webhook-idGet a webhook
soat update-webhookPUT/api/v1/api/v1/projects/{project_id}/webhooks/{webhook_id}--project-id, --webhook-id, --<body fields>Update a webhook
soat delete-webhookDELETE/api/v1/api/v1/projects/{project_id}/webhooks/{webhook_id}--project-id, --webhook-idDelete a webhook
soat list-webhook-deliveriesGET/api/v1/api/v1/projects/{project_id}/webhooks/{webhook_id}/deliveries--project-id, --webhook-id, --limit, --offsetList deliveries for a webhook
soat get-webhook-deliveryGET/api/v1/api/v1/projects/{project_id}/webhooks/{webhook_id}/deliveries/{delivery_id}--project-id, --webhook-id, --delivery-idGet a delivery
soat rotate-webhook-secretPOST/api/v1/api/v1/projects/{project_id}/webhooks/{webhook_id}/rotate-secret--project-id, --webhook-id, --<body fields>Rotate webhook secret