Documentation menu

API reference

Generated from openapi.json: every endpoint, parameter, and example.

Generated from /openapi.json (OpenAPI 3.1) — the same file agents consume. Every operation ships with examples. Base URL: https://api.roborama.com, authenticated with Authorization: Bearer $ROBORAMA_API_KEY.

quote → run|eval|verify|matrix|threshold → episodes (MCAP + video + GT)
                                        → result (n, rate, CI, clusters)
                                        → report (verification, citable)
                                        → webhook (gate your release)

Runs

The core primitive. POST /v1/runs accepts a kind (run | eval | verify | matrix | threshold | compare | transfer) with kind-specific parameters mirroring the SDK.

EndpointSummary
POST /v1/runsCreate a run (any kind)
GET /v1/runsList runs
GET /v1/runs/{run_id}Retrieve a run
GET /v1/runs/{run_id}/episodesList episodes for a run
GET /v1/runs/{run_id}/reportRetrieve the verification report
POST /v1/runs/{run_id}/exportExport run data
GET /v1/runs/{run_id}/eventsWatch a run (server-sent events)

Robots

Embodiment discovery. Robots are addressed as model@firmware.

EndpointSummary
GET /v1/robotsList robots

Environments

Versioned catalogue scenes, from bare cell-a to surgical-replica@v3.

EndpointSummary
GET /v1/environmentsList environments

Quote

Price a job before you run it. Both meters are visible in every quote.

EndpointSummary
POST /v1/quoteQuote a job

Suites

Frozen benchmark bundles: tasks + environments + perturbation schedules + scoring.

EndpointSummary
GET /v1/suitesList benchmark suites

Gates

CI gates: run a suite on matching refs, fail the check on regression.

EndpointSummary
POST /v1/gatesCreate a CI gate

Streams

Live cell observability: WebRTC and MJPEG stream descriptors.

EndpointSummary
GET /v1/streams/{cell}Get a cell stream descriptor

Account

Usage, budgets, keys, and receipted data deletion.

EndpointSummary
GET /v1/usageGet usage for a period
PUT /v1/budgetsSet the monthly budget
POST /v1/keysCreate an API key
GET /v1/keysList API keys
DELETE /v1/data/{run_id}Purge run data (receipted)

Calibration

Ground-truth calibration exports for simulator vendors (scoped license, validation use only).

EndpointSummary
POST /v1/calibration/exportsExport calibration data

Tasks

Task Specs — a customer claim formalized as a declarative, versioned protocol with instrument-bound success predicates. Lifecycle: draft → piloting → frozen@vN. Frozen specs are immutable; changes create the next revision.

EndpointSummary
POST /v1/tasksCreate a Task Spec
GET /v1/tasksList Task Specs
GET /v1/tasks/{task_id}Get a Task Spec
POST /v1/tasks/{task_id}/pilotRun a pilot (calibration session)
POST /v1/tasks/{task_id}/amendAmend a draft or piloting Task Spec
POST /v1/tasks/{task_id}/freezeFreeze the Task Spec

Kits

Object kits — customer hardware shipped to the facility, then tracked (mocap markers, mass, mesh scan) and made referenceable from Task Specs as kit/<name>. Status: received → tracked → available.

EndpointSummary
POST /v1/kitsRegister an object kit
GET /v1/kits/{kit_id}Get a kit and its status progression
GET /v1/kits/{kit_id}/shipping-labelGet the inbound shipping label

Webhooks

Events delivered to your endpoint as signed POST requests: run.completed, episode.failed, threshold.crossed, regression.detected, estop.triggered. Acknowledge with any 2xx.

EventSummary
run.completedA run finished and its result is available
episode.failedAn episode failed, with its cluster
threshold.crossedA threshold contract's target was met on soak tier
regression.detectedA gate or matrix found a regression vs. a prior run
estop.triggeredAn emergency stop fired in a cell running your policy