API Reference

Capaboard API

All endpoints accept and return JSON. Authenticate with your API key using the x-api-key header.

Base URL: https://capaboard.ai

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

PythonJavaScriptcurl
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

POST/api/v1/push

Push 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" }
GET/api/v1/config

Get 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" }]
}
POST/api/v1/config

Update a section of the agent configuration.

Request body

{
  "section": "profile",     // profile | rules | capabilities | connections
  "data": { ... }           // section data
}

Response

{ "ok": true, "section": "profile" }
GET/api/v1/memory

Get all persistent memory entries.

Response

[{ "id": "uuid", "key": "User's name", "value": "Thomas", "category": "personal", "updatedAt": "..." }]
POST/api/v1/memory

Add 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 }
DELETE/api/v1/memory?id=uuid

Delete a memory entry by ID.

Response

{ "ok": true }
GET/api/v1/pull

Get all agent-pushed card data, or a single card.

Query params

?card=status (optional)

Response

{ "data": { "task": "Done" }, "updatedAt": "...", "agent": "my-bot" }
GET/api/v1/agents

List 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": "..." }]
}
POST/api/v1/registerNo auth

Create 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.