CerebeCerebe Docs

Authentication

API keys, organizations, and projects in Cerebe.

Authentication

All Cerebe API requests require an API key sent via the X-API-Key header.

API Key Format

ck_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ1234567890abc
│  │    └── 43 characters of randomness (258-bit entropy)
│  └── environment: live, test, admin
└── cerebe key prefix
  • ck_live_ — Production keys
  • ck_test_ — Development/testing keys
  • ck_admin_ — Organization management keys

Making Requests

from cerebe import AsyncCerebe

# API key from environment variable (recommended)
client = AsyncCerebe()  # reads CEREBE_API_KEY

# Or pass explicitly
client = AsyncCerebe(api_key="ck_live_...")
curl https://api.cerebe.ai/api/v1/memory/search \
  -H "X-API-Key: ck_live_..." \
  -H "Content-Type: application/json" \
  -d '{"query": "hello", "session_id": "test"}'

Organizations & Projects

Cerebe uses an Org > Project > Key hierarchy:

Organization (org_xxx)
  └── Project (proj_xxx)        # development, staging, production
       └── API Key (ck_live_xxx)
  • Organizations — Your team or company
  • Projects — Isolated environments (dev, staging, prod)
  • API Keys — Scoped to a project with specific permissions

Scopes

API keys have permission scopes that control access:

ScopeDescription
memory:readRead/search memories
memory:writeStore/update/delete memories
knowledge:readQuery knowledge graph
knowledge:writeIngest into knowledge graph
storage:readDownload files
storage:writeUpload files
admin:*Full admin access

Rate Limiting

Every response includes rate limit headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1709827200

When you hit the limit, you'll receive a 429 response with a Retry-After header.

Environment Variables

The SDKs automatically read these environment variables:

VariableDescription
CEREBE_API_KEYYour API key
CEREBE_PROJECTProject ID (optional)
CEREBE_BASE_URLAPI base URL (default: https://api.cerebe.ai)

On this page