# IQM Quantum Computers > IQM Quantum Computers (IQM Finland Oy, Espoo, Finland) builds superconducting quantum > computers and sells access to them on-premises and through IQM Resonance, its quantum > cloud service. The developer surface is a REST API at https://resonance.iqm.tech/api/v1/ > that lists available QPUs, reports their health and calibration state, accepts circuit and > sweep jobs, and returns measurement results. Usage is billed in QPU seconds metered as > credits, not in API calls. ## Provenance This file was GENERATED by API Evangelist on 2026-08-23 from IQM's public surface. IQM does not publish an llms.txt of its own — https://iqm.tech/llms.txt and https://docs.iqm.tech/llms.txt both return 404. Nothing here is a quote of an IQM-authored llms.txt. Not to be confused with IQM Corporation (iqm.com), an unrelated programmatic advertising company. The API documented at developers.iqm.com belongs to that company, not to this one. ## What you can and cannot machine-read - No OpenAPI, Swagger, GraphQL or AsyncAPI document is published anywhere on IQM's hosts. - The authoritative machine-readable contract IQM does publish is Protobuf: 14 proto3 message definitions for the Station Control wire format, shipped in the `iqm-data-definitions` PyPI distribution under Apache-2.0. - The practical client contract is the Apache-2.0 `iqm-client` Python library. The REST operation surface recorded by API Evangelist is derived from that library's source, not from a spec. - Everything on https://resonance.iqm.tech returns HTTP 401 to an anonymous caller, including every `/.well-known/` path. Product documentation for the service itself sits behind that gate. ## API - [IQM Resonance API](https://iqm.tech/products/iqm-resonance/): REST API for submitting quantum circuits to IQM QPUs and retrieving results. Base URL https://resonance.iqm.tech/api/v1/. ### Operations (derived from iqm-client 35.0.1, Apache-2.0) - `GET quantum-computers` — list QPUs on the connected IQM Server - `GET quantum-computers/{name}/health` — availability of one QPU - `GET quantum-computers/{name}/artifacts/about` — IQM OS / Server / Station Control versions - `GET quantum-computers/{name}/artifacts/duts` — devices under test - `GET calibration-sets/{name}/{id}` — a calibration set - `GET calibration-sets/{name}/{id}/dynamic-quantum-architecture` — gate set and connectivity - `GET calibration-sets/{name}/{id}/metrics` — benchmarked quality metrics - `POST jobs/{name}/{job_type}` — submit a circuit or sweep (BILLABLE, spends QPU seconds) - `GET jobs/{id}` — status, queue position, progress, timeline - `POST jobs/{id}/cancel` — cancel a job - `DELETE jobs/{id}` — delete a job and its artifacts - `GET jobs/{id}/payload` — the submitted payload - `GET jobs/{id}/artifacts/measurements` — raw measurements - `GET jobs/{id}/artifacts/measurement_counts` — aggregated counts - `GET jobs/{id}/artifacts/sweep_results` — sweep results Job statuses: `waiting`, `processing`, `completed`, `failed`, `cancelled`. The last three are terminal — stop polling when you see one. ## Authentication - Bearer API token in the `Authorization` header. - Generate it once from the IQM Resonance dashboard ("Generate token"). It is non-recoverable; regenerating invalidates the previous token. - Supply it as the `IQM_TOKEN` environment variable or the `token` parameter on `IQMProvider` / `IQMClient`. - [Authentication guide](https://docs.iqm.tech/iqm-client/user_guide_qiskit.html#authentication) ## Docs - [IQM Docs](https://docs.iqm.tech/) - [IQM client](https://docs.iqm.tech/iqm-client/) - [Qiskit on IQM user guide](https://docs.iqm.tech/iqm-client/user_guide_qiskit.html) - [Cirq on IQM user guide](https://docs.iqm.tech/iqm-client/user_guide_cirq.html) - [API reference](https://docs.iqm.tech/iqm-client/API.html) - [Changelog](https://docs.iqm.tech/iqm-client/changelog.html) - [IQM data definitions](https://docs.iqm.tech/iqm-data-definitions/) - [Station control client](https://docs.iqm.tech/iqm-station-control-client/) - [IQM Pulla (pulse-level access)](https://docs.iqm.tech/iqm-pulla/) - [IQM Benchmarks](https://docs.iqm.tech/iqm-benchmarks/) - [IQM Academy tutorials](https://www.iqmacademy.com/tutorials/resonance/) ## SDKs - [iqm-client](https://pypi.org/project/iqm-client/) — Python, 35.0.1 (2026-08-11). Install `pip install "iqm-client[qiskit]"`. Includes Qiskit, Cirq and Qrisp adapters. - [iqm-station-control-client](https://pypi.org/project/iqm-station-control-client/) — 13.0.1 - [iqm-data-definitions](https://pypi.org/project/iqm-data-definitions/) — 3.0, the Protobuf contracts - [iqm-pulla](https://pypi.org/project/iqm-pulla/) — 14.0.1, pulse-level access - [iqm-benchmarks](https://pypi.org/project/iqm-benchmarks/) — 2.60.1, QCVV suite - [kqcircuits](https://pypi.org/project/kqcircuits/) — 4.9.11, chip design Deprecated and no longer maintained: `qiskit-iqm` (2025-09-16), `cirq-iqm` (2025-04-02) — both folded into `iqm-client` extras; `iqm-cortex-cli` (2025-04-09) — repository archived, and its announced successor CLI does not currently ship. Python only. No npm, Maven, NuGet, RubyGems, crates.io, Packagist or Go module is published. ## Specs - [Protobuf contracts](https://github.com/api-evangelist/iqm-quantum-computers/tree/main/grpc) — 14 proto3 files, harvested verbatim from iqm-data-definitions 3.0 ## Pricing - Starter — free, up to 30 credits per month, subject to availability - Pay-as-you-go — from $0.30 per QPU second, prepaid credits that do not expire, first-come-first-served queue - Skip-the-queue — contact sales; reserved timeslots, pulse-level access, experimental QPUs - [Pricing and plans](https://iqm.tech/products/iqm-resonance/) - [Sign up](https://resonance.iqm.tech/sign-up) ## Quantum computers on Resonance - IQM Crystal 54 — 54 qubits, square lattice, tunable couplers, 2Q fidelity up to 99.85% - IQM Crystal 20 — 20 qubits, square lattice, tunable couplers, 2Q fidelity 99.8% - IQM Star 24 — 24 qubits, central resonator hub, global connectivity (beta) ## Known gaps - No OpenAPI, no AsyncAPI, no GraphQL, no webhooks or event surface (poll for job completion) - No MCP server and no A2A agent card - No `/.well-known/` documents on any host, including no security.txt - No status page, no SLA, no written deprecation policy, no Sunset/Deprecation headers - No idempotency key on job submission — a blindly retried POST bills a second execution - No published rate-limit numbers or headers, though HTTP 429 / RateLimitError exists - No trust center, and no published certifications (SOC 2, ISO 27001 or otherwise) ## Company - [About IQM](https://iqm.tech/company/about-iqm/) - [Blog](https://iqm.tech/blog/) - [Technology roadmap](https://iqm.tech/technology/roadmap/) - [GitHub organization](https://github.com/iqm-finland) - [Contact](https://iqm.tech/contact/) - [Privacy policy](https://iqm.tech/privacy-policy/)