# Quandela > Quandela is a French (Massy, Paris region) photonic quantum computing company. > It builds modular quantum systems driven by deterministic single-photon > sources, and exposes them through Quandela Cloud — a REST API at > https://api.cloud.quandela.com/ with 59 operations across job execution, five > pre-built Quantum Toolbox algorithms, and the Entropy quantum random number > generator. Its open-source Python framework, Perceval, is the primary client. Generated by API Evangelist on 2026-08-17. Quandela publishes no llms.txt of its own (/llms.txt returns 404 on www.quandela.com, hub.quandela.com and perceval.quandela.net), so this file is generated from Quandela's own published OpenAPI plus the artifacts in this repository. It is an independent third-party profile, not vendor material. ## What is actually callable Quandela publishes a real, anonymous, machine-readable contract at the API host root — OpenAPI 3.0.3, 55 paths, 59 operations, 54 component schemas, version v2.8.0-rc4. This is easy to miss: the rendered documentation at https://api.cloud.quandela.com/api/docs/ 302-redirects to a login, and cloud.quandela.com is a single-page app that answers 200 with an HTML shell for every path. The specification itself needs no credentials. - Quandela Cloud OpenAPI: https://api.cloud.quandela.com/openapi.json - Quantum Toolbox sub-spec: https://api.cloud.quandela.com/qt-openapi.json - Base URL: https://api.cloud.quandela.com/ - Health: https://api.cloud.quandela.com/health ## APIs - [Quandela Cloud API](https://api.cloud.quandela.com/openapi.json): 59 operations. Auth is `Authorization: Bearer `. Two distinct credentials share one declared scheme — an account access token from account.quandela.com for token administration, and a Cloud Job Token minted by `POST /api/tokens` for everything else. - [Perceval job execution](https://api.cloud.quandela.com/openapi.json): `POST /api/jobs` submits a photonic circuit as an opaque, SDK-serialised payload; poll `GET /api/jobs/{job_id}/status` then `GET /api/jobs/{job_id}/result`. Submit-then-poll only — no webhooks, no events, no streaming. - [Quantum Toolbox](https://api.cloud.quandela.com/qt-openapi.json): five fully typed quantum primitives — Chemistry VQE, Custom VQE, CVaR VQE, Graph DSI, Graph Isomorphism. Each has a paired `/estimate` operation that returns cost (`nb_iterations`, `nb_shots_per_job`, `nb_total_shots`) without running or spending credits. Callable directly over HTTP without the SDK. - [Entropy QRNG](https://api.cloud.quandela.com/openapi.json): `GET /qt/qrng/bytes` and `GET /qt/qrng/ints?count=&type=` — the only synchronous operations on the API. Every draw returns CHSH and min-entropy certification with the values. `type` must be one of uint8, uint16, uint32, uint64. - [Job token management](https://api.cloud.quandela.com/openapi.json): create, list (limit/offset), read, update label/priority, revoke, reopen, delete, and a per-platform consumption ledger at `GET /api/tokens/usage/report` separating `credits` from `free_credits`. ## Platforms Jobs are addressed by `platform_name`, a namespaced string whose prefix is semantically load-bearing: `sim:` is a simulator (documented example `sim:slos`), `qpu:` is real hardware that consumes credits. - Live platform status, anonymous and undocumented: https://api.cloud.quandela.com/api/platforms/public — returns per-QPU status, the next maintenance window, and daily availability percentages. Observed 2026-08-17: `qpu:belenos` unreachable, `qpu:ascella` (6 photons QPU) maintenance. Check this before submitting. - Hardware lineup: Ascella, Belenos, Canopus, Mosaiq, plus Prometheus single-photon sources and the Entropy QRNG. ## SDKs Python only. Searches of npm, Maven Central, crates.io, NuGet, RubyGems, Packagist and pkg.go.dev found no first-party Quandela library; a "C SDK" and "Java SDK" are advertised on hub.quandela.com/integrate but are not published to any public registry. - [perceval-quandela](https://pypi.org/project/perceval-quandela/) — 1.2.4 (2026-07-02). `pip install perceval-quandela`. The primary client; `perceval.providers.quandela.Session(platform_name, token, url=None)` wraps the REST surface. - [perceval-interop](https://pypi.org/project/perceval-interop/) — 1.2.5 (2026-04-30). Bridges to Qiskit, QuTiP, cQASM and myQLM. - [exqalibur](https://pypi.org/project/exqalibur/) — 1.4.1 (2026-07-02). Closed-source native optimisation kernel, released in lockstep with Perceval. ## Docs - [Perceval documentation](https://perceval.quandela.net/docs) - [Perceval providers reference](https://perceval.quandela.net/docs/v1.2/reference/providers.html) - [Quandela Cloud console](https://cloud.quandela.com/) - [Quandela Hub — integrate](https://hub.quandela.com/integrate) - [Training centre](https://training.quandela.com) - [Community forum](https://community.quandela.com) - [Cloud product page](https://www.quandela.com/products-and-services/cloud/) - [Hardware roadmap to fault tolerance](https://www.quandela.com/roadmap/) - [Legal terms](https://www.quandela.com/legal-terms/) - [Privacy policy](https://www.quandela.com/privacy-policy/) ## Source code - [Quandela on GitHub](https://github.com/Quandela) — 15 public repositories - [Perceval](https://github.com/Quandela/Perceval) — release notes are the only dated changelog Quandela publishes; current v1.2.4 (2026-07-02) - [Perceval_Interop](https://github.com/Quandela/Perceval_Interop) - [QDMI-Perceval](https://github.com/Quandela/QDMI-Perceval) — Quantum Device Management Interface implementation - [Tutorials](https://github.com/Quandela/Tutorials) ## Things an agent needs to know before calling - **No idempotency.** Zero occurrences of "idempoten" in the 59-operation spec. `process_id` on `POST /api/jobs` rejects a duplicate with 400 rather than replaying the original response, and the Quantum Toolbox has no equivalent — so a blind retry after a timeout can spend credits twice. - **401 is overloaded.** Credit and platform-time exhaustion return 401, not 402 or 429 — `"Not enough credits"`, `"Not enough {platform_type} time left"`. An agent that refreshes its token on 401 will loop forever. Branch on the `error` string. - **No rate-limit signalling.** No 429 anywhere, no `RateLimit-*` or `Retry-After` headers in the spec or on live responses. Concurrency ceilings surface as 400 (waiting jobs) and 403 (Quantum Toolbox jobs), with the concrete numbers available only from `GET /api/jobs/availability` (`max_concurrent_jobs`, `max_jobs_in_queue`, `max_running_qt_jobs`). - **Errors are not RFC 9457.** Every failure is `{"detail": , "error": ""}` with no machine-readable code. `detail` nests location → field → messages on 400/422 only. - **No operationIds.** All 59 operations omit `operationId` in the published spec, so nothing can reference an operation stably. The ids used in this repository's artifacts are derived; see overlays/quandela-cloud-overlay.yaml. - **10 operations are deprecated** in the spec (singular legacy paths such as `/api/job` and `/api/auth/token`, superseded by plural `/api/jobs`, `/api/auth/tokens`) with no published sunset dates and no `Sunset`/`Deprecation` headers. - **No job list endpoint.** Jobs are addressable only one at a time by `job_id`, so persist the id the moment you receive it — an account's job history is not enumerable over REST. - **No response examples.** 0 of 258 declared responses carries an example. - **No agent surfaces.** No MCP server (`/mcp` 404s, `mcp.quandela.com` does not resolve, npm search returns nothing), no A2A agent card (`/.well-known/agent-card.json` and `/.well-known/agent.json` 404 on every real host), no `/.well-known/` document of any kind, no GraphQL, no AsyncAPI. - **No published pricing.** cloud.quandela.com/pricing is a JS-rendered shell with no figures; every machine-readable pricing endpoint probed returns 404. The billing unit is prepaid credits, metered per platform. ## Optional - [Quandela website](https://www.quandela.com) - [Blog](https://www.quandela.com/resources/blog/) - [Products and services](https://www.quandela.com/products-and-services/) - [Quantum Acceleration Program](https://www.quandela.com/products-and-services/quantum-acceleration-program/) - [Contact](https://www.quandela.com/about-us/contact-us/)