You are wiring RoRo into a product or a pipeline. The lab is where you prototype and read the catalogue; the Python client and the REST API are where the integration lives. Same run engine, same credits, same machine codenames everywhere.
Prototype here, ship from your stack
- Everything the Python kernel runs is the real
roro_platformSDK — write againstroro_platformin a.pyor a notebook, and the same file will run unchanged on your servers once the platform SDK (roro-quantum-platform1.0,import roro_platform) is on PyPI — it is not yet. The client to install today isroro-quantum(pip install roro-quantum), the Python client for the REST API. - The Run rail's Machines — code names list is your integration reference: codename (
targetId), simulator vs hardware, qubits, list per-shot rate, live status. The codename you copy here is the string the Python client, the REST API and/v1/machinesaccept. - The one-line submit_run example on the Python face (
roro.submit_run("<codename>", shots=1000, circuit=qc)) is the Python client's call (pip install roro-quantum;RoRoClient(api_key=…)). Addwait=Trueto block until terminal, or poll the run id.
API keys and secrets
API keys are minted in the console (API keys, also linked from the account menu in the lab's title bar): create one, copy it from the once-only box — it is never shown again — and revoke it there when it leaks or a teammate leaves. Keys belong to your organisation, so runs made with them bill the org's balance at the org's pricing. Python and curl samples are in the documentation. Never paste a key into a project file — projects can be shared and forked, and the browser kernel does not need one (it runs locally and never submits on your behalf). Keep keys in your own environment.
Billing model in one paragraph
Every submission is quoted (POST /runs/quote) with the same code path that charges. Submit holds the quote; completion settles; cancel returns the hold; machine-side failure refunds automatically; a hardware job unfinished after 72 hours is failed and refunded. Org accounts can carry negotiated per-shot pricing, which is why the lab shows list rates as reference and the quote as truth. AI usage (Copilot, explanations) is free while RoRo Copilot is free right now shows; otherwise it is metered as separate AI credits per turn, with no per-message cap — every cost is visible as it settles.
Any other language: REST
- There is no published JavaScript or Kotlin client: from any other language, call the REST API with an API key — the API reference lists every endpoint.
- An OpenAPI contract describes the public API; the Python client follows it.
- Run status streams over SSE and can be polled; a run can be cancelled from the API or the Python client.
Where team features stand in the lab
- Sharing: read-only snapshot links, revocable. Recipients fork on their own credits.
- Moving code in and out: your projects (
⌘O) export any project as a.zipand import a.zipas a new project. - Members, roles, workspace budgets, spend caps and API keys are managed in the console.
Related: Python in the browser · Machines & credits · Sharing & export