/api/v1/runtime/*. This
guide shows the full loop — list backends → estimate → submit → get
results — and the four ways to drive it (API, Python SDK, desktop, shell).
Base URL: your instance (e.g.https://api.softquantus.com, orhttp://localhost:8377for the local demo). All examples use$QCOSfor the base URL and$KEYfor your API key.
Authentication
Every call carries your API key, as a bearer token orX-API-Key:
qcos:read scope; submitting jobs needs
qcos:execute. On the local demo, auth is disabled (QCOS_AUTH_REQUIRED=false).
1. List backends
{ "backends": [...], "total": N }. Each backend:
?backend_type=simulator, ?provider_source=ibm_quantum, or
?available_only=true. A backend is available only when its required
environment variables are set — see
Add a Quantum Computer.
2. Estimate cost
approval_required is true for real QPUs, for estimates ≥ $1.00, or when
QEC is enabled.
3. Submit a job
Minimum body:backend_id + a circuit (qasm, OpenQASM 2.0) + shots.
202 Accepted):
Job states progress:
dry_run → approval_required → approved → queued → running → completed | failed | cancelled. Add ?dry_run=true to validate
without executing, or POST to /jobs/async to queue.
4. Get results & manage jobs
GET /jobs (list), POST /jobs/{id}/approve?approval_token=…,
DELETE /jobs/{id} (cancel), GET /jobs/{id}/events?stream=true (live SSE),
GET /jobs/{id}/artifacts.
Running on a REAL quantum computer
Real-QPU backends (type: "real_qpu", including any on-premise device) are
gated in three layers — all must pass:
- Kill-switch: the operator must set
QCOS_REAL_QPU_ENABLED=true, else the door returns403 real_qpu_disabled. - Payment proof: the job
metadatamust include one ofqpu_reservation_id,qpu_wallet_reservation_id,payment_confirmed:true, orqpu_payment_confirmed:true, else402 qpu_payment_required. - Plan tier: your account tier must be one of
pro, lab, quantum, quantum_ai, enterprise, qpu_starter, qpu_pro, qpu_max, else403 plan_qpu_access_required.
approval_required rather than
executing. Simulators have none of these gates and cost 0 credits.
Ways to drive QCOS
Python / TypeScript SDK
client.coreJobs.submitJob({...}) in
TS). Point it at your instance with your API key.
The desktop app
The QCOS Desktop (browser or the Electron app inpackaging/desktop) gives you Device Manager,
a Quantum Jobs panel (submit Bell/GHZ/custom QASM, see live counts), live
ACOS certification, and a real shell — all over this same API. Run the
local demo:
The shell (sq-status, container)
On a SoftQuantus Compute OS host (or docker run -it softquantus/compute-os:demo)
the branded shell exposes the appliance identity via sq-status and the
QCOS control plane runs as a service.
Next
- Connect your own QPU → Add a Quantum Computer
- Use GPU acceleration → Add a GPU / Simulator
- Every setting → Configuration