Skip to main content
27 routes. Every example runs with LITMUS_URL, LITMUS_TOKEN and LITMUS_ORG (your org tag) set in your shell (see Authentication). A $NAME in a path is an id you read from the listing route on this page; a <field> in a body is a value you supply, and every field the handler reads is shown, so send only the ones you need. Fields are what the handler’s source reads and writes, listed mechanically; they are not a schema.

GET /v0/orgs/{orgtag}/situations

GET /v0/orgs/{org}/situations. Path parameters: orgtag Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed.

GET /v0/orgs/{orgtag}/criteria/readiness

GET /v0/orgs/{org}/criteria/readiness[?agent=]. Path parameters: orgtag Query parameters the handler or its helper reads: agent Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed.

POST /v0/orgs/{orgtag}/dimensions/values/{value_id}/profile

POST …/dimensions/values/{value_id}/profile with any of weight, profile, jobs, personas, and by (valueprofile.set_profile). Path parameters: orgtag, value_id Body fields the handler or its helper reads: by Response fields written in the handler: org, value This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/personas/{value}/draw

POST /v0/orgs/{org}/dimensions/personas/{value}/draw with {by, surface?}: a member’s press on a persona’s card — its sandbox’s generate job now, the day’s budget notwithstanding (a press, as accepting a proposal is), on the pass’s ledger like any draw. Path parameters: orgtag, value Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed. This call changes state in the org.

GET /v0/orgs/{orgtag}/dimensions/personas

GET|POST /v0/orgs/{org}/dimensions/personas. Path parameters: orgtag Response fields written in the handler: added, draw

POST /v0/orgs/{orgtag}/dimensions/personas

GET|POST /v0/orgs/{org}/dimensions/personas. Path parameters: orgtag Body fields the handler or its helper reads: add, by, cited, draw, n, notes, personas, stated_from, surface Response fields written in the handler: added, draw This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/personas-from-document

POST /v0/orgs/{org}/dimensions/personas-from-document with {source}: the personas the source’s documents’ PINNED extractions cite, written as the named persona axis (valueprofile.from_document). No model call — the pin is the read; a document never read is refused. Path parameters: orgtag Response fields written in the helper the handler answers through: derived_from, field, org, pins, row, source, tier, values This call changes state in the org.

GET /v0/orgs/{orgtag}/coverage

GET /v0/orgs/{org}/coverage: the persona x job matrix — which cells hold tasks and verifiers, which a person marked as a job of that persona and are still gaps (valueprofile.coverage). Path parameters: orgtag Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed.

GET /v0/orgs/{orgtag}/ontology

One graph’s snapshot: ?surface= names it (or the org’s only surface is resolved), ?legacy=1 addresses the pre-keying per-org graph. Carries surfaces — the org’s, as data — beside the graph; compile is the named surface’s newest compile job and null on a legacy read; counts.removed is what the current revision retired from the one before it. ?part=head is the same record without the graph (nodes, edges, evidence_refs, plans, ontology) for a page that draws none; the graph is kept per surface version and x-litmus-ontology-cache says hit or miss. Path parameters: orgtag Query parameters the handler or its helper reads: legacy, part, surface Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed.

POST /v0/orgs/{orgtag}/ontology/compile

Compile one surface’s graph from its corpus. 202 + a job id; a repeat while that surface’s compile runs returns the running job with deduplicated: true. The job’s result is the compiler’s report: what landed, what was refused (proposed and never admitted) and what was removed (held by the previous revision, unevidenced by this corpus), and schema_pin — the pinned model draw it compiled over, reused when the corpus, model and prompt are unchanged. redraw: true is the explicit act that draws again and supersedes that pin. Path parameters: orgtag Body fields the handler or its helper reads: force, redraw, surface Response fields written in the handler: deduplicated, job, note, status, surface This call changes state in the org.

GET /v0/orgs/{orgtag}/ontology/pins

The pinned model draws of one surface’s ontology: every pin it has had (?surface=), or one by id (?pin=oxp_…), current or superseded — so a sandbox’s schema_pin can be read back to the draw it came from. Path parameters: orgtag Query parameters the handler or its helper reads: pin, surface Response fields written in the handler: org, pins, prompt_version, surface

POST /v0/orgs/{orgtag}/ontology/restore

Restore one SURFACE’s revision; the answer names the surface. Path parameters: orgtag Body fields the handler or its helper reads: expected_revision, legacy, revision, surface Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed. This call changes state in the org.

GET /v0/orgs/{orgtag}/ontology/nodes/{node_id:path}

One node of one graph, with the edges that touch it and the evidence behind both; the graph is addressed as ontology_get addresses it. Path parameters: orgtag, node_id Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed.

POST /v0/orgs/{orgtag}/surfaces/{surface}/ontology/derive

POST /v0/orgs/{org}/surfaces/{surface}/ontology/derive — store the ontology of the version this surface serves NOW under its sfv-. Path parameters: orgtag, surface Body fields the handler or its helper reads: agent, agent_version Response fields written in the handler: counts, exposed_by, job, ontology, status, surface, surface_version, tier This call changes state in the org.

GET /v0/orgs/{orgtag}/surfaces/{surface}/ontology/versions

GET …/surfaces/{surface}/ontology/versions — the switcher’s list: every stored version with the agent versions that expose it, and the current one (a pointer, read live) whether or not it was derived. Path parameters: orgtag, surface Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed.

GET /v0/orgs/{orgtag}/surfaces/{surface}/ontology/diff

GET …/surfaces/{surface}/ontology/diff?a=sfv-…&b=sfv-… — what moved between two stored versions: operations added / removed / renamed, relation edges moved, surface-half dimension values moved. Both must be stored; b defaults to the current version. Path parameters: orgtag, surface Query parameters the handler or its helper reads: a, b Response fields written in the handler: surface

POST /v0/orgs/{orgtag}/surfaces/{surface}/relations/document

{source?} — one model pass over the org’s document, written as the edges it states between this surface’s services, objects and data. Path parameters: orgtag, surface Body fields the handler or its helper reads: source Response fields written in the handler: evidence, job, note, org, poll, stages, surface This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/values/{value_id}/parent

A PERSON says which value this one belongs to. Path parameters: orgtag, value_id Body fields the handler or its helper reads: field, grader, grader_kind, reason, value Response fields written in the handler: attachment, grader, note, org, parent, replaced, tier, value This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/merge-spellings

Fold a use case the org holds in two spellings into the first one written. Path parameters: orgtag Body fields the handler or its helper reads: apply, by, field Response: JSON: a stored record or a helper’s result, answered as it is, so its keys are not written in the source and none are listed. This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/values/{value_id}/hero

Mark a use case as one of the org’s HERO use cases, or unmark it. Path parameters: orgtag, value_id Body fields the handler or its helper reads: by, cites, hero Response fields written in the handler: by, cites, hero, org, value This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/values/{value_id}/accept

{by, reason?} — accept or dismiss a proposed axis (dx_…) or one of its values (dv_…). Path parameters: orgtag, value_id Body fields the handler or its helper reads: by, personas, reason Response fields written in the handler: act, axis, org, target This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions/values/{value_id}/dismiss

{by, reason?} — accept or dismiss a proposed axis (dx_…) or one of its values (dv_…). Path parameters: orgtag, value_id Body fields the handler or its helper reads: by, personas, reason Response fields written in the handler: act, axis, org, target This call changes state in the org.

POST /v0/orgs/{orgtag}/ontology/revisions/{rev}/restore

POST /v0/orgs/{org}/ontology/revisions/{rev}/restore — put back what an applied ontology diff changed: the agent’s layer slots as the revision found them. {reason?}. The state it replaces is kept as a revision (undo), so restoring that re-applies the diff. 404 for a revision this org does not hold or that is not an ontology revision; 409 for one already restored. Ids only; no model call. Path parameters: orgtag, rev Body fields the handler or its helper reads: by, reason Response fields written in the handler: error, revision This call changes state in the org.

GET /v0/orgs/{orgtag}/dimensions

Every axis this org’s representation carries, with its provenance. Path parameters: orgtag Response fields written in the helper the handler answers through: facets (added to a stored record whose own keys are not in the source)

POST /v0/orgs/{orgtag}/dimensions/derive

{source} — one model pass over one source, written as dimension values. Path parameters: orgtag Body fields the handler or its helper reads: additive, attributes, curve, limit, propose, source, subsample Response fields written in the handler: complements, deduped, dropped_ids, job, model, note, org, partial, poll, prompt_version, proposed, read, read_chars, records, refused, stages, tier This call changes state in the org.

POST /v0/orgs/{orgtag}/dimensions

Declare a dimension: {field, values, label?, description?, added_by?}, answered with the stored record. Path parameters: orgtag Body fields the handler or its helper reads: added_by, description, field, label, preset, values Response fields written in the helper the handler answers through: already, dimensions, preset, registered This call changes state in the org.

DELETE /v0/dimensions/{did}

No description: the handler has no docstring, and nothing here is inferred. Path parameters: did Response fields written in the handler: deleted, field This call changes state in the org.