API Reference
Capaboard API
All endpoints accept and return JSON. Authenticate with your API key using the x-api-key header.
Authentication
Add your API key to every request:
# Header x-api-key: cb_your_api_key # Or as Bearer token Authorization: Bearer cb_your_api_key
Get your API key from the dashboard.
Quick start
import requests
API_KEY = "cb_your_api_key"
BASE = "https://capaboard.ai/api/v1"
headers = {"x-api-key": API_KEY}
# 1. Read your agent's full configuration
cfg = requests.get(f"{BASE}/config", headers=headers).json()
print(cfg["profile"]["name"]) # "Aia"
print(cfg["rules"]) # list of behavioral rules
# 2. Push status to your dashboard
requests.post(f"{BASE}/push", headers=headers, json={
"agent": "my-bot",
"card": "status",
"data": {"task": "Sent email", "status": "done"},
"event": "task_complete",
"message": "Email sent to customer"
})
# 3. Write to agent memory
requests.post(f"{BASE}/memory", headers=headers, json={
"key": "Last interaction",
"value": "User asked about pricing",
"category": "context"
})Endpoints
/api/v1/pushPush any data from your agent to a dashboard card.
Request body
{
"agent": "my-bot", // agent identifier
"card": "status", // card slot name
"data": { ... }, // any JSON object
"event": "task_done", // optional: log an event
"message": "Task done!" // optional: event description
}Response
{ "ok": true, "card": "status", "agent": "my-bot" }/api/v1/configGet the full agent configuration (profile, rules, capabilities, memory, connections).
Query params
?section=profile|rules|capabilities|memory|connections (optional)Response
{
"profile": { "name": "Aia", "role": "Personal Assistant", "language": "English", ... },
"rules": [{ "id": "r1", "rule": "Never share private data", "enabled": true }],
"capabilities": [{ "id": "email-send", "name": "Send email", "status": "active" }],
"memory": [{ "key": "User's name", "value": "Thomas", "category": "personal" }],
"connections": [{ "service": "Telegram", "status": "connected" }]
}/api/v1/configUpdate a section of the agent configuration.
Request body
{
"section": "profile", // profile | rules | capabilities | connections
"data": { ... } // section data
}Response
{ "ok": true, "section": "profile" }/api/v1/memoryGet all persistent memory entries.
Response
[{ "id": "uuid", "key": "User's name", "value": "Thomas", "category": "personal", "updatedAt": "..." }]/api/v1/memoryAdd or update a memory entry.
Request body
{
"key": "User's preferred language",
"value": "English",
"category": "preference", // personal | preference | context | fact
"id": "optional-uuid" // omit to auto-generate
}Response
{ "ok": true }/api/v1/memory?id=uuidDelete a memory entry by ID.
Response
{ "ok": true }/api/v1/pullGet all agent-pushed card data, or a single card.
Query params
?card=status (optional)Response
{ "data": { "task": "Done" }, "updatedAt": "...", "agent": "my-bot" }/api/v1/agentsList all connected agents and recent events.
Response
{
"agents": [{ "name": "my-bot", "lastSeen": "2026-03-06T12:00:00Z" }],
"events": [{ "agent": "my-bot", "event": "task_done", "message": "...", "ts": "..." }]
}/api/v1/registerNo authCreate a new user account and receive an API key.
Request body
{ "email": "you@example.com", "name": "Your Name", "password": "yourpassword" }Response
{ "ok": true, "userId": "uuid", "apiKey": "cb_xxx", "note": "Save your API key..." }SDKs coming soon
Official Python and JavaScript/TypeScript SDKs are in development.