- Base URL:
https://platform.softquantus.com - Auth:
Authorization: Bearer sq-live-...on every request (create a key under API Keys). - Content type:
application/json.
The console itself uses cookie sessions, which additionally require an
X-CSRF-Token header on writes. API keys are pure bearer auth — no cookies, no
CSRF. Requests are rate limited per IP (default 60/minute; auth endpoints
10/minute) — exceeding it returns 429 with code rate_limit_exceeded.Endpoints
Execution Plane
Usage & billing
Quantum instances
QCOS runtime proxy
Authenticated access to the QCOS runtime without exposing QCOS credentials; the platform injects a runtime key and binds the call to your workspace. Viewers holdqcos:read only; execution requires an execute-capable role.
Workspace management
Submit a job
POST /api/v1/platform/execution/jobs — send an Idempotency-Key header so a
retried request never double-submits or double-reserves.
Request body
The
workload object’s main fields: type
(QUANTUM_CIRCUIT | GPU_JOB | CPU_JOB), shots, qasm (OpenQASM 2/3,
required for circuits unless artifact_uri is given), command, setup,
image, kind, resource_type, gpu, num_gpus, cpus, memory_gb,
region, cloud.
Response (201 new, 200 idempotent replay)
billing_modeisPREPAID,FREE(free instance / free tier) orPAYGO(approved pay-as-you-go, invoiced).result_verifiedbecomestrueonly when the job isSETTLEDand both the result hash and the evidence hash are recorded — see Evidence.usage_metricsappears on settled jobs (queue time, QPU seconds, wall clock, shots; provider durations arenullrather than fabricated when the provider did not report them).
Poll a job
GET /api/v1/platform/execution/jobs/{id} returns the same object with updated
status. Poll until a terminal state.
Fetching an unknown or foreign job id returns
200 with
"status": "not_found" in the body rather than an HTTP 404 — check the
status field.Cancel
POST /api/v1/platform/execution/jobs/{id}/cancel asks the provider to abort
and releases the unused reservation. A job already at the provider parks in
CANCEL_REQUESTED until the abort is confirmed; any shots that actually ran are
settled, anything unused is returned. See
Run workloads.
Evidence
GET /api/v1/platform/execution/jobs/{id}/evidence (once settled) returns
{bundle, hash, signature, algo, key_version, checks} — the hash-pinned record
of how the run was produced, with independent verification facets. Full
description in Evidence Bundles.
Errors
Refusals return an HTTP status and a machine reason indetail; nothing is
charged on a rejection: