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 reported

You 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 →