Docs Reference
API
Every endpoint you can call with a key or with no credential, generated from the route code.
Authenticate
Send the key as a Bearer token. API keys explains each scope and how far it reaches.
curl -fsS https://runback.dev/api/runs \
-H "Authorization: Bearer $RUNBACK_API_KEY"Endpoints
Which credential do you hold?
69 endpoints
you can call, 14 of them with no credential at all. Pick the credential you hold to see which accept it.
/api/agents
- GET
/api/agents/scope-bisectBisect an agent pair's scope-grant history to find the grant that changed its behaviour.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Pro
/api/app
- GETPOST
/api/app/ledgerRead the workspace's tamper-evident audit log, or POST to check it for changes (from CI, for example).
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- admin+ to write
- POST
/api/app/ledger/streamThe audit-log check, streamed as it verifies.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
/api/approvals
- GETPOST
/api/approvalsList approval requests, or open one for a held tool call.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Starter
- Role
- member+ to write
- GETPATCH
/api/approvals/[id]Read one approval's status, or decide it.
- Credential
- Key: ci, ingest or a signed‑in session
- Role
- member+ to write
- GET
/api/approvals/[id]/waitLong-poll one approval until it is decided (holds up to 25 s).
- Credential
- Key: ci, ingest or a signed‑in session
- Role
- member+ to write
/api/archive
- GET
/api/archiveThe public model behaviour archive: append-only observations of third-party models.
- Credential
- None
/api/audit
- POST
/api/audit/verifyVerify an audit record you post. The same checks as runback-verify, no account needed.
- Credential
- None
- Limit
- 20 per min per IP
/api/badge
- GET
/api/badge/[logId]An embeddable SVG badge for one workspace's public transparency log.
- Credential
- None
/api/benchmark
- GET
/api/benchmark/fleetYour fleet's percentiles against anonymised peer organisations.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Pro
/api/changelog
- GET
/api/changelogRelease history as JSON, each entry chained to the one before.
- Credential
- None
/api/chargeback
- GET
/api/chargebackCost per team, against each team's budget cap.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Enterprise
/api/corpus
- GET
/api/corpus/signalsAnomaly signals mined from the org's recorded runs.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Pro
/api/cost
- GET
/api/cost/attributionCost broken down by model and agent.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Scale
/api/cps230
- POST
/api/cps230/verifyRe-verify a signed CPS 230 readiness report.
- Credential
- None
- Limit
- 20 per min per IP
/api/datasets
- GET
/api/datasets/[dataset_id]/exportExport a dataset, or one frozen version of it, as JSONL or CSV.
- Credential
- Key: ci, ingest or a signed‑in session
- GETPOST
/api/datasets/[dataset_id]/versionsList a dataset's frozen versions, or freeze a new one.
- Credential
- Key: ci, ingest or a signed‑in session
- Role
- member+ to write
/api/drift
- GET
/api/drift/reportBehavioural drift detected across the fleet: silent upstream model changes.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Scale
/api/evals
- POST
/api/evalsRun an eval over a dataset.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- member+ to write
- Limit
- 6 per min per IP
- GET
/api/evals/[eval_id]/gateThe release-gate verdict for a finished eval. Point CI at this.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- POST
/api/evals/calibrateAgree with or correct one judge verdict, to calibrate the judge.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- admin+ to write
- GETPOST
/api/evals/onlineOnline eval rules, the monthly judge budget and recent scores.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- admin+ to write
- POST
/api/evals/pairwiseJudge two eval runs item by item against each other.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- member+ to write
- Limit
- 6 per min per IP
- POST
/api/evals/pairwise/verdictOverride one pairwise verdict by hand.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- admin+ to write
/api/golden
- GET
/api/golden/reportThe golden corpus report: regressions mined from incidents.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
/api/health
- GET
/api/healthLiveness and readiness, for load balancers and uptime monitors.
- Credential
- None
/api/incidents
- GETPOST
/api/incidentsList incidents, or open one.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- member+ to write
- GETPATCH
/api/incidents/[id]Read one incident, or update its status, severity, root cause or remediation.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- member+ to write
/api/ingest
- POST
/api/ingestSend trace events. This is where every SDK posts.
- Credential
- Key: trace_write, ingest
- Limit
- 300 per min per IP, then 1,000 per min per org
- POST
/api/ingest/bypassReport a model call made outside instrumentation. The SDK's bypass guard posts here.
- Credential
- Key: trace_write, ingest
- Limit
- 300 per min per IP, then 200 per min per org
/api/ledger
- GET
/api/ledger/decisions/[id]The self-contained inclusion proof for one policy decision.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- member+ to write
- GET
/api/ledger/records/[id]The self-contained inclusion proof for one approval, override or report record.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- member+ to write
/api/models
- GET
/api/models/attributionError rate, latency and cost per model.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Scale
- GET
/api/models/diffReplay recent runs against a candidate model and diff the behaviour.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Scale
/api/otel
- POST
/api/otel/v1/tracesOTLP/HTTP traces endpoint. Point any OpenTelemetry exporter here; no SDK needed.
- Credential
- Key: trace_write, ingest
- Limit
- 300 per min per IP, then 1,000 per min per org
/api/policies
- GETPOSTDELETE
/api/policies/assignmentsWhich policy version governs which agent, in enforce or shadow mode.
- Credential
- Key: ci, ingest or a signed‑in session
- Role
- admin+ to write
- GETPOST
/api/policies/decideAsk the server to decide a tool call: allow, deny or require approval.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Starter
- Role
- member+ to write
- POST
/api/policies/decide/backfillReport decisions an SDK made on its own during an outage, once the server answers again.
- Credential
- Key: ci, ingest or a signed‑in session
- Role
- member+ to write
/api/policy-causes
- GET
/api/policy-causesWhich policies block which agents most.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Scale
/api/procurement
- GET
/api/procurementThe trust centre as JSON, for vendor-assessment tools.
- Credential
- None
/api/prompts
- GETPOST
/api/promptsList managed prompts, or create a prompt version.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- member+ to write
- GET
/api/prompts/[name]Fetch the prompt version a label points at. Agents call this on every invocation.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- GETPOST
/api/prompts/[name]/labelsMove a label (staging, production) to a prompt version.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- member+ to write
- GET
/api/prompts/[name]/versionsList a prompt's versions.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- POST
/api/prompts/playgroundRun a prompt version against a model, live.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Growth
- Role
- member+ to write
- Limit
- 10 per min per IP
/api/quickstart
- GET
/api/quickstartA bash script that sends your first run. Pipe it to bash with your key.
- Credential
- None
/api/replay
- POST
/api/replayReplay a recorded LLM call with one thing changed: the model, the prompt, or (deep replay) the whole run.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- member+ to write
- Limit
- 30 per min per IP
/api/runs
- GET
/api/runsList the org's runs.
- Credential
- Key: ci, ingest or a signed‑in session
- Limit
- 120 per min per org and IP
- GETDELETE
/api/runs/[run_id]Read one run's events, or delete the run.
- Credential
- Key: ci, ingest or a signed‑in session
- Role
- admin+ to write
- GET
/api/runs/[run_id]/auditExport one run's signed audit record. An external auditor's grant key works here too.
- Credential
- Key: ci, ingest, external_grant or a signed‑in session
- POST
/api/runs/[run_id]/bisectBisect a run's history to the change that broke it.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Enterprise
- Role
- member+ to write
- Limit
- 8 per min per org and IP
- GET
/api/runs/[run_id]/cassetteA run's events, for the SDK to rebuild a recording it can replay.
- Credential
- Key: ingest or a signed‑in session
- Plan
- From Enterprise
- GET
/api/runs/[run_id]/linkedRuns linked to this one across agents.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Pro
- POST
/api/runs/[run_id]/reexecuteRe-execute a recorded run against the live agent.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Enterprise
- Role
- member+ to write
- Limit
- 10 per min per org and IP
- POST
/api/runs/[run_id]/replayAlias of POST /api/replay for one run.
- Credential
- As /api/replay. Key: ci, ingest or a signed‑in session
- Plan
- Every plan
- Role
- member+ to write
/api/scim
- GETPOST
/api/scim/v2/GroupsSCIM 2.0: list or create groups.
- Credential
- Key: scim
- GETPUTPATCHDELETE
/api/scim/v2/Groups/[id]SCIM 2.0: read, replace, patch or delete one group.
- Credential
- Key: scim
- GET
/api/scim/v2/ResourceTypesSCIM 2.0 discovery: resource types.
- Credential
- None
- GET
/api/scim/v2/SchemasSCIM 2.0 discovery: attribute schemas.
- Credential
- None
- GET
/api/scim/v2/ServiceProviderConfigSCIM 2.0 discovery: what this server supports.
- Credential
- None
- GETPOST
/api/scim/v2/UsersSCIM 2.0: list or create members.
- Credential
- Key: scim
- Plan
- From Enterprise
- GETPUTPATCHDELETE
/api/scim/v2/Users/[id]SCIM 2.0: read, replace, patch or deactivate one member.
- Credential
- Key: scim
- Plan
- From Enterprise
/api/security-findings
- POST
/api/security-findingsRecord one finding from an external security tool into the workspace's signed audit trail.
- Credential
- Key: security_findings
/api/transparency
- GET
/api/transparencyThe public transparency log.
- Credential
- None
- GET
/api/transparency/witnessDownload a checkpoint's RFC 3161 time-stamp token.
- Credential
- None
/api/trust
- GET
/api/trust/chainExport a run's inter-agent trust chain, as JSON or a download.
- Credential
- Key: ci, ingest or a signed‑in session
- Plan
- From Pro
- POST
/api/trust/verifyVerify a trust-chain export you post. No account needed.
- Credential
- None
- Limit
- 20 per min per IP
/api/v1
- GET
/api/v1/compliance/evidence-summaryAggregate regulatory-evidence numbers for a third-party integration.
- Credential
- Key: compliance_read
- Plan
- From Enterprise
What is not here
Routes that only serve the app's own pages with a session cookie, scheduled jobs, and the sign-in and marketing forms are not an API you build against. They can change without notice; build only against the endpoints listed here.
Of 172 route files, 69 are the endpoints above. The rest: 63 serve the app's own pages with a session, 25 are scheduled jobs, 2 are signed one-click links and 13 are sign-in and marketing forms.