API reference
All endpoints are served relative to your instance base URL — https://app.nara.de or https://your-instance.nara.de. Authenticate every request as described in API authentication; the examples below use a server token. Write requests require Content-Type: application/json.
Agent execution
Section titled “Agent execution”| Method | Path | Description |
|---|---|---|
GET | /api/agent/run | List runnable workflow agents |
POST | /api/agent/run | Execute a workflow agent by name |
Only workflow agents can be executed via the API; chat agents are not runnable this way. Agents whose tools require WEBAPP execution cannot run over the API either.
Each agent’s editor also has a Call this agent via API dialog that shows the exact endpoint, headers, and ready-made code samples for that agent.
List runnable agents
Section titled “List runnable agents”curl https://app.nara.de/api/agent/run \ -H "Authorization: Bearer nara_sa_..."Run a workflow agent
Section titled “Run a workflow agent”Body: agentName (the agent’s internal name) and args (an object matching the agent’s input data type).
curl -X POST https://app.nara.de/api/agent/run \ -H "Authorization: Bearer nara_sa_..." \ -H "Content-Type: application/json" \ -d '{ "agentName": "invoice-classifier", "args": { "invoiceId": "INV-1042" } }'Memory types
Section titled “Memory types”| Method | Path | Description |
|---|---|---|
GET | /api/memory/types | List memory types |
POST | /api/memory/types | Create a memory type |
PUT | /api/memory/types/{id} | Update a memory type |
DELETE | /api/memory/types/{id} | Delete a memory type |
curl https://app.nara.de/api/memory/types \ -H "Authorization: Bearer nara_sa_..."curl -X POST https://app.nara.de/api/memory/types \ -H "Authorization: Bearer nara_sa_..." \ -H "Content-Type: application/json" \ -d '{ "name": "customer", "displayName": "Customer", "schema": { "type": "object", "properties": { "name": { "type": "string" }, "tier": { "type": "string" } } } }'curl -X DELETE https://app.nara.de/api/memory/types/{id} \ -H "Authorization: Bearer nara_sa_..."Memory objects
Section titled “Memory objects”| Method | Path | Description |
|---|---|---|
GET | /api/memory/objects | List memory objects |
POST | /api/memory/objects | Create a memory object |
PATCH | /api/memory/objects/{id} | Update a memory object |
DELETE | /api/memory/objects/{id} | Delete a memory object |
Query parameters for listing
Section titled “Query parameters for listing”| Parameter | Description |
|---|---|
typeId | Filter by memory type ID |
type | Filter by technical type name |
key | Filter by object key |
page | Page number |
pageSize | Results per page |
curl "https://app.nara.de/api/memory/objects?type=customer&page=1&pageSize=20" \ -H "Authorization: Bearer nara_sa_..."curl -X POST https://app.nara.de/api/memory/objects \ -H "Authorization: Bearer nara_sa_..." \ -H "Content-Type: application/json" \ -d '{ "type": "customer", "contents": { "name": "Acme GmbH", "tier": "gold" } }'curl -X PATCH https://app.nara.de/api/memory/objects/{id} \ -H "Authorization: Bearer nara_sa_..." \ -H "Content-Type: application/json" \ -d '{ "contents": { "tier": "platinum" } }'Roles and groups
Section titled “Roles and groups”Roles, groups, memberships, and resource grants are not exposed through the public REST API. Manage them in Organization (/admin/organization) and Access Control (/admin/rbac).
Errors
Section titled “Errors”All endpoints use the shared status codes documented in API authentication: 400 invalid body, 401 authentication failure, 402 insufficient credits, 403 permission denied, 404 not found, 500 server error.