agent-identity
Base: https://<ref>.firebaseapp.com/functions/v1/agent-identity
POST /agents/create
Auth: bridge key.
{ "agent_id": "agent-triage", "display_name": "Triage" }
Returns { agent_id, created_at }.
POST /device/issue
Auth: bridge key.
{ "agent_id": "agent-triage", "label": "laptop" }
Returns { device_key, device_id, expires_at }. Device key is shown
exactly once.
POST /device/revoke
Auth: bridge key or matching device key.
{ "device_id": "dev_..." }
POST /delegate
Auth: device key for from_agent.
{
"from_agent": "agent-triage",
"to_agent": "agent-summary",
"scope": ["memory.read", "postbox.send"],
"expires_at": "2026-05-01T00:00:00Z"
}
Returns { delegation_id, token }.
POST /secrets/put
Auth: device key.
{ "agent_id": "agent-triage", "key": "openai_api_key", "value": "sk-..." }
Value is encrypted at rest.
POST /secrets/get
{ "agent_id": "agent-triage", "key": "openai_api_key" }
Returns { value }.
POST /settings/list
Auth: bridge key.
Returns { settings: [{ key, value, schema }] }.
POST /settings/set
Auth: bridge key. Key must be in the allow-list.
{ "key": "postbox_retention_days", "value": 60 }