Endpoints Schemas Features

Other APIs return responses.
We return Agents,
who come in Teams.

50 documented endpoints across 11 sections. Exact request fields, per-endpoint response codes and schemas from docx v0.7.0.

50 endpoints
11 sections
106 schemas
quickstart.py
import requests BASE = "https://api.extella.ai" TOKEN = "your-token-uuid" H = {"X-Auth-Token": TOKEN} # 1. Create an agent a = requests.post(f"{BASE}/api/agent/create", headers=H, json={"name": "Researcher", "provider": "anthropic"}).json() # 2. Run it r = requests.post(f"{BASE}/api/agent/run", headers=H, json={"agent_id": a["id"], "input": "Hello!"}) ✓ {"response_id":"resp_xyz","answer":"Hi!"}
48
API endpoints
11
API sections
60/min
Rate limit per IP
Pro
Full access plan
Reference — v0.7.0

All 48 endpoints

v0.7.0 — 11 sections — 48 endpoints. Each card: verbatim description, exact request fields (* = required), per-endpoint response table, Python example.

⚡ General1 endpoint
GET/api/healthHealth Check
Description

Health Check. Retrieves health data from the system. Returns the requested resource in JSON format.

Responses
CodeDescriptionResponse Schema
200Successful ResponseHealthResponse {status, experts_db_available}
Python example
Python
r = requests.get(f"{BASE}/api/health", headers=H).json() # {"status": "success", "experts_db_available": true}
🤖 Agents9 endpoints
POST/api/agent/listList Agents
Description

List Agents. Creates or processes a list resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
profile_idProfile ID to filter agents by. If omitted, all agents are returned
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/list", headers=H).json()
POST/api/agent/getGet Agent
Description

Get Agent. Creates or processes a get resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
agent_id *stringAgent ID
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/get", headers=H, json={"agent_id": agent_id}).json()
POST/api/agent/deleteDelete Agent
Description

Delete Agent. Creates or processes a delete resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
agent_id *stringID of agent to delete
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/delete", headers=H, json={"agent_id": agent_id}).json()
POST/api/agent/createCreate Agent
Description

Create Agent. Creates or processes a create resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
provider *Model provider
model *Model name
nameAgent name
descriptionAgent description
instructionsSystem instructions for the agent
model_parametersModel/provider-specific parameters
toolsarray[string]Enabled tool IDs
tool_optionsPer-tool options
end_after_toolsEnd response generation after tool execution
hide_sequential_outputsHide intermediate sequential outputs
recursion_limitMaximum recursion depth
conversation_startersSuggested conversation starters
categoryAgent category
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/create", headers=H, json={"provider": "anthropic", "model": "claude-sonnet-4-6"}).json()
POST/api/agent/updateUpdate Agent
Description

Update Agent. Creates or processes a update resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
agent_id *stringID of agent to update
nameAgent name
descriptionAgent description
instructionsSystem instructions for the agent
model_parametersModel/provider-specific parameters
toolsEnabled tool IDs
tool_optionsPer-tool options
end_after_toolsEnd response generation after tool execution
hide_sequential_outputsHide intermediate sequential outputs
recursion_limitMaximum recursion depth
conversation_startersSuggested conversation starters
categoryAgent category
providerModel provider
modelModel name
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/update", headers=H, json={"agent_id": agent_id, "name": "New Name"}).json()
POST/api/agent/export/chatsExport Chats
Description

Export Chats. Creates or processes a chats resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
by *
id *stringby agent: Agent ID; by profile: Profile ID
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/export/chats", headers=H, json={"by": "agent", "id": agent_id}).json()
POST/api/agent/export/callsExport Calls
Description

Export Calls. Creates or processes a calls resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
by *
id *stringby agent: Agent ID; by profile: Profile ID
fromOptional ISO-8601 lower bound (inclusive)
toOptional ISO-8601 upper bound (inclusive)
limitOptional positive integer, default 200, max 1000
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/export/calls", headers=H, json={"by": "agent", "id": agent_id}).json()
POST/api/agent/runRun Agent
Description

Run Agent. Creates or processes a run resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
agent_id *stringID of agent to run
input *Either a plain user message string or a list of OpenResponses input items
run_timeoutnumberAgent run timeout (in seconds)
previous_response_idID of a previous response to continue from
instructions
toolsList of tools available to the agent
tool_choiceTool selection strategy (auto, none, or specific tool config)
temperatureSampling temperature
max_output_tokensMaximum number of tokens to generate
storebooleanWhether to persist the conversation (false disables saving to /export/chats and /export/calls)
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/agent/run", headers={**H, "X-Agent-Id": agent_id}, json={"input": "Hello!", "store": True}).json()
🧠 Concepts5 endpoints
POST/api/concept/addAdd Concept
Description

Add a new concept (knowledge unit) with semantic embedding for long-term memory.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
text *stringConcept text (knowledge, pattern, or learning)
api_keyAPI key for embeddings
Responses
CodeDescriptionResponse Schema
200Successful ResponseAddConceptResult {status, id, text}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/concept/add", headers=H, json={"text": "Use ReportLab for PDF"}).json()
POST/api/concept/searchSearch Concepts
Description

Semantic search for concepts by meaning (not just keywords). Returns most relevant stored knowledge.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
query *stringSearch query text
limitintegerMaximum number of results
api_keyAPI key for embeddings
globalbooleanSearch concepts across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseSearchConceptResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/concept/search", headers=H, json={"query": "PDF generation", "limit": 5}).json()
POST/api/concept/removeRemove Concept
Description

Remove Concept. Creates or processes a remove resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
concept_id *integerID of concept to remove
globalbooleanAllow removing concepts belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseRemoveResult {status, removed}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/concept/remove", headers=H, json={"concept_id": 42}).json()
POST/api/concept/updateUpdate Concept
Description

Update concept text and re-generate its embedding.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
concept_id *integerID of concept to update
new_text *stringNew text content
api_keyAPI key for embeddings
globalbooleanAllow updating concepts belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseUpdateConceptResult {status, id, text}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/concept/update", headers=H, json={"concept_id": 42, "new_text": "Updated"}).json()
POST/api/concept/listList Concepts
Description

List Concepts. Creates or processes a list resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
globalbooleanRetrieve concepts for all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseListConceptsResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/concept/list", headers=H).json()
🎯 Defaults2 endpoints
POST/api/defaults/set_targetSet Default Target
Description

Set Default Target. Creates or processes a set_target resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Request Body application/json
FieldTypeDescription
target *string(uuid)
Responses
CodeDescriptionResponse Schema
200Successful ResponseSetDefaultTargetResponse {status, target}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/defaults/set_target", headers=H, json={"target": "uuid-of-target"}).json()
POST/api/defaults/get_targetGet Default Target
Description

Get Default Target. Creates or processes a get_target resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token
Responses
CodeDescriptionResponse Schema
200Successful ResponseGetDefaultTargetResponse {status, target}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
Python example
Python
r = requests.post(f"{BASE}/api/defaults/get_target", headers=H).json()
⚙️ Experts10 endpoints
POST/api/experts_db/upsertUpsert Expert
Description

Insert or update an expert (without code/kwargs).

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
name *stringExpert name
description *stringExpert description
api_keyAPI key for embeddings
globalbooleanAllow modifying experts belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseUpsertExpertResult {status, id, name, description}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/experts_db/upsert", headers=H, json={"name": "my_expert", "description": "..."}).json()
POST/api/experts_db/getGet Expert Db
Description

Get expert description only (i.e. without code/kwargs).

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
name *stringExpert name
globalbooleanSearch experts across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseGetExpertDescriptionResult {status, id, name, description}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/experts_db/get", headers=H, json={"name": "my_expert"}).json()
POST/api/experts_db/searchSearch Experts Db
Description

Search Experts Db. Creates or processes a search resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
query *stringSearch query
limitintegerResults limit
api_keyAPI key for embeddings
globalbooleanSearch experts across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseSearchExpertsDbResult {status, experts, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/experts_db/search", headers=H, json={"query": "telegram bot", "limit": 50}).json()
POST/api/experts_db/listList Experts
Description

Get list of all experts (blocks).

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
globalbooleanRetrieve experts for all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseListExpertsResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/experts_db/list", headers=H).json()
POST/api/blocks/searchSearch Blocks
Description

Search Blocks. Creates or processes a search resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
querystringSearch query
limitintegerResults limit
api_keyAPI key for embeddings
globalbooleanSearch experts across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseSearchBlocksResult {status, matches, total, search_time_ms}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/blocks/search", headers=H, json={"query": "send telegram", "limit": 5}).json()
POST/api/expert/saveSave Expert
Description

Save expert with code and description.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
namestringUnique expert name (snake_case)
descriptionstringExpert description (in English!)
codestringExpert code
kwargsobjectExpert parameters with defaults
csplstringCSPL code type
api_keyAPI key for embeddings
globalbooleanAllow modifying experts belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseSaveExpertResult {status, expert_name, user_id}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/expert/save", headers=H, json={"name": "my_expert", "description": "...", "code": "...", "kwargs": {}}).json()
POST/api/expert/deleteDelete Expert
Description

Delete Expert. Creates or processes a delete resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
name *stringExpert name
globalbooleanAllow deleting experts belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseDeleteExpertResult {status, message}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/expert/delete", headers=H, json={"name": "my_expert"}).json()
POST/api/expert/getGet Expert
Description

Get expert info: description, code, parameters, creation date.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
name *stringExpert name
globalbooleanSearch experts across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseGetExpertResult {status, expert_name, expert_description, expert_code, createdAt, expert_params, cspl}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/expert/get", headers=H, json={"name": "my_expert"}).json()
POST/api/expert/runRun Expert
Description

Run Expert. Creates or processes a run resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
expert_name *stringExpert name
paramsobjectExpert parameters
targetID (UUID) of the device on which the expert should run. Omit if unspecified
isolatedbooleanIsolated run in virtual environment
pinPIN. Omit if unspecified
globalbooleanSearch for this expert across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseRunExpertResult {status, expert_name, result, task_id, execution_log, run_time_ms}
500Internal Server Errorany
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/expert/run", headers=H, json={"expert_name": "my_expert", "params": {}}).json()
🔑 Keys & Values5 endpoints
POST/api/kv/setSet Key
Description

Set (upsert) a key-value pair with semantic embedding. Creates or updates a persistent key with optional description.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
key *stringUnique key name
value *stringValue to store
descriptionstringOptional description for semantic search
api_keyAPI key for embeddings
globalbooleanAllow modifying key-value pairs belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseSetKeyResult {status, key, value, description, id}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/kv/set", headers=H, json={"key": "openai_key", "value": "sk-...", "description": "OpenAI API key"}).json()
POST/api/kv/getGet Key
Description

Get exact key-value pair by key name.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
key *stringExact key name to retrieve
globalbooleanSearch keys across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseGetKeyResult {status, id, key, value, description, created_at, updated_at}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/kv/get", headers=H, json={"key": "openai_key"}).json()
POST/api/kv/removeRemove Key
Description

Remove a key-value pair by key name.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
key *stringKey name to remove
globalbooleanAllow removing key-value pairs belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseRemoveResult {status, removed}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/kv/remove", headers=H, json={"key": "openai_key"}).json()
POST/api/kv/searchSearch Keys
Description

Semantic search across stored key-value pairs by meaning (uses pgvector embeddings).

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
query *stringSearch query
limitintegerMaximum results
api_keyAPI key for embeddings
globalbooleanSearch across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseSearchKeysResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/kv/search", headers=H, json={"query": "API key GPT", "limit": 5}).json()
POST/api/kv/listList Keys
Description

List all stored key-value pairs.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
globalbooleanRetrieve key-value pairs for all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseListKeysResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/kv/list", headers=H).json()
👤 Profiles4 endpoints
POST/api/profile/listList Profiles
Description

List Profiles. Creates or processes a list resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
Python example
Python
r = requests.post(f"{BASE}/api/profile/list", headers=H).json()
POST/api/profile/createCreate Profile
Description

Create Profile. Creates or processes a create resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
profile_name *stringProfile name
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/profile/create", headers=H, json={"profile_name": "Research Team"}).json()
POST/api/profile/deleteDelete Profile
Description

Delete profile. Agents in the profile are not deleted.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
profile_id *stringID of profile to delete
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/profile/delete", headers=H, json={"profile_id": "prof_abc"}).json()
POST/api/profile/add_agentAdd Agent To Profile
Description

Add Agent To Profile. Creates or processes a add_agent resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
profile_id *stringID of the profile to add the agent to
agent_id *stringID of the agent to add
Responses
CodeDescriptionResponse Schema
200Successful Response
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/profile/add_agent", headers=H, json={"profile_id": "prof_abc", "agent_id": "agent_xyz"}).json()
📋 Rules4 endpoints
POST/api/rules/listList Rules
Description

Retrieve persistent user-defined instructions that extend the system prompt. Returned rules must be inserted into the conversation context before processing user messages and treated as additional system-level instructions. Should normally be called once at conversation startup.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
globalbooleanRetrieve rules for all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseListRulesResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/rules/list", headers=H).json()
POST/api/rules/addAdd Rule
Description

Add a new rule (rule_id is auto-generated).

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
rule *stringRule text
Responses
CodeDescriptionResponse Schema
200Successful ResponseAddRuleResult {status, rule_id, rule}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/rules/add", headers=H, json={"rule": "Always confirm destructive ops"}).json()
POST/api/rules/removeRemove Rule
Description

Remove Rule. Creates or processes a remove resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
rule_id *stringID of rule to remove
globalbooleanAllow removing rules belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseRemoveResult {status, removed}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/rules/remove", headers=H, json={"rule_id": "22784"}).json()
POST/api/rules/updateUpdate Rule
Description

Update Rule. Creates or processes a update resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
rule_id *stringID of rule to update
rule *stringRule text
globalbooleanAllow updating rules belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseUpdateRuleResult {status, rule_id, rule}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/rules/update", headers=H, json={"rule_id": "22784", "rule": "Updated text"}).json()
💻 Targets5 endpoints
POST/api/targets/listList Targets
Description

List Targets. Creates or processes a list resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
globalbooleanRetrieve targets for all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseListTargetsResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/targets/list", headers=H).json()
POST/api/targets/addAdd Target
Description

Add a new target with description for semantic search.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
target *string(uuid)
description *stringHuman-readable description
api_keyAPI key for embeddings
Responses
CodeDescriptionResponse Schema
200Successful ResponseAddTargetResult {status, id, target, description}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/targets/add", headers=H, json={"target": "uuid-of-device", "description": "Work MacBook"}).json()
POST/api/targets/removeRemove Target
Description

Remove Target. Creates or processes a remove resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
id *string
globalbooleanAllow removing targets belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseRemoveResult {status, removed}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/targets/remove", headers=H, json={"id": "target_record_id"}).json()
POST/api/targets/updateUpdate Target
Description

Update a target (target value and/or description).

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
id *string
target
description
api_keyAPI key for embeddings
globalbooleanAllow updating targets belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseUpdateTargetResult {status, id, target, description}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/targets/update", headers=H, json={"id": "rec_id", "description": "New description"}).json()
POST/api/targets/searchSearch Targets
Description

Semantic search targets by description.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
query *string
limitintegerMaximum results
api_keyAPI key for embeddings
globalbooleanSearch targets across all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseSearchTargetsResult {status, results, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/targets/search", headers=H, json={"query": "laptop", "limit": 5}).json()
⏳ Tasks1 endpoint
POST/api/tasks/checkCheck Task
Description

Check Task. Creates or processes a check resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

No auth required
Request Body application/json
FieldTypeDescription
task_id *string(uuid)
Responses
CodeDescriptionResponse Schema
200Successful ResponseCheckTaskResult {task_id, status, result}
500Internal Server ErrorError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
# 1. Launch async expert resp = requests.post(f"{BASE}/api/expert/run", headers=H, json={"expert_name": "task", "wait": False}).json() task_id = resp["task_id"] # 2. Check status r = requests.post(f"{BASE}/api/tasks/check", headers=H, json={"task_id": task_id}).json()
🔐 Tokens4 endpoints
POST/api/token/generateGenerate Token
Description

Generate a new API token for user authentication.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
namestringOptional friendly name for the token
Responses
CodeDescriptionResponse Schema
200Successful ResponseGenerateTokenResult {status, token, user_id, name}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/token/generate", headers=H, json={"name": "Production API"}).json()
POST/api/token/validateValidate Token
Description

Validate a token and get associated user_id.

No auth required
Request Body application/json
FieldTypeDescription
token *stringToken string to validate
Responses
CodeDescriptionResponse Schema
200Successful Responseany
500Internal Server ErrorError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
# No auth header required r = requests.post(f"{BASE}/api/token/validate", json={"token": "a1b2c3d4-..."}).json()
POST/api/token/listList Tokens
Description

List Tokens. Creates or processes a list resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
globalbooleanRetrieve tokens for all agents instead of only the current agent
Responses
CodeDescriptionResponse Schema
200Successful ResponseListTokensResult {status, tokens, count}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/token/list", headers=H).json()
POST/api/token/revokeRevoke Token
Description

Revoke Token. Creates or processes a revoke resource. The request body must be provided as JSON with the required fields. On success, returns the created or processed object with a status field.

Headers: X-Auth-Token, X-Profile-Id, X-Agent-Id
Request Body application/json
FieldTypeDescription
token *stringToken string to revoke
globalbooleanAllow revoking tokens belonging to other agents
Responses
CodeDescriptionResponse Schema
200Successful ResponseRevokeTokenResult {status, revoked}
500Internal Server ErrorError {status, message}
401UnauthorizedAuthenticationRequiredError {status, message}
400Bad RequestBadRequestError {status, message}
422Validation ErrorHTTPValidationError {detail}
Python example
Python
r = requests.post(f"{BASE}/api/token/revoke", headers=H, json={"token": "a1b2c3d4-..."}).json()
Data Models

Schemas (Models)

106 data models from docx v0.7.0 — grouped by type. Required fields marked ✓.

📤 Request Bodies45 schemas
AddAgentToProfileRequestPOST /api/profile/add_agent
FieldTypeDescription
profile_id stringID of the profile
agent_id stringID of the agent to add
AddConceptRequestPOST /api/concept/add
FieldTypeDescription
text stringConcept text (knowledge, pattern, or learning)
api_keyAPI key for embeddings
AddRuleRequestPOST /api/rules/add
FieldTypeDescription
rule stringRule text
AddTargetRequestPOST /api/targets/add
FieldTypeDescription
target string(uuid)
description stringHuman-readable description
api_keyAPI key for embeddings
CheckTaskRequestPOST /api/tasks/check
FieldTypeDescription
task_id string(uuid)
CreateAgentRequestPOST /api/agent/create
FieldTypeDescription
provider Model provider
model Model name
nameAgent name
descriptionAgent description
instructionsSystem instructions for the agent
model_parametersModel/provider-specific parameters
toolsarray[string]Enabled tool IDs
tool_optionsPer-tool options
end_after_toolsEnd response generation after tool execution
hide_sequential_outputsHide intermediate sequential outputs
recursion_limitMaximum recursion depth
conversation_startersSuggested conversation starters
categoryAgent category
CreateProfileRequestPOST /api/profile/create
FieldTypeDescription
profile_name stringProfile name
DeleteAgentRequestPOST /api/agent/delete
FieldTypeDescription
agent_id stringID of agent to delete
DeleteExpertRequestPOST /api/expert/delete
FieldTypeDescription
name stringExpert name
globalbooleanAllow deleting experts belonging to other agents
DeleteProfileRequestPOST /api/profile/delete
FieldTypeDescription
profile_id stringID of profile to delete
ExportCallsRequestPOST /api/agent/export/calls
FieldTypeDescription
by
id stringby agent: Agent ID; by profile: Profile ID
fromOptional ISO-8601 lower bound (inclusive)
toOptional ISO-8601 upper bound (inclusive)
limitOptional positive integer, default 200, max 1000
ExportChatsRequestPOST /api/agent/export/chats
FieldTypeDescription
by
id stringby agent: Agent ID; by profile: Profile ID
GenerateTokenRequestPOST /api/token/generate
FieldTypeDescription
namestringOptional friendly name for the token
GetAgentRequestPOST /api/agent/get
FieldTypeDescription
agent_id stringAgent ID
GetExpertRequestPOST /api/expert/get & /api/experts_db/get
FieldTypeDescription
name stringExpert name
globalbooleanSearch experts across all agents instead of only the current agent
GetKeyRequestPOST /api/kv/get
FieldTypeDescription
key stringExact key name to retrieve
globalbooleanSearch keys across all agents instead of only the current agent
ListAgentsRequestPOST /api/agent/list
FieldTypeDescription
profile_idProfile ID to filter agents by. If omitted, all agents are returned
ListConceptsRequestPOST /api/concept/list
FieldTypeDescription
globalbooleanRetrieve concepts for all agents instead of only the current agent
ListExpertsRequestPOST /api/experts_db/list
FieldTypeDescription
globalbooleanRetrieve experts for all agents instead of only the current agent
ListKeysRequestPOST /api/kv/list
FieldTypeDescription
globalbooleanRetrieve key-value pairs for all agents instead of only the current agent
ListRulesRequestPOST /api/rules/list
FieldTypeDescription
globalbooleanRetrieve rules for all agents instead of only the current agent
ListTargetsRequestPOST /api/targets/list
FieldTypeDescription
globalbooleanRetrieve targets for all agents instead of only the current agent
ListTokensRequestPOST /api/token/list
FieldTypeDescription
globalbooleanRetrieve tokens for all agents instead of only the current agent
RemoveConceptRequestPOST /api/concept/remove
FieldTypeDescription
concept_id integerID of concept to remove
globalbooleanAllow removing concepts belonging to other agents
RemoveExpertRequestPOST /api/experts_db/remove
FieldTypeDescription
name stringExpert name
globalbooleanAllow removing experts belonging to other agents
RemoveKeyRequestPOST /api/kv/remove
FieldTypeDescription
key stringKey name to remove
globalbooleanAllow removing key-value pairs belonging to other agents
RemoveRuleRequestPOST /api/rules/remove
FieldTypeDescription
rule_id stringID of rule to remove
globalbooleanAllow removing rules belonging to other agents
RemoveTargetRequestPOST /api/targets/remove
FieldTypeDescription
id string
globalbooleanAllow removing targets belonging to other agents
RevokeTokenRequestPOST /api/token/revoke
FieldTypeDescription
token stringToken string to revoke
globalbooleanAllow revoking tokens belonging to other agents
RunAgentRequestPOST /api/agent/run
FieldTypeDescription
agent_id stringID of agent to run
input Plain user message or list of OpenResponses input items
run_timeoutnumberAgent run timeout in seconds
previous_response_idID of a previous response to continue from
instructions
toolsList of tools available to the agent
tool_choiceTool selection strategy: auto, none, or specific
temperatureSampling temperature
max_output_tokensMaximum number of tokens to generate
storebooleanWhether to persist the conversation
RunExpertRequestPOST /api/expert/run
FieldTypeDescription
expert_name stringExpert name
paramsobjectExpert parameters
targetID (UUID) of the device. Omit if unspecified
isolatedbooleanIsolated run in virtual environment
pinPIN. Omit if unspecified
globalbooleanSearch for this expert across all agents
SaveExpertRequestPOST /api/expert/save
FieldTypeDescription
namestringUnique expert name (snake_case)
descriptionstringExpert description (in English!)
codestringExpert code
kwargsobjectExpert parameters with defaults
csplstringCSPL code type
api_keyAPI key for embeddings
globalbooleanAllow modifying experts belonging to other agents
SearchBlocksRequestPOST /api/blocks/search
FieldTypeDescription
querystringSearch query
limitintegerResults limit
api_keyAPI key for embeddings
globalbooleanSearch experts across all agents
SearchConceptRequestPOST /api/concept/search
FieldTypeDescription
query stringSearch query text
limitintegerMaximum number of results
api_keyAPI key for embeddings
globalbooleanSearch concepts across all agents
SearchExpertsRequestPOST /api/experts_db/search
FieldTypeDescription
query stringSearch query
limitintegerResults limit
api_keyAPI key for embeddings
globalbooleanSearch experts across all agents
SearchKeyRequestPOST /api/kv/search
FieldTypeDescription
query stringSearch query
limitintegerMaximum results
api_keyAPI key for embeddings
globalbooleanSearch across all agents
SearchTargetsRequestPOST /api/targets/search
FieldTypeDescription
query string
limitintegerMaximum results
api_keyAPI key for embeddings
globalbooleanSearch targets across all agents
SetDefaultTargetRequestPOST /api/defaults/set_target
FieldTypeDescription
target string(uuid)
SetKeyRequestPOST /api/kv/set
FieldTypeDescription
key stringUnique key name
value stringValue to store
descriptionstringOptional description for semantic search
api_keyAPI key for embeddings
globalbooleanAllow modifying key-value pairs belonging to other agents
UpdateAgentRequestPOST /api/agent/update
FieldTypeDescription
agent_id stringID of agent to update
nameAgent name
descriptionAgent description
instructionsSystem instructions for the agent
model_parametersModel/provider-specific parameters
toolsEnabled tool IDs
tool_optionsPer-tool options
end_after_toolsEnd response generation after tool execution
hide_sequential_outputsHide intermediate sequential outputs
recursion_limitMaximum recursion depth
conversation_startersSuggested conversation starters
categoryAgent category
providerModel provider
modelModel name
UpdateConceptRequestPOST /api/concept/update
FieldTypeDescription
concept_id integerID of concept to update
new_text stringNew text content
api_keyAPI key for embeddings
globalbooleanAllow updating concepts belonging to other agents
UpdateRuleRequestPOST /api/rules/update
FieldTypeDescription
rule_id stringID of rule to update
rule stringRule text
globalbooleanAllow updating rules belonging to other agents
UpdateTargetRequestPOST /api/targets/update
FieldTypeDescription
id string
target
description
api_keyAPI key for embeddings
globalbooleanAllow updating targets belonging to other agents
UpsertExpertRequestPOST /api/experts_db/upsert
FieldTypeDescription
name stringExpert name
description stringExpert description
api_keyAPI key for embeddings
globalbooleanAllow modifying experts belonging to other agents
ValidateTokenRequestPOST /api/token/validate
FieldTypeDescription
token stringToken string to validate
📥 Response Bodies36 schemas
AddConceptResult200 /api/concept/add
FieldTypeDescription
statusstring
id integer
text string
AddRuleResult200 /api/rules/add
FieldTypeDescription
statusstring
rule_id stringID of added rule
rule stringRule text
AddTargetResult200 /api/targets/add
FieldTypeDescription
statusstring
id string(uuid)
target string
description stringTarget description
CheckTaskResult200 /api/tasks/check
FieldTypeDescription
task_id string(uuid)
status Task status
result completed: task result; error: error message
DeleteExpertResult200 /api/expert/delete
FieldTypeDescription
statusstring
message string
GenerateTokenResult200 /api/token/generate
FieldTypeDescription
statusstring
token stringGenerated token string
user_id string
name stringFriendly name for the token
GetDefaultTargetResponse200 /api/defaults/get_target
FieldTypeDescription
statusstring
target
GetExpertDescriptionResult200 /api/experts_db/get
FieldTypeDescription
statusstring
id integer
name stringExpert name
description stringExpert description
GetExpertResult200 /api/expert/get
FieldTypeDescription
statusstring
expert_name stringExpert name
expert_description string
expert_code string
createdAt string(date-time)
expert_prompt string
expert_params objectExpert parameters with defaults
cspl stringCSPL code type
GetKeyResult200 /api/kv/get
FieldTypeDescription
statusstring
id integer
key stringKey name
value stringValue
description stringDescription for semantic search
created_at string(date-time)
updated_at string(date-time)
HealthResponse200 /api/health
FieldTypeDescription
statusstring
experts_db_available boolean
InvalidTokenResult401 /api/token/validate
FieldTypeDescription
statusstring
validboolean
ListConceptsResult200 /api/concept/list
FieldTypeDescription
statusstring
results array[ListConceptResult]
count integer
ListExpertsResult200 /api/experts_db/list
FieldTypeDescription
statusstring
results array[ExpertResult]
count integer
ListKeysResult200 /api/kv/list
FieldTypeDescription
statusstring
results array[ListKeyResult]
count integer
ListRulesResult200 /api/rules/list
FieldTypeDescription
statusstring
results array[ListRuleResult]
count integer
ListTargetsResult200 /api/targets/list
FieldTypeDescription
statusstring
results array[ListTargetResult]
count integer
ListTokensResult200 /api/token/list
FieldTypeDescription
statusstring
tokens array[ListTokenResult]
count integer
RemoveResult200 (remove endpoints)
FieldTypeDescription
statusstring
removed boolean
RevokeTokenResult200 /api/token/revoke
FieldTypeDescription
statusstring
revoked boolean
RunExpertResult200 /api/expert/run
FieldTypeDescription
statusstring
expert_name stringExpert name
result string
task_idID of the deferred expert execution task
execution_log array[string]Log messages generated during expert execution
run_time_msExpert runtime in milliseconds
SaveExpertResult200 /api/expert/save
FieldTypeDescription
statusstring
expert_name stringExpert name
user_id string
SearchBlocksResult200 /api/blocks/search
FieldTypeDescription
statusstring
matches array[SearchBlockMatch]
total integer
search_time_ms numberSearch time in milliseconds
SearchConceptResult200 /api/concept/search
FieldTypeDescription
statusstring
results array[SearchConcept]
count integer
SearchExpertsDbResult200 /api/experts_db/search
FieldTypeDescription
statusstring
experts array[SearchExpertDbResult]
count integer
SearchKeysResult200 /api/kv/search
FieldTypeDescription
statusstring
results array[SearchKeyResult]
count integer
SearchTargetsResult200 /api/targets/search
FieldTypeDescription
statusstring
results array[SearchTargetResult]
count integer
SetDefaultTargetResponse200 /api/defaults/set_target
FieldTypeDescription
statusstring
target string(uuid)
SetKeyResult200 /api/kv/set
FieldTypeDescription
statusstring
key stringKey name
value stringStored value
description stringDescription for semantic search
id integer
UpdateConceptResult200 /api/concept/update
FieldTypeDescription
statusstring
id integerID of updated concept
text stringNew text content
UpdateRuleResult200 /api/rules/update
FieldTypeDescription
statusstring
rule_id stringID of updated rule
rule stringRule text
UpdateTargetResult200 /api/targets/update
FieldTypeDescription
statusstring
id string(uuid)
target string
description stringTarget description
UpsertExpertResult200 /api/experts_db/upsert
FieldTypeDescription
statusstring
id integer
name stringExpert name
description stringExpert description
ValidTokenResult200 /api/token/validate
FieldTypeDescription
statusstring
validboolean
user_id
profile_id
agent_id
name Friendly name for the token
⚠️ Error Schemas6 schemas
AuthenticationRequiredError401 responses
FieldTypeDescription
statusstring
messagestring
BadRequestError400 responses
FieldTypeDescription
statusstring
message stringError message
Error500 responses
FieldTypeDescription
statusstring
message stringError message
HTTPValidationError422 responses
FieldTypeDescription
detailarray[ValidationError]
RunExpertErrorExpert execution failure
FieldTypeDescription
statusstring
expert_name stringExpert name
message stringError message
execution_log array[string]Log messages generated during expert execution
ValidationErrorInside HTTPValidationError.detail
FieldTypeDescription
loc array[]
msg string
type string
input
ctxobject
🔁 Sub-models11 schemas
ExpertResultInside ListExpertsResult.results
FieldTypeDescription
id integer
name stringExpert name
description stringExpert description
created_at string(date-time)
updated_at string(date-time)
deleted_at
ListConceptResultInside ListConceptsResult.results
FieldTypeDescription
concept_id integerID of concept
concept_text stringConcept text
created_at string(date-time)
updated_at string(date-time)
ListKeyResultInside ListKeysResult.results
FieldTypeDescription
kv_id integer
kv_key stringKey name
kv_value stringValue
kv_description stringDescription for semantic search
created_at string(date-time)
updated_at string(date-time)
ListRuleResultInside ListRulesResult.results
FieldTypeDescription
id string
rule stringRule text
created_at string(date-time)
updated_at string(date-time)
ListTargetResultInside ListTargetsResult.results
FieldTypeDescription
id string(uuid)
target string
description stringTarget description
created_at string(date-time)
updated_at string(date-time)
ListTokenResultInside ListTokensResult.tokens
FieldTypeDescription
token stringToken string
name stringFriendly name for the token
created_at string(date-time)
SearchBlockMatchInside SearchBlocksResult.matches
FieldTypeDescription
name stringExpert name
description stringExpert description
score integerPercentage of match
kwargs objectExpert parameters with defaults
code stringExpert code
SearchConceptInside SearchConceptResult.results
FieldTypeDescription
concept_id integerID of concept
concept_text stringConcept text
similarity numberSemantic similarity score (0.0 to 1.0)
created_at string(date-time)
SearchExpertDbResultInside SearchExpertsDbResult.experts
FieldTypeDescription
id integer
name stringExpert name
description stringExpert description
code stringExpert code
kwargs objectExpert parameters with defaults
similarity numberSemantic similarity score between the query and name+description (0.0 to 1.0)
SearchKeyResultInside SearchKeysResult.results
FieldTypeDescription
kv_id integer
kv_key stringKey name
kv_value stringValue
kv_description stringDescription for semantic search
similarity numberSemantic similarity score between the query and key+value+description (0.0 to 1.0)
created_at string(date-time)
updated_at string(date-time)
SearchTargetResultInside SearchTargetsResult.results
FieldTypeDescription
id string(uuid)
target string
description stringTarget description
similarity numberSemantic similarity score between query and target+description (0.0 to 1.0)
👥 Shared / Utility8 schemas
GenericContentPartContent part in MessageItem
FieldTypeDescription
type string
GenericItemInput item in RunAgentRequest
FieldTypeDescription
type string
MessageItemMessage in conversation input
FieldTypeDescription
type string
role
content
ModelParametersNested in Create/UpdateAgentRequest
FieldTypeDescription
temperatureopenAI, azureOpenAI, google, anthropic, bedrock — controls determinism
presence_penaltyopenAI, azureOpenAI — penalty for repetitive tokens
frequency_penaltyopenAI, azureOpenAI — penalty for repeated tokens
stopopenAI, azureOpenAI — stop tokens
top_popenAI, azureOpenAI — nucleus sampling (0-1)
topPgoogle, anthropic — nucleus sampling
topKgoogle, anthropic — limits next token selection to top K
max_tokensopenAI, azureOpenAI — maximum tokens in model response
maxOutputTokensgoogle, anthropic — maximum tokens in response
promptCacheanthropic, bedrock — enables/disables built-in prompt caching
reasoning_effortopenAI, azureOpenAI, bedrock — controls reasoning effort level
reasoning_summaryopenAI, azureOpenAI — sets reasoning summary preferences
useResponsesApiopenAI, azureOpenAI — enables/disables responses API
verbosityopenAI, azureOpenAI — controls verbosity level
web_searchopenAI, azureOpenAI, google, anthropic — enables/disables web search
disableStreamingopenAI, azureOpenAI — disables streaming responses
thinkingBudgetgoogle, anthropic, bedrock — controls number of thinking tokens
thinkingLevelgoogle Gemini 3+ — controls thinking effort level
effortanthropic, bedrock — controls Adaptive Thinking effort level
thinkingDisplayanthropic, bedrock — controls whether reasoning content is returned
thinkinggoogle, anthropic, bedrock — whether model should think before responding
regionbedrock — AWS region for Amazon Bedrock endpoints
maxTokensbedrock — maximum output tokens for Amazon Bedrock
resendFilesResend all previously attached files
imageDetailVision requests resolution: low, auto, high
fileTokenLimitSet maximum token limit for file processing
ToolIn RunAgentRequest.tools
FieldTypeDescription
type string
name string
description string
parameters
ToolOptionsSchemaPer-tool options
FieldTypeDescription
defer_loadingDefer tool loading until first use
allowed_callersAllowed caller types
ToolParametersInside Tool.parameters
FieldTypeDescription
type string
properties
required
ToolPropertyInside ToolParameters.properties
FieldTypeDescription
type string
description
Developer Experience

Everything you need to ship fast.

Persistent AI agents embedded in your product without friction.

🔑
Bearer Token Auth
One token per user. Validate once, use everywhere. Agent and profile IDs always in headers — never in the body.
SSE Streaming
Real-time responses via Server-Sent Events. Set "stream": true and receive token-by-token output as it generates.
🧠
Persistent Agents
Every agent retains concepts, KV memory and rules between calls. Conversations compound. Context never resets.
👥
Teams via Profiles
Group up to 5 agents into a profile with shared knowledge base. Export combined history in one request.
📊
Export & Analytics
Full audit trail — every token count, latency, model and HTTP code. Filter by date range.
🛡
Rate Limits
60 req/min per IP. 120 per user. 20 runs/min for /agent/run. Clean 429 with retry_after_seconds.

Ready to build?

Open the full reference and start integrating in minutes.