Troubleshooting¶
Authentication required¶
AuthenticationError: Authentication required. Provide a token or
client_id+client_secret (or OPENQUANTUM_TOKEN / OPENQUANTUM_CLIENT_ID +
OPENQUANTUM_CLIENT_SECRET / OPENQUANTUM_SDK_KEY).
No credentials were found. OpenQuantumBackend calls OpenQuantumService.from_env(). Set OPENQUANTUM_CLIENT_ID and OPENQUANTUM_CLIENT_SECRET, set OPENQUANTUM_TOKEN or OPENQUANTUM_SDK_KEY, or pass token=, client_id= + client_secret=, or a pre-built service=. See Authentication.
configuration_data validation failed: ... required property 'engine'¶
The target backend requires extra configuration that was not supplied. The
Quantum Rings simulator, for example, requires an engine:
oq = OpenQuantumBackend(
backend="qr:gpu-gb10",
shots=1024,
configuration_data={"engine": "amber_quantum_rings"},
)
configuration_data validation failed: ... must match "else" schema¶
A backend's configuration schema can be conditional. The Quantum Rings
simulator only permits threshold when performance="CUSTOM". Send such
fields only when they apply:
# Valid: no threshold unless performance is CUSTOM
configuration_data={"engine": "amber_quantum_rings"}
# Valid: threshold allowed because performance is CUSTOM
configuration_data={"engine": "amber_quantum_rings", "performance": "CUSTOM", "threshold": 128}
QASM precompilation failed: At most one qubit register allowed¶
This should not occur: the plugin flattens Qrisp's per-qubit registers onto a
single register automatically. If you see it, make sure you are on a current
version of openquantum-sdk[qrisp] and are submitting through
get_measurement / run (not a hand-built payload).
Results look bit-reversed¶
The platform returns bitstrings in Qiskit's little-endian convention (the first
classical bit is the rightmost character). Qrisp reconciles bit order during
measurement decoding, so the default (reverse_bits=False) is correct. If a
particular backend instead returns counts big-endian, construct the backend
with reverse_bits=True. Confirm with an asymmetric state such as |01>.
Shots are required¶
Open Quantum is shot-based; analytic execution is not supported. Set shots on
the backend or pass shots= to get_measurement / run.
Backend is offline or not accepting jobs¶
Pick another backend. List what is online with the
Core SDK (client.backends(online=True)),
the Qiskit plugin, or the
Open Quantum Portal.
Organization could not be resolved¶
If your account belongs to more than one organization, pass an explicit
organization_id to the backend (discover it via client.organizations()).