API Reference
Clone exposes one REST surface, served at https://api.clone.is in production and at http://localhost:8001 in development. Every endpoint lives under one of these prefixes:
| Prefix | What it owns | Page |
|---|---|---|
/api/auth/ | Signup, login, JWT refresh, API keys, invite, waitlist, me/. | Authentication |
/api/recording/ | Idempotent event ingest; sessions and event detail. | Recording |
/api/memory/ | Profile, semantic facts, episodes, raw memory; promotion pipeline; the headline /context/ bundle. | Memory |
/api/predictions/ | Predict, batch-predict, feedback, list, stats. | Predictions |
/api/access/ | Per-account members, invite/approve/decline. | Reference page TBD |
/api/voice/ | ElevenLabs voice synthesis. | Reference page TBD |
/api/sources/ | Source connectors (per-integration adapter scaffolding). | Reference page TBD |
/api/news/ | Curated news feed for the marketing site. | Reference page TBD |
/api/monitoring/ | Read-only health and stats endpoints. | Reference page TBD |
/api/jobs/ | Background-job records (one row per LLM call etc.). | Reference page TBD |
/admin/ | Django admin (staff only). | N/A |
Authentication, Recording, Memory, and Predictions have detailed reference pages linked above. The remaining surfaces are live but not yet documented in detail here.
Conventions
- Auth. Every endpoint requires
IsAuthenticated. See Authentication for the two credential shapes (Authorization: Bearer …JWT orX-Clone-API-Key: clone_…API key). - Content type. Request bodies are JSON. Responses are JSON. Empty responses use
204 No Content. - Datetimes. All datetimes are ISO-8601 in UTC. Query params like
since=anduntil=accept the same format. - Pagination. List endpoints use
limit(default and max documented per endpoint) andoffset. There is no cursor pagination today. - Error shape. Errors return
{ "error": "<message>" }with the matching HTTP status; per-item batch errors return alongside the success array (e.g.recording/events/'sinvalidlist).
Status codes you'll see
| Code | When |
|---|---|
200 OK | Read endpoints. |
201 Created | Successful POST that persisted a new row (recording ingest, prediction, fact). |
204 No Content | Successful DELETE. |
400 Bad Request | Validation error in the request body. |
401 Unauthorized | Missing or invalid credential. |
404 Not Found | Row does not exist or does not belong to request.user. |
429 Too Many Requests | Anthropic rate-limited the prediction call. |
502 Bad Gateway | Anthropic returned a non-2xx upstream. |
503 Service Unavailable | LLM key missing, Anthropic unreachable, or invalid Anthropic key. |