---
title: "GET /jobs/{UUID}"
method: GET
path: "/jobs/{UUID}"
---

# GET /jobs/{UUID}

`GET /jobs/{UUID}`

## Path parameters

- `UUID` string, required

## Response `200`

Successfully retrieved a job.

- union — Discriminated union over the four job-type families. Tabs in the docs are grouped by these families (matching the `JobCreationPayload` grouping on the Create Job endpoint).
  - SingleCircuitJob — Response shape for single-circuit jobs. Covers every circuit-shaped job type: user-submitted (`ionq.circuit.v1`, `ionq.qir.v1`) and the per-circuit child jobs spawned by a QAOA run (`qctrl.qaoa-circuit.v1`). They all share the same settings, stats, output, and results shape — only the `type` discriminator differs.
    - `id` string, required
    - `status` 'submitted' | 'ready' | 'started' | 'canceled' | 'failed' | 'completed', required
    - `type` 'ionq.circuit.v1' | 'ionq.qir.v1' | 'qctrl.qaoa-circuit.v1', required
    - `backend` string, required
    - `dry_run` boolean, required
    - `submitter_id` string, required — The id of the user who submitted the job.
    - `project_id` string, nullable, required
    - `parent_job_id` string, nullable, required
    - `session_id` string, nullable, required
    - `metadata` JobMetadata, required
    - `name` string, nullable, required
    - `submitted_at` string, required
    - `started_at` string, required
    - `completed_at` string, required
    - `predicted_wait_time_ms` integer, nullable, required
    - `predicted_execution_duration_ms` integer, nullable, required
    - `execution_duration_ms` integer, nullable, required — How long the job actually took to run on the QPU. Null if the job hasn't run yet.
    - `shots` integer — `shots` are not included with ideal simulator backend.
    - `noise` Noise
      - `model` 'ideal' | 'harmony' | 'harmony-1' | 'harmony-2' | 'aria-1' | 'aria-2' | 'forte-1' | 'forte-enterprise-1', required
      - `seed` integer
    - `failure` Failure, required
      - `code` 'InvalidInput' | 'CompilationError' | 'ContractExpiredError' | 'DebiasingError' | 'InternalError' | 'NotEnoughQubits' | 'OptimizationError' | 'PreflightError' | 'QuantumCircuitComplexityError' | 'QuantumComputerError' | 'QuotaExhaustedError' | 'SimulationError' | 'SimulationTimeout' | 'SystemCancel' | 'TooLongPredictedExecutionTime' | 'TooManyControls' | 'TooManyGates' | 'TooManyShots' | 'UnknownBillingError' | 'UnsupportedGate', required
      - `message` string, required
    - `cost_model` 'QCT' | '2QGE_operations' — The billing model used for this job. `QCT` for jobs billed on quantum compute time, `2QGE_operations` for jobs billed on two-qubit gate operations.
    - `output` CircuitJobOutput, required
      - `compilation` CompilationOutput
        - `compiled_circuits` CompiledCircuits — Map of compiled-circuit artifacts keyed by circuit format identifier (e.g. `ionq.native.v1`). See the [Circuit formats](/api-reference/v0.4/schemas/circuit-formats) page for the catalog of valid identifiers.
      - `error_mitigation` ErrorMitigationOutput
        - `debiasing` union
          - object
            - `variants` VariantInfo[]
              - …
            - `phi_chi_twirling` object
              - …
          - false
        - `symmetry_verification` object, nullable
          - `num_allowed_states` number, double
          - `applied` boolean
        - `aggregations` AggregationsOutput
          - `average` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
          - `voting` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
          - `dnl` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
          - `majority` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
    - `settings` CircuitJobSettings, required
      - `compilation` CircuitJobCompilationSettings
        - `precision` string
        - `opt` number, double
        - `gate_basis` string
        - `service_version` string
      - `error_mitigation` CircuitJobErrorMitigationSettings
        - `debiasing` union
          - object
            - `phi_chi_twirling` object
              - …
          - boolean
        - `symmetry_verification` boolean
    - `stats` CircuitJobStats, required
      - `qubits` integer
      - `circuits` integer
      - `gate_counts` NumberMap
      - `kwh` number, double
      - `predicted_quantum_compute_time_us` integer
      - `billed_quantum_compute_time_us` integer
    - `results` CircuitJobResults, required — Results object for circuit-family jobs (single-circuit, qasm, qasm3, qir, qaoa-circuit). Each entry is keyed by an artifact format identifier. See the [Results formats](/api-reference/v0.4/schemas/results-formats) page for the catalog of valid identifiers.
    - `child_job_ids` string[], nullable, required
  - MultiCircuitJob — Response shape for `ionq.multi-circuit.v1` jobs. Aggregates results across the per-circuit child jobs into a single results object keyed by format identifier (typically `ionq.result.probabilities-aggregate.json.v1`).
    - `id` string, required
    - `status` 'submitted' | 'ready' | 'started' | 'canceled' | 'failed' | 'completed', required
    - `type` 'ionq.multi-circuit.v1', required
    - `backend` string, required
    - `dry_run` boolean, required
    - `submitter_id` string, required — The id of the user who submitted the job.
    - `project_id` string, nullable, required
    - `parent_job_id` string, nullable, required
    - `session_id` string, nullable, required
    - `metadata` JobMetadata, required
    - `name` string, nullable, required
    - `submitted_at` string, required
    - `started_at` string, required
    - `completed_at` string, required
    - `predicted_wait_time_ms` integer, nullable, required
    - `predicted_execution_duration_ms` integer, nullable, required
    - `execution_duration_ms` integer, nullable, required — How long the job actually took to run on the QPU. Null if the job hasn't run yet.
    - `shots` integer — `shots` are not included with ideal simulator backend.
    - `noise` Noise
      - `model` 'ideal' | 'harmony' | 'harmony-1' | 'harmony-2' | 'aria-1' | 'aria-2' | 'forte-1' | 'forte-enterprise-1', required
      - `seed` integer
    - `failure` Failure, required
      - `code` 'InvalidInput' | 'CompilationError' | 'ContractExpiredError' | 'DebiasingError' | 'InternalError' | 'NotEnoughQubits' | 'OptimizationError' | 'PreflightError' | 'QuantumCircuitComplexityError' | 'QuantumComputerError' | 'QuotaExhaustedError' | 'SimulationError' | 'SimulationTimeout' | 'SystemCancel' | 'TooLongPredictedExecutionTime' | 'TooManyControls' | 'TooManyGates' | 'TooManyShots' | 'UnknownBillingError' | 'UnsupportedGate', required
      - `message` string, required
    - `cost_model` 'QCT' | '2QGE_operations' — The billing model used for this job. `QCT` for jobs billed on quantum compute time, `2QGE_operations` for jobs billed on two-qubit gate operations.
    - `output` CircuitJobOutput, required
      - `compilation` CompilationOutput
        - `compiled_circuits` CompiledCircuits — Map of compiled-circuit artifacts keyed by circuit format identifier (e.g. `ionq.native.v1`). See the [Circuit formats](/api-reference/v0.4/schemas/circuit-formats) page for the catalog of valid identifiers.
      - `error_mitigation` ErrorMitigationOutput
        - `debiasing` union
          - object
            - `variants` VariantInfo[]
              - …
            - `phi_chi_twirling` object
              - …
          - false
        - `symmetry_verification` object, nullable
          - `num_allowed_states` number, double
          - `applied` boolean
        - `aggregations` AggregationsOutput
          - `average` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
          - `voting` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
          - `dnl` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
          - `majority` AggregationArtifactDescriptor
            - `id` string, required
            - `format` 'ionq.result.probabilities.json.v2', required
            - `media_type` string, required
    - `settings` CircuitJobSettings, required
      - `compilation` CircuitJobCompilationSettings
        - `precision` string
        - `opt` number, double
        - `gate_basis` string
        - `service_version` string
      - `error_mitigation` CircuitJobErrorMitigationSettings
        - `debiasing` union
          - object
            - `phi_chi_twirling` object
              - …
          - boolean
        - `symmetry_verification` boolean
    - `stats` CircuitJobStats, required
      - `qubits` integer
      - `circuits` integer
      - `gate_counts` NumberMap
      - `kwh` number, double
      - `predicted_quantum_compute_time_us` integer
      - `billed_quantum_compute_time_us` integer
    - `results` MultiCircuitJobResults, required — Results object for ionq.multi-circuit.v1 jobs. Keyed by artifact format identifier; `ionq.result.probabilities-aggregate.json.v1` is the aggregated distribution across all circuits. See the [Results formats](/api-reference/v0.4/schemas/results-formats) page for the full list of valid identifiers.
    - `child_job_ids` string[], nullable, required
  - QaoaJob — Response shape for `qctrl.qaoa.v1` jobs — the parent QAOA optimization job. Its per-iteration child jobs (`qctrl.qaoa-circuit.v1`) are surfaced via `child_job_ids` and are documented under the Single Circuit tab.
    - `id` string, required
    - `status` 'submitted' | 'ready' | 'started' | 'canceled' | 'failed' | 'completed', required
    - `type` 'qctrl.qaoa.v1', required
    - `backend` string, required
    - `dry_run` boolean, required
    - `submitter_id` string, required — The id of the user who submitted the job.
    - `project_id` string, nullable, required
    - `parent_job_id` string, nullable, required
    - `session_id` string, nullable, required
    - `metadata` JobMetadata, required
    - `name` string, nullable, required
    - `submitted_at` string, required
    - `started_at` string, required
    - `completed_at` string, required
    - `predicted_wait_time_ms` integer, nullable, required
    - `predicted_execution_duration_ms` integer, nullable, required
    - `execution_duration_ms` integer, nullable, required — How long the job actually took to run on the QPU. Null if the job hasn't run yet.
    - `shots` integer — `shots` are not included with ideal simulator backend.
    - `noise` Noise
      - `model` 'ideal' | 'harmony' | 'harmony-1' | 'harmony-2' | 'aria-1' | 'aria-2' | 'forte-1' | 'forte-enterprise-1', required
      - `seed` integer
    - `failure` Failure, required
      - `code` 'InvalidInput' | 'CompilationError' | 'ContractExpiredError' | 'DebiasingError' | 'InternalError' | 'NotEnoughQubits' | 'OptimizationError' | 'PreflightError' | 'QuantumCircuitComplexityError' | 'QuantumComputerError' | 'QuotaExhaustedError' | 'SimulationError' | 'SimulationTimeout' | 'SystemCancel' | 'TooLongPredictedExecutionTime' | 'TooManyControls' | 'TooManyGates' | 'TooManyShots' | 'UnknownBillingError' | 'UnsupportedGate', required
      - `message` string, required
    - `cost_model` 'QCT' | '2QGE_operations' — The billing model used for this job. `QCT` for jobs billed on quantum compute time, `2QGE_operations` for jobs billed on two-qubit gate operations.
    - `output` QuantumFunctionJobOutput, required — Output for quantum-function jobs. Shape varies by function implementation.
    - `settings` QuantumFunctionJobSettings, required — Settings for quantum-function-family jobs (`qctrl.qaoa.v1`, `quantum-function`). Unlike circuit jobs, no compilation settings are accepted — only error mitigation.
      - `error_mitigation` CircuitJobErrorMitigationSettings
        - `debiasing` union
          - object
            - `phi_chi_twirling` object
              - …
          - boolean
        - `symmetry_verification` boolean
    - `stats` QuantumFunctionJobStats, required — Stats for quantum-function jobs. Shape varies by function implementation.
    - `results` QaoaJobResults, required — Results for `qctrl.qaoa.v1` jobs.
      - `qaoa_results` QaoaResults — Optimization output recorded by a Q-CTRL QAOA job after it completes.
        - `optimal_cost` number, double, required — Best objective value the optimizer reached.
        - `optimal_bitstring` string, required — Bitstring corresponding to the best solution found.
        - `processing_status` 'running' | 'complete' | 'max_iteration', required — Current state of the optimization loop.
    - `child_job_ids` string[], nullable, required
  - QuantumFunctionJob — Response shape for `quantum-function` jobs. Settings, stats, output, and results are all free-form — the concrete shape is defined by the function implementation and varies by provider.
    - `id` string, required
    - `status` 'submitted' | 'ready' | 'started' | 'canceled' | 'failed' | 'completed', required
    - `type` 'quantum-function', required
    - `backend` string, required
    - `dry_run` boolean, required
    - `submitter_id` string, required — The id of the user who submitted the job.
    - `project_id` string, nullable, required
    - `parent_job_id` string, nullable, required
    - `session_id` string, nullable, required
    - `metadata` JobMetadata, required
    - `name` string, nullable, required
    - `submitted_at` string, required
    - `started_at` string, required
    - `completed_at` string, required
    - `predicted_wait_time_ms` integer, nullable, required
    - `predicted_execution_duration_ms` integer, nullable, required
    - `execution_duration_ms` integer, nullable, required — How long the job actually took to run on the QPU. Null if the job hasn't run yet.
    - `shots` integer — `shots` are not included with ideal simulator backend.
    - `noise` Noise
      - `model` 'ideal' | 'harmony' | 'harmony-1' | 'harmony-2' | 'aria-1' | 'aria-2' | 'forte-1' | 'forte-enterprise-1', required
      - `seed` integer
    - `failure` Failure, required
      - `code` 'InvalidInput' | 'CompilationError' | 'ContractExpiredError' | 'DebiasingError' | 'InternalError' | 'NotEnoughQubits' | 'OptimizationError' | 'PreflightError' | 'QuantumCircuitComplexityError' | 'QuantumComputerError' | 'QuotaExhaustedError' | 'SimulationError' | 'SimulationTimeout' | 'SystemCancel' | 'TooLongPredictedExecutionTime' | 'TooManyControls' | 'TooManyGates' | 'TooManyShots' | 'UnknownBillingError' | 'UnsupportedGate', required
      - `message` string, required
    - `cost_model` 'QCT' | '2QGE_operations' — The billing model used for this job. `QCT` for jobs billed on quantum compute time, `2QGE_operations` for jobs billed on two-qubit gate operations.
    - `output` QuantumFunctionJobOutput, required — Output for quantum-function jobs. Shape varies by function implementation.
    - `settings` QuantumFunctionJobSettings, required — Settings for quantum-function-family jobs (`qctrl.qaoa.v1`, `quantum-function`). Unlike circuit jobs, no compilation settings are accepted — only error mitigation.
      - `error_mitigation` CircuitJobErrorMitigationSettings
        - `debiasing` union
          - object
            - `phi_chi_twirling` object
              - …
          - boolean
        - `symmetry_verification` boolean
    - `stats` QuantumFunctionJobStats, required — Stats for quantum-function jobs. Shape varies by function implementation.
    - `results` QuantumFunctionJobResults, required — Results for quantum-function jobs — a scalar estimator output (`value`) and its estimated variance across the shot ensemble (`variance`).
      - `value` number, double — Scalar value produced by the function — typically the expectation value of the observable.
      - `variance` number, double — Estimated variance of `value` across the shot ensemble.
    - `child_job_ids` string[], nullable, required

## Other responses

- `429` — Too Many Requests. To get a higher rate limit, please reach out to support@ionq.co
- `500` — A generic server failure, please reach out to support@ionq.co for help with this error
- `502` — Bad Gateway, this can be caused by misbehaving proxies, or by service issues. These can be retried, and downtime can be found on status.ionq.co
- `503` — Service Unavailable, this is indicative of service outage, please check status.ionq.co

---

[API](https://skmtc.net/ionq/apis/ionq-cloud-platform-api.md) · [All operations](https://skmtc.net/ionq/apis/ionq-cloud-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ionq/ionq-cloud-platform-api/versions/0410071e1cd0/schema)
