REST / Gateway
Use REST when you want explicit memory operations. Use the OpenAI-compatible gateway when your client already speaks chat completions or responses APIs.
Registry contract
This section is generated from integrations/agent_integrations.registry.json. Edit the registry or generator, not this block.
| Field | Value |
|---|---|
| Integration ID | rest |
| Label | REST / Gateway |
| Tier | direct_client |
| Setup mode | rest_gateway |
| Agent ID | rest |
| App ID | api |
| Source app / actor | source_app=api, agent_id=rest; key metadata wins over request body hints |
| Default scope | own |
| Config paths | environment variables, custom client config |
| Capabilities | memory.read, memory.write, memory.recall, agent.context, agent.writeback, evidence.read, courtroom.read |
| Supported tools | REST /api/v1, OpenAI-compatible /v1/chat/completions, OpenAI-compatible /v1/responses |
Capture policy
Direct clients must send explicit source_app, agent_id, memory_plane, and container_tag metadata; writeback still passes through lifecycle gates.
Install command(s)
curl {{API_V1_BASE_URL}}/stats?container_tag={{CONTAINER_TAG}} -H "Authorization: Bearer {{KEY_REF}}"
Verify command(s)
GET /api/v1/stats
POST /api/v1/memories/search
POST /api/v2/containers/{{CONTAINER_TAG}}/agent/context
Environment
{
"UNIFIED_MEMORY_API_KEY": "{{KEY_ENV_REF}}",
"UNIFIED_MEMORY_CONTAINER": "{{CONTAINER_TAG}}",
"UNIFIED_MEMORY_URL": "{{EDGE_BASE_URL}}"
}
Risk notes
- Scoped REST client keys default to own-agent visibility; agent_scope=all is admin/operator-only.
- Every request must include the canonical container unless an admin grants a separate workspace.
- Use edge for bearer auth and origin only for HMAC-signed internal traffic.
Official upstream docs
https://modelcontextprotocol.io/specification/2025-03-26/basic/transports
Scope and capabilities
| Setting | Value |
|---|---|
| Source app | rest or client-specific |
| Default container | jeethendra |
| Default scope | own for agent keys |
| API base | https://edge-api.jithendranara.dev/api/v1 |
| Gateway base | https://edge-api.jithendranara.dev |
Verify key access
curl "https://edge-api.jithendranara.dev/api/v1/stats?container_tag=jeethendra" \
-H "Authorization: Bearer <scoped-key>"
Retain a fact
curl https://edge-api.jithendranara.dev/api/v2/containers/jeethendra/retain \
-H "Authorization: Bearer <scoped-key>" \
-H "Content-Type: application/json" \
-d '{"content":"UnifiedMemory docs are hosted at docs.jithendranara.dev.","source":"rest"}'
Recall memory
curl https://edge-api.jithendranara.dev/api/v2/containers/jeethendra/recall \
-H "Authorization: Bearer <scoped-key>" \
-H "Content-Type: application/json" \
-d '{"query":"Where are the docs hosted?","limit":5,"trust_policy":"balanced"}'
Gateway call
curl https://edge-api.jithendranara.dev/v1/responses \
-H "Authorization: Bearer <scoped-key>" \
-H "Content-Type: application/json" \
-d '{"model":"minimax/MiniMax-M3","input":"What should I remember about docs?","memory":{"container_tag":"jeethendra"}}'
Risk notes
- Use scoped keys for clients. Keep admin keys out of application code.
- Do not send raw credentials, cookies, or private logs as memory content.
- If you need deletion/forget behavior, verify the key capability first.