Jobs are submitted by users of a Project and contain an input that tells the backend what to do—such as running a circuit.


Submitting Jobs

Jobs are submitted to our platform directly via API or through one of the available SDKs. Typically it’s as simple as picking a backend, building a circuit, and submitting that circuit to the backend, such as:

backend = provider.get_backend("aria-1")    # Pick a backend...
circuit = QuantumCircuit(2, 2).h(0)         # build your circuit...
job = backend.run(circuit, shots=500)       # and run it on the backend!

For a complete reference to the available options, see our API reference, or review one of our SDK guides for more information and examples.


Job Status

As jobs move through our system, they go through a series of states. This status is represented in both the UI and in the API, and will be one of the following values:

StateDescription
readyThe job has been processed by the platform and is in queue
runningThe job is currently running on a backend
completedThe job has finished running and results are available
canceledThe job was canceled by the user before it was run
failedThe job failed due to an error detailed in the response body

Multi-circuit Jobs

To pass multiple circuits within a single job, simply pass the circuits in a list as the input, for example:

{
    "input": [
        {
            "format": "ionq.circuit.v0",
            "qubits": 1,
            "circuit": [{ "gate": "h", "target": 0 }]
        },
        {
            "format": "ionq.circuit.v0",
            "qubits": 1,
            "circuit": [{ "gate": "h", "target": 0 }]
        },
        {
            "format": "ionq.circuit.v0",
            "qubits": 1,
            "circuit": [{ "gate": "h", "target": 0 }]
        }
    ]
}
Not all SDKs support multi-circuit job submission. Please see their individual documentation for more details.