> ## Documentation Index
> Fetch the complete documentation index at: https://ionq-deuley-20250415-backends.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Jobs

> Jobs are tasks running on IonQ systems, usually containing a circuit to run on a QPU.

Jobs are submitted by users of a [Project](/user-manual/projects) 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](/sdks) or [via API](/guides/direct-api-submission). Jobs contain a circuit to be run, specify a backend to run it on, and any other relevant options.

```python
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](/api-reference/v0.3/jobs/create-a-job), or review one of our [SDK guides](/sdks/qiskit/index) 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:

| State       | Description                                                                                               |
| ----------- | --------------------------------------------------------------------------------------------------------- |
| `ready`     | The job has been processed by the platform and is in [queue](/user-manual/platform-systems#queue-manager) |
| `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 before it was run                                                        |
| `failed`    | The 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:

```bash
{
    "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 }]
        }
    ]
}
```

<Warning>Note that not all SDKs support multi-circuit job submission. Please refer to the official documentation for that SDK for current functionality.</Warning>
