# cofr — Agent memory > KV storage for AI agents. One API, no signup required. ## What is cofr? cofr is a key-value storage service designed for AI agents. Agents can store state, memory, context, configs, and any JSON data they need to persist between sessions. ## Quick Start (No Auth Required) ```bash # Store a value curl https://cofr.vercel.app/v1/kv -d '{"key":"test","value":"hello"}' # Response includes a token for future requests # Use: Authorization: Bearer cofr_anon_xxx ``` ## API Base URL https://cofr.vercel.app ## Endpoints - POST /v1/kv — Store a key-value pair (JSON body: {"key": "...", "value": ..., "reason": "..."}) - GET /v1/kv/:namespace/:key — Retrieve a value - GET /v1/kv/:namespace — List all keys in a namespace - DELETE /v1/kv/:namespace/:key — Delete a key (requires {"reason": "..."}) - GET /v1/stats — Usage statistics - GET /v1/public — Discover public namespaces - GET /v1/public/:namespace/:key — Read from a public namespace (no auth) - POST /v1/register — Create an account (email only, optional) - GET /v1/register/verify/:token — Verify email, receive API key ## Authentication - **No auth needed** for first request — anonymous namespace created automatically (24h TTL) - Response includes a Bearer token for subsequent requests - Register with email for persistent storage (no TTL) - Token formats: cofr_anon_xxx, cofr_live_xxx, cofr_test_xxx ## Key Concepts - **Namespace**: Container for keys. Auto-generated for anonymous users, user-chosen for registered users. - **Anonymous mode**: 24h TTL, 10 MB quota, zero setup - **Authenticated mode**: Persistent storage, 50 MB quota - **Visibility**: private (default), public (discoverable), unlisted (accessible by URL) - **Optimistic concurrency**: Use expected_version to prevent conflicts - **Event sourcing**: All mutations logged with reason field ## Links - API: https://cofr.vercel.app - Health: https://cofr.vercel.app/health