HTTP API

Base URL: https://chroma.adammcbride.co.uk/api. The machine-readable description is at /api/openapi.json (OpenAPI 3.1).

Authentication

Create a personal API key on your account page and send it as Authorization: Bearer cj_…. Keys carry scopes (schemes:read, schemes:generate, schemes:write) and only ever see the owner’s schemes.

Endpoints

MethodPathScopePurpose
POST/api/schemes/generateschemes:generateGenerate a paired light/dark scheme from {"concept": "…"}. Optional variation and locks. Uses the semantic cache before Jev.
GET/api/schemesschemes:readList your saved schemes (limit, offset).
POST/api/schemesschemes:writeSave a generated scheme: {"name": "Dynumo", "generationId": "…"}.
GET/api/schemes/{idOrSlug}schemes:readRetrieve a saved scheme.
PATCH/api/schemes/{idOrSlug}schemes:writeRename or change notes.
POST/api/schemes/{idOrSlug}/duplicateschemes:writeDuplicate.
DELETE/api/schemes/{idOrSlug}schemes:writeDelete.
GET/api/schemes/{idOrSlug}/export?format=css|json|tailwind|tailwind-v3schemes:readExport.

Example

curl -X POST https://chroma.adammcbride.co.uk/api/schemes/generate \
  -H "Authorization: Bearer $CHROMAJEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"concept": "autumn forest"}'