Getting started

Authentication

Every request carries an API key as a bearer token. Keys are region bound and cannot be moved between deployments.

Bearer token

Send the key in the Authorization header on every call:

Authorization: Bearer rcd_eu_a1b2c3d4_...

Keys are shown once, at creation. Recalld stores only a hash, so a lost key cannot be recovered: revoke it and mint a new one.

Key format

Keys are structured as rcd_<region>_<prefix>_<secret>:

SegmentMeaning
rcdFormat tag. Keys issued before the rename carry amk and still work.
regionTwo-letter region code, for example eu or us.
prefixPublic lookup handle. Safe to log, shown in the dashboard.
secretThe part that authenticates. Never logged, never recoverable.

Restricting a key to agents

By default a key can act as any agent in the account: the agent is chosen by the agent_id in the URL, and agent ids are not secret. When you create a key you can tick the agents it may use. A restricted key gets 403 on every other agent, so an agent that holds it cannot read or write another agent's memory, even if it learns the id. A restricted key cannot create agents either. Leave the list empty for a key that may use every agent.

Task memory is not restricted by keys. Any allowed agent that knows a task_id can read the shared pool.

Sending a key to the wrong region

Regions are separate deployments with separate databases. A European key presented to the US host is rejected: the host that would have to validate it has no record of it. The error names both regions so you can see the mismatch:

api key belongs to region "eu", this is region "us"

Read Regions for the full model.

Common responses

StatusMeaning
401Missing, malformed, or revoked key.
403Valid key shape, but wrong region, the agent does not belong to this key's account, or the key is restricted to other agents.
429Plan rate limit exceeded. Limits are per plan, see Plans.

MCP clients authenticate differently

The MCP endpoint does not accept API keys. It runs its own OAuth flow, and the agent is bound when the connection is authorized. See MCP integration.