Circuit formats
Catalog of circuit artifact formats — used for both submitted and compiled circuits.
- On submission — the
inputof a job carries a circuit in one of these formats (e.g. native-gate JSON forionq.circuit.v1withgateset: native). - After compilation — when the compiler transpiles a circuit to the target backend, the result is itself a circuit. It surfaces on the job’s
output.compilation.compiled_circuitsmap, keyed by the same format identifier with each value anArtifactDescriptor. Pass the descriptor’sidto the artifact endpoint to download the compiled circuit.
GET /v0.4/schemas/formats/{format} with the identifier.Catalog of supported circuit artifact formats. The same identifiers are used
both when a circuit is submitted (the job input payload) and when the
compiler emits a transpiled circuit (the job output.compilation.compiled_circuits
map) — both are circuits, just at different stages of the pipeline.
Each property below documents one format's payload structure. Used by the Circuit formats docs page.
ionq.native.v1 — Compiled circuit expressed in IonQ native gates.
Same shape as the native-gate circuit accepted on job creation:
a qubit count plus an ordered list of native gate operations.
ionq.qasm3.v1 — Circuit expressed as an OpenQASM 3 program.
On submission the program is the job's input.data; when the compiler
emits this format the artifact payload is the program source itself —
download it with the descriptor's id and read its media_type for the
content type.
IonQ accepts a subset of the language — see the
OpenQASM 3 page for the supported constructs.
"OPENQASM 3.0;\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc[0] = measure q[0];\nc[1] = measure q[1];"

