The Provenova REST API. All responses are JSON. Authenticate with an API key as a bearer token — create one under Settings → API keys:
export QL_TOKEN=ql_live_...
curl https://provenova.net/api/v1/me -H "Authorization: Bearer $QL_TOKEN"Ingest
Ingest a run bundle from the SDK. Idempotent by run_hash — re-sending the same run returns "status": "exists" with the original run_id.
curl -X POST https://provenova.net/api/v1/ingest/runs \
-H "Authorization: Bearer $QL_TOKEN" \
-H "Content-Type: application/json" \
--data @run.qlprov.json{
"status": "created",
"run_id": "01J...",
"run_hash": "b3f1...e9",
"hash_matched_client": true
}Runs
List runs in your workspace, most recent first.
curl https://provenova.net/api/v1/runs \
-H "Authorization: Bearer $QL_TOKEN"[
{ "id": "01J...", "project": "bell-demo", "vendor": "ibm", "backend": "ibm_kyiv", "shots": 4096, "status": "completed", "run_hash": "b3f1...e9", "created_at": "2026-07-03T12:00:00+00:00" }
]Fetch the full provenance document (qlprov/run/1.0) for a run. Verifies its own hash offline.
curl https://provenova.net/api/v1/runs/01J... \
-H "Authorization: Bearer $QL_TOKEN"Mint doi
Publish a run as a public, citable Result Card with provenance and badges.
Unpublish
Run report
Re-run the stored circuit against a drifted device state and score the result.
curl -X POST "https://provenova.net/api/v1/runs/01J.../reproduce?days=90&profile=bad_day" \
-H "Authorization: Bearer $QL_TOKEN"{
"reproduced_run_id": "01K...",
"verdict": "drifted",
"reproducibility_score": 0.947,
"report": { ... }
}Result cards
Public Result Card metadata as JSON (no auth required).
curl https://provenova.net/api/v1/cards/ghz-3-ibm-kyivReady-made citation for a card in BibTeX, CSL-JSON or RIS (?format=bibtex|csl|ris).
Card embed
Submit reproduction
Badges
Badge json
Badge svg
Corpus & leaderboard
Device trend
Cross-vendor hardware ranking by a calibration metric (?metric=median_2q_error|...).
curl https://provenova.net/api/v1/leaderboard?metric=median_2q_errorCompliance
List frameworks
Get framework
Issue an Ed25519-signed attestation over the collected evidence for a framework.
Status
Evaluate every enabled framework against the workspace's runs. Safe to call repeatedly.
Enable
Gaps
Attestations
Public JWKS for verifying attestation signatures yourself.
Jwks
Security txt
Revoke
Verify an attestation's signature and evidence root (public — no auth).
curl https://provenova.net/api/v1/attestations/01J.../verify{
"attestation_id": "01J...",
"kid": "ql-att-...",
"evidence_root": "9c2a...f0",
"valid": true,
"checks": { "signature": true, "expired": false, "revoked": false, "tampered": false },
"reason": null
}Trust center
Trust center
Auth & accounts
Login
Logout
Logout all
Register
Request email verification
Verify email
The authenticated principal: account, org, workspace, effective plan and features.
curl https://provenova.net/api/v1/me -H "Authorization: Bearer $QL_TOKEN"Create api key
Health
Health