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.
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 cloud.ionq.com.To learn more, read our guide on Managing API Keys.
A characterization is a snapshot of a the performance characteristics of a hardware backend at a moment in time, including fidelity (error rate) and gate speed information.
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.
“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.
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 listed in the user manual’s Jobs page.
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 support@ionq.co 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.
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 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 sales@ionq.co 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.