Skip to main content
22 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}/connectors

GET /v0/orgs/{org}/connectors: the catalog, per category, with each standard connector’s inherited eval set and the computed promote-to-VIP flag (connectorcatalog). Retired rows only with ?retired=1. Path parameters: orgtag Query parameters the handler or its helper reads: retired Response fields written in the helper the handler answers through: categories, connectors, counts, org, promotion_tier, tier

POST /v0/orgs/{orgtag}/connectors

POST /v0/orgs/{org}/connectors with {connectors: [...], by}: an idempotent upsert of catalog rows. Path parameters: orgtag Body fields the handler or its helper reads: by, connectors 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.

PATCH /v0/orgs/{orgtag}/connectors/{cid}

PATCH /v0/orgs/{org}/connectors/{cid} with the fields to change and by — a tier, a new version (marks a rerun due), a regression rate. Path parameters: orgtag, cid Body fields the handler or its helper reads: by, retired 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}/connections/rotations

This org’s rotation record: when every link was turned over, and by whom. Path parameters: orgtag Response fields written in the handler: note, org, rotations

POST /v0/orgs/{orgtag}/connections/rotations

Turn over EVERY live connector URL this org holds. {by?}. Path parameters: orgtag Body fields the handler or its helper reads: by, via Response fields written in the handler: links, note, org, public_url, rotated, rotation This call changes state in the org.

GET /v0/orgs/{orgtag}/schedules

This org’s schedules. ?surface= narrows to one surface’s. Path parameters: orgtag Query parameters the handler or its helper reads: surface Response fields written in the handler: anchors, cadences, kinds, schedules, tick_seconds

POST /v0/orgs/{orgtag}/schedules

Declare a cadence: {kind, surface, cadence, anchor, …}. Path parameters: orgtag Body fields the handler or its helper reads: agent, anchor, cadence, harness, kind, label, source, start_at, surface Response fields written in the helper the handler answers through: due_in, fire_blocked (added to a stored record whose own keys are not in the source) This call changes state in the org.

GET /v0/orgs/{orgtag}/schedules/{sid}

One schedule. Another org’s id answers as one that does not exist. Path parameters: orgtag, sid Response fields written in the helper the handler answers through: due_in, fire_blocked (added to a stored record whose own keys are not in the source)

PATCH /v0/orgs/{orgtag}/schedules/{sid}

Change a schedule’s cadence, anchor, label or pinned spec. Path parameters: orgtag, sid Body fields the handler or its helper reads: anchor, cadence, label, start_at Response fields written in the helper the handler answers through: due_in, fire_blocked (added to a stored record whose own keys are not in the source) This call changes state in the org.

DELETE /v0/orgs/{orgtag}/schedules/{sid}

Stop a schedule. The runs it produced are evidence and are kept — what goes is the standing instruction to produce more. Path parameters: orgtag, sid Response fields written in the handler: deleted, runs_kept This call changes state in the org.

GET /v0/orgs/{orgtag}/sources

This org’s sources. ?surface= narrows to one surface’s feeds. Path parameters: orgtag Query parameters the handler or its helper reads: surface Response fields written in the handler: cadences, consent_questions, kinds, pullable, sources

POST /v0/orgs/{orgtag}/sources

Connect a source: {kind, surface, external_id, auth?, cadence?, consent?}. Path parameters: orgtag Body fields the handler or its helper reads: agent, anonymize, auth, cadence, consent, data_access, external_id, import, kind, label, last_sync, scope, services, surface Response fields written in the helper the handler answers through: anonymize, anonymize_default, auth_mode, consent_question, data_access, key_location, next_sync, pullable, services, span_resume, stats, sync_blocked (added to a stored record whose own keys are not in the source) This call changes state in the org.

GET /v0/orgs/{orgtag}/sources/datadog/oauth/start

Start Connect Datadog: ?by, site, service, surface, consent=granted, data_access, ml_app?, requests_ml_app?, requests_select?, label?, cadence? → 302 to Datadog’s consent page, the URL also in the body as authorize_url for the console’s server-side hop. Path parameters: orgtag Response fields written in the handler: authorize_url, scopes, state

GET /v0/orgs/{orgtag}/sources/datadog/oauth/callback

Finish Connect Datadog: ?code, state, domain?, by (or ?error, state). Path parameters: orgtag Query parameters the handler or its helper reads: by, code, domain, error, state Response fields written in the handler: auth, first_sync, ml_app, reconnected, site, source, state

POST /v0/orgs/{orgtag}/sources/datadog/connect

Connect (or reconnect) this org’s Datadog from two keys and a site. Path parameters: orgtag Body fields the handler or its helper reads: anon_key, api_key, app_key, by, cadence, consent, data_access, label, list, ml_app, requests_ml_app, requests_select, service, site, surface Response fields written in the handler: first_sync, message, ml_app, reconnected, services, site, source, state This call changes state in the org.

GET /v0/orgs/{orgtag}/sources/{sid}

One source. Another org’s id answers as one that does not exist. Path parameters: orgtag, sid Response fields written in the helper the handler answers through: anonymize, anonymize_default, auth_mode, consent_question, data_access, key_location, next_sync, pullable, services, span_resume, stats, sync_blocked (added to a stored record whose own keys are not in the source)

PATCH /v0/orgs/{orgtag}/sources/{sid}

Change a source’s cadence, consent, credential names, label, evidence, or the record of its last sync. Path parameters: orgtag, sid Body fields the handler or its helper reads: agent, anon_key, anonymize, auth, by, cadence, consent, data_access, evidence, forget_anon_key, import, label, last_sync, pull_pending, scope, services Response fields written in the helper the handler answers through: anonymize, anonymize_default, auth_mode, changes, consent_question, data_access, forgotten, key_location, next_sync, pullable, services, span_resume, stats, sync_blocked (added to a stored record whose own keys are not in the source) This call changes state in the org.

DELETE /v0/orgs/{orgtag}/sources/{sid}

Disconnect a source. Path parameters: orgtag, sid Query parameters the handler or its helper reads: by Response fields written in the handler: deleted, evidence_kept This call changes state in the org.

POST /v0/orgs/{orgtag}/sources/{sid}/sync

Pull this source now: POST /v0/orgs/{org}/sources/{sid}/sync. Path parameters: orgtag, sid Response fields written in the handler: deduplicated, job, note, poll, source, status This call changes state in the org.

POST /v0/orgs/{orgtag}/sources/{sid}/pulled

Record a finished LLM Observability pull: POST …/sources/{sid}/pulled. Path parameters: orgtag, sid Response fields written in the helper the handler answers through: anonymize, anonymize_default, auth_mode, consent_question, data_access, key_location, next_sync, pullable, services, span_resume, stats, sync_blocked (added to a stored record whose own keys are not in the source) This call changes state in the org.

POST /v0/orgs/{orgtag}/sources/{sid}/labels

A label stream’s batch, from an operator’s pull: POST …/sources/{sid}/labels with {format?, name?, items}. Path parameters: orgtag, sid Body fields the handler or its helper reads: as_failure_modes, format, items, name 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/connections

One org’s minted connections: world, urls, and whether each is live. Query parameters the handler or its helper reads: org Response fields written in the handler: connections