This is a glossary of terms relating to the IonQ Quantum Cloud Platform and the APIs and SDKs that integrate with it. To learn quantum computing terminology, visit the “Quantum Glossary” on our Resource Center.

Platform Concepts


An application programming interface, or API, allows an external user to interact with a specific system or service. In the case of the IonQ Quantum Platform’s API, it takes the format of a “RESTful” HTTP interface. Users can interact directly with the API via command-line tools like curl or Python libraries like requests, or they can interact with the IonQ Quantum Platform via an SDK like Qiskit.


To access an API you need to authenticate yourself using an API key. This is a special type of password used to access our systems via API. Keys are attached to Projects, and are created on

To learn more, read our guide on Managing API Keys.


A backend is a system that jobs can be submitted to. A backend can either be a QPU (a quantum computer) or a simulator.

The status of our systems can be found on The possible statuses are:

  • Operational: The system is meeting spec both in terms of job quality and throughput.
  • Degraded: The system is underperforming spec. The specific way it is underperforming will be noted on the status page.
  • Partial Outage: The system is down while a component is remotely reconfigured.
  • Major Outage: The system is down while two or more components are remotely reconfigured.
  • Under Maintenance: The system is down while one or more components are under physical maintenance.


A characterization is a snapshot of an IonQ QPU’s performance at a moment in time. While our quantum computers are continuously calibrated moment to moment, we periodically take measurements of gate fidelities and other statistics.

This data is listed in the UI (Click on “Show Details” on a backend) as well as made available via the API.


A representation of a quantum computation, made up of a series of qubit initializations, gates, and measurements. They can be submitted to a QPU as a part of a job.


Executions are created by a job to run a specific circuit on a QPU. The number of times it will be repeated and measured is expressed as shots.


“Hybrid” is a general term used to refer to when a QPU co-processes with a classical computing system. Commonly, this is used to run an optimization algorithm for optimizing a variational quantum circuit. A hybrid workflow will contain many jobs as the algorithm optimizes the circuit.


A task to be completed by our system. This can be one more more circuits in a variety of formats, or instructions for the IonQ platform for a specific type of workload task. A job may also be a parent job (created during a multicircuit job submission), which triggers the creation of additional child jobs for individual circuits.

Job Status

As jobs progress through the platform, they move through different states. Job status can be viewed on the My Jobs page of the IonQ Cloud Console or on a specific project’s page for jobs submitted to that project, as well as accessed via the API or an SDK. The possible statuses are:

  • Ready: The job has been processed by the platform and is in queue.
  • Running: The job is currently running on a backend.
  • Completed: The job has finished running and results are available.
  • Canceled: The job was canceled by the user.
  • Failed: The job failed due to an error - check the response in your code or in the Output section of the job detail page for more information.

Job Queue

Once submitted, jobs are decomposed into executions which are then added to a queue. The queue is served in a prioritized model based on a fair-sharing schedule.


A reservation is a pre-scheduled block of time where a single user or organization is given access to a specific QPU. To make a reservation, reach out to your IonQ point of contact or email [email protected] with information about the workload, target system, and scheduling considerations.


A set of libraries or tools that ease the integration or interaction with another computing system. For example, common “quantum SDKs” are Qiskit, Cirq, or Pennylane. IonQ offers plug-ins and integrations for many SDKs, which enable easier interaction with the IonQ API.


A single measurement of a given circuit on a QPU. Given the nature of quantum circuits, many shots are required for an accurate representation of the circuit’s output.


A simulation of a quantum computer, made available as a backend in our system. Simulators mimic the behavior of quantum computers by following the rules of quantum mechanics—giving users the ability to test circuits without running them directly on a QPU.


A packaged tool that takes in an input, creates a circuit, runs it on a QPU, evaluates the results, and optimizes the circuit until a goal is hit.


A quantum computer, made available as a backend in our system. In IonQ’s case, one that employs individual atoms an ion trap as qubits.

Administrative Concepts


An group consisting of many users and projects that can be granted QPU access through a contract. Learn more.


Projects allow multiple users to submit jobs to a single, shared place. Users can be added to a project by an organization owner, and when jobs are submitted, they must be submitted to a specific project. Organization owners can set a budget on each project. Learn more.


An individual user’s account in an organization which is assigned a specific role that defines what permissions they have. Learn more.

User Role

A set of permissions assigned to a given user. Currently the roles can be:

  • Users: A normal user.
  • Organization owner: Can manage projects and users in the organization.

Billing Concepts


An amount of access time to a QPU (or other system) granted through a contract from which job usage is deducted. Allocations are also evaluated as part of job queueing process, and are one determinant of how priority is set.


Budgets are spending limits that can be added by an organization owner to a project that, when hit, will prevent further jobs from being submitted. Learn more.


A legal agreement setting the rate, allocation, and other terms for access to IonQ’s backends and other systems. Note that a contract is required for access to a QPU; contact [email protected] for more information.


Cost represents how much your organization will pay for something. In the case of jobs, this is the amount of usage multiplied by the rate specified in your contract for the backend it was run on.


The time it took to run a given job on a backend. Usage is aggregated contextually—for example, how much a project “used” would refer to the aggregate usage of all jobs submitted to that project in the given period.

Was this page helpful?