Appearance
What this is
Principia's two interfaces: a measurement-engine API and a typed registry data contract. Both are first-class — pick by integration style.
Measurement-engine API (/api/v1/*)
Auth-gated per the portfolio service standard (REST + MCP). Exact base URL + key: SPEC.md.
| Surface | Method | Returns |
|---|---|---|
…/methods (advisor) | GET | recommended methods for a construct/measurement goal |
…/priors, …/posterior | GET/POST | credible-synthesis prior / updated posterior |
…/local-validity | POST | local closed-loop validity |
…/assemble-battery | POST | assembled item battery |
…/open-text-codings | POST | open-text coded to constructs |
…/methods/scoring/confidence | POST | θ̂ (grid-MLE) + Fisher SE/CI + info_gain_next + threshold_met |
…/methods/response-diagnostics | POST | per-item INFIT/OUTFIT misfit + log-RT anomaly flags |
MCP: exposed as principia tools.
Registry data contract (@measurement/core)
The other interface is typed reads, not endpoints. Consume Construct, Instrument, Item, Measure, Model, EffectSize, Publication, StudyQualityGrade via @measurement/core — apps do not re-implement the schema. Source-side cards (ConstructCard, InstrumentCard, Citation) come from CanonicAI; the resolved spine (CanonicalVariable, CanonicalSurveyItem) is Principia's.
Contributor rule
Discover an unsurveyed instrument? File a Principia-side assignment to register it — never silently expand the shared schema.
Full generated reference
Generated from docs/capability-manifest.json → reference-apis.generated.md / reference-mcp.generated.md. Regenerate with node ~/devplane/scripts/gen-product-reference.mjs ..