Update server config (command, args, env, disabled flag).
DELETE
/api/ai/mcp/:name
Remove an MCP server.
POST
/api/ai/mcp/reload
Reconnect and reload tools from all configured MCP servers.
Profiles
Agent profiles bundle a soul, working directory, tool permissions, max rounds, and auto-approve setting into a reusable configuration. The default profile is used when no profile is specified.
alwaysAllowedTools — array of tool names pre-approved for every run using this profile. The agent will not prompt for permission on these tools.
Memory
Persistent key-value memory stored in the agent_memory table. Memory entries have a memory_type for categorisation and an importance score. The agent reads and writes memory using the save_memory / recall_memory tools.
Method
Path
Description
GET
/api/ai/memory
List or search memory entries. Query: ?q=term (search), ?kind=all|user|feedback|project|reference|fact|preference|context|task_state, ?limit=50
GET
/api/ai/memory/:key
Get a specific memory entry by key. Increments access count.
DELETE
/api/ai/memory/:key
Delete a memory entry by key (URL param).
DELETE
/api/ai/memory
Delete a memory entry by key (request body). Body: { key }
Scheduled jobs became Cats in 0.9 and the old /api/ai/schedule routes are gone. Cats have their own router at /api/cats: the Cats themselves, their runs and timeline, the inbox where they ask for approval or an answer, and feedback on runs. See Cats.
Method
Path
Description
GET
/api/cats
List your Cats.
POST
/api/cats
Create a Cat.
POST
/api/cats/parse-schedule
Read a schedule written in words, for previews. Body: { text, timezone }
GET
/api/cats/:id
Get one Cat.
PATCH
/api/cats/:id
Change a Cat.
DELETE
/api/cats/:id
Delete a Cat.
POST
/api/cats/:id/wake
Wake it now. With { message } it writes to the Cat in its chat; without, it runs now.
POST
/api/cats/:id/cancel
Stop a run that is in progress.
GET
/api/cats/:id/runs
Its runs. Query: ?limit=
GET
/api/cats/:id/timeline
Its timeline. Query: limit, before, runId
POST
/api/cats/:id/chat
Write to the Cat in its chat.
POST
/api/cats/:id/triggers/:triggerId/check
Check one of its triggers now.
GET
/api/cats/inbox
Inbox items. Query: kind, status (default open), catId, limit
POST
/api/cats/inbox/:itemId/answer
Answer an approval or a question.
POST
/api/cats/inbox/:itemId/dismiss
Dismiss an inbox item.
POST
/api/cats/inbox/read-all
Mark results read, optionally for one Cat: { catId }
POST
/api/cats/runs/:runId/feedback
Rate a run so the Cat does better next time.
Git
Visual git workflow endpoints. All operate on a working directory resolved from the request. Pass ?path=/absolute/path or include workingContext in the body.
Method
Path
Description
GET
/api/ai/git/state
Working tree status — staged, unstaged, untracked files, current branch.
Sandboxes are isolated copies of a workspace (or a subset of it) where the agent can make changes, test code, and produce a patch — without touching the real working directory until you explicitly apply it.
Method
Path
Description
GET
/api/ai/sandboxes
List sandboxes. Query: ?workspaceId=&includeDeleted=false
POST
/api/ai/sandboxes
Create a sandbox. Body: { name?, sourcePath?, strategy?, baseRef? }
GET
/api/ai/sandboxes/:id
Get sandbox status and metadata.
GET
/api/ai/sandboxes/:id/diff
Diff between sandbox and source. Query: ?file=path&includePatch=true
POST
/api/ai/sandboxes/:id/patch
Export sandbox changes as a unified diff patch. Body: { filePaths? }
POST
/api/ai/sandboxes/:id/apply
Apply sandbox changes to the main workspace. Body: { filePaths?, dryRun? }
POST
/api/ai/sandboxes/:id/commit-branch
Commit sandbox changes to a new git branch. Body: { message?, filePaths? }
GET
/api/ai/sandboxes/:id/jobs
List command jobs run inside the sandbox.
POST
/api/ai/sandboxes/:id/jobs
Run a command inside the sandbox. Body: { command, cwd?, kind?, timeoutMs? }
GET
/api/ai/sandboxes/:id/jobs/:jobId
Get job result and output.
DELETE
/api/ai/sandboxes/:id
Delete a sandbox. Query: ?force=true to skip confirmation.
Code intelligence
Method
Path
Description
GET
/api/ai/code/search
Search for symbols in the workspace. Query: ?q=name&kind=any|function|class&language=&limit=30
GET
/api/ai/code/definitions
List all definitions in a file. Query: ?file=path
GET
/api/ai/code/find-definition
Find definition location of a symbol. Query: ?q=symbol&language=
Artifacts
Artifacts are files generated by the agent and stored in .asyncat/artifacts/ inside the workspace. They include reports, exports, generated code, and any other output the agent writes there.
Method
Path
Description
GET
/api/ai/artifacts
List all artifacts (filename, type, size, modified date). Pass X-Workspace-Root header to target a specific workspace directory.
GET
/api/ai/artifacts/:filename
Get artifact content as JSON, or add ?download=1 to stream the raw file.
DELETE
/api/ai/artifacts/:filename
Delete an artifact.
Providers
Mounted at /api/ai/providers. Manages cloud and local AI providers, model downloads, audio (Whisper + TTS), and image generation.
Provider profiles & config
Method
Path
Description
GET
/api/ai/providers/config
Get the currently active provider configuration.
DELETE
/api/ai/providers/config
Reset provider config to defaults.
GET
/api/ai/providers/catalog
List all supported provider presets (OpenAI, Anthropic, Google, Groq, Ollama, etc.).
GET
/api/ai/providers/profiles
List saved provider profiles (name, model, base URL, status).