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 through an SDK or via API. Jobs contain a circuit to be run, specify a backend to run it on, and any other relevant options.

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 job options, see our API reference, or review one of our SDK guides for 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, submit them inside of 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 }]
        }
    ]
}
Note that not all SDKs support multi-circuit job submission. Please refer to the official documentation for that SDK for current functionality.