Skip to Content

Agents

Agents are the core unit in Nexora. Each agent has a persona, system prompt, tool set, skills, and a provider chain.

List agents

GET /api/agents Authorization: Bearer nxr_...

Response:

[ { "id": "uuid", "name": "Research Assistant", "description": "Searches the web and summarizes findings", "agent_type": "assistant", "is_active": true, "tools": ["github", "web_search"], "skills": ["web_search", "summarize"], "created_at": "2026-01-01T00:00:00Z" } ]

Get agent

GET /api/agents/{agent_id} Authorization: Bearer nxr_...

Create agent

POST /api/agents Authorization: Bearer nxr_... Content-Type: application/json { "name": "Code Reviewer", "description": "Reviews pull requests and suggests improvements", "agent_type": "custom", "system_prompt": "You are an expert code reviewer...", "tools": ["github_read", "gitlab_read"], "skills": ["github_read"], "temperature": 0.3, "max_tokens": 8192, "max_subagents": 5, "max_concurrency": 2 }

Returns 201 Created with the agent object. agent_type defaults to custom if omitted.

Update agent

PATCH /api/agents/{agent_id} Authorization: Bearer nxr_... Content-Type: application/json { "name": "Updated Name", "tools": ["github"] }

Partial update — only provided fields change.

Delete agent

DELETE /api/agents/{agent_id} Authorization: Bearer nxr_...

Returns 204 No Content. Soft-deleted agents can be restored.

Restore agent

PATCH /api/agents/{agent_id}/restore Authorization: Bearer nxr_...

Agent schema

FieldTypeDescription
iduuidUnique identifier
namestringDisplay name
descriptionstringShort description
agent_typestringOne of architect, assistant, coordinator, custom, devops, project_manager (default custom)
system_promptstringAgent instructions
soulobjectPersona/identity config (free-form)
toolsstring[]Tool keys the agent can use
skillsstring[]Skill keys injected into system prompt
model_prefstring?Preferred model identifier
temperaturefloatLLM temperature (0–2, default 0.3)
max_tokensintMax tokens per response (default 8192)
max_subagentsintMax sub-agents (default 5)
max_concurrencyintMax concurrent sub-agents (default 2)
mcpsobject[]MCP server configs attached to the agent
is_activeboolWhether the agent is enabled

Memories

Agents can store persistent memories that persist across conversations.

List memories

GET /api/agents/{agent_id}/memories Authorization: Bearer nxr_...

Create memory

POST /api/agents/{agent_id}/memories Authorization: Bearer nxr_... Content-Type: application/json { "content": "User prefers TypeScript over JavaScript", "type": "fact", "tags": ["preferences"], "priority": 3 }

type is one of fact, instruction, context, example (default fact). priority is 1–5 (default 3).

Update memory

PATCH /api/agents/{agent_id}/memories/{memory_id} Authorization: Bearer nxr_... Content-Type: application/json { "content": "Updated memory content" }

Delete memory

DELETE /api/agents/{agent_id}/memories/{memory_id} Authorization: Bearer nxr_...

Builtin agents

Builtin agents ship with Nexora and are defined in seeds/agents/builtin/. List them as templates:

GET /api/agents/templates

(GET /api/agents/types/builtin returns the builtin persona types used to seed new agents.) Builtin agents cannot be deleted but can be cloned via create with the same fields.

Sub-agents

Agents can spawn sub-agents during a conversation. The orchestrator coordinates via Redis and aggregates results before resuming the parent.

Sub-agent delegation is automatic — the LLM emits a tool call in a special fence format. The platform intercepts it, dispatches the sub-agent, and resumes the parent with the result. No API call needed to trigger sub-agents.