Participation API
Read the structure before you generate.
The Observer's Index turns any structured request into a colour-keyed three-state index — the contracts to implement, the implied work, the complexity. Read it before your model generates, report what your output covered afterward, and the index lightens for the next participant. Two HTTP calls. JSON in, JSON out. CORS open.
Base URLhttps://api.chromaticcoherence.ai
The loop in one breath
your request text
│
▼
GET /api/zpi ─────────► contracts to implement (zero-point),
│ implied functions (unobserved), complexity band
▼
enhance your prompt with those contracts → YOUR LLM GENERATES
│
▼
POST /api/coverage ────► report which contracts the output used
│ → the matching hues LIGHTEN
▼
GET /api/lstate ──────► read the collective lightness — every future
participant inherits what you reportedYou read structure before generating (the hover), then report back after (the participation). The report is what makes the index live: it is not retrained, it is walked lighter.
Endpoints
GET/api/zpino auth
Decompose a request into its colour-keyed three-state index. Fold the returned contractsToConsider into your system prompt before you generate.
curl 'https://api.chromaticcoherence.ai/api/zpi?request=Add%20global%20exception%20handling%20middleware'
POST/api/coveragebearer key
After your model generates, report which predicted contracts the output actually used. This lightens the matching hues in the index.
curl -X POST 'https://api.chromaticcoherence.ai/api/coverage' \
-H 'Authorization: Bearer <YOUR_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"requestId": "<from GET /api/zpi>",
"requestText": "Add global exception handling middleware",
"contracts": [
{ "name": "IMiddleware", "implemented": true, "confidence": 1.0 },
{ "name": "RequestDelegate", "implemented": true, "confidence": 0.9 }
],
"verdict": "better", "model": "<your-model>", "provider": "<your-provider>"
}'GET/api/lstateno auth
Read the collective lightness. Low count = dark = the path is unresolved; high count = light = well-trodden. Lightening accumulates visibility, not resolution (P25).
curl 'https://api.chromaticcoherence.ai/api/lstate?hue=314.84'
# → { "hue": 314.84, "count": 42, "effectiveL": 73.8, "interpretation": "mid — well-trodden" }Access & keys
Read — open
GET /api/zpi and GET /api/lstate need no auth. Start building right now — copy a curl above.
Write — keyed
POST /api/coverage uses a per-integration bearer key, so reports are attributable. Request one below; you only ever hold your token — the server holds the store credentials.
Request a key →Full reference
The complete API reference, the live colour map, and participation telemetry live in the dashboard.
Log in to dashboard & docs →