Skip to content

What this is

The HTTP surface. Every spoke follows the same conventions; the live list is generated from src/lib/contracts/registry.ts so it cannot drift from what's deployed.

Conventions

  • Spoke routes: /api/spokes/<slug>/<verb> (e.g. /api/spokes/job-family-agent/classify).
  • Reads (GET): open on Production.
  • Writes (POST): require a service key — x-toolbox-service-key: <key> or Authorization: Bearer <key> (requireServiceKey).
  • Errors: 401 (missing/invalid service key), plus spoke-specific contract validation (Zod).

Platform endpoints

RoutePurpose
GET /api/registryEvery spoke, status, and contract version (source of truth)
GET /api/healthAggregate health roll-up
GET /api/spokes/<slug>/healthPer-spoke health: { spoke, status, contractVersion, schemaReachable, latencyMs, checkedAt }

Live spokes (generated — clusters)

Generated from the registry. The authoritative, always-current set is status: "live" in src/lib/contracts/registry.ts. Per-spoke route/parameter detail is generated from each spoke's contract (src/spokes/<slug>/contracts/types.ts).

  • Psychometrics: reincarnation · preference-modeler
  • Stats & causal: calculus · forecasting · program-evaluation · causal-discovery
  • Latent-factor & performance: factor-models · performance-validity · performance-calibration · manager-effectiveness
  • HRIS spine: segmentation-studio · data-anonymizer · job-family-agent · org-graph · worker-resolution · workforce-planning
  • Compensation: anycomp · wage-compliance · wage-benchmark
  • Registry: metrics-catalog

Example

bash
# read (open)
curl "https://<base>/api/spokes/job-family-agent/classify?title=Staff%20Data%20Scientist"

# write (service key)
curl -X POST "https://<base>/api/spokes/anycomp/scenarios" \
  -H "x-toolbox-service-key: $TOOLBOX_SERVICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "tenantId": "acme", "priorities": { ... } }'

Full generated reference

The complete surface table is generated from docs/capability-manifest.jsonreference-apis.generated.md (27 REST surfaces). Regenerate with:

bash
node ~/devplane/scripts/gen-product-reference.mjs .

Honest scope

This page lists conventions + clusters; the per-endpoint detail lives in the generated reference (the standard's "declare once → document once" rule), not hand-maintained here.

See also

Getting Started · MCP Tools · Architecture