---
title: BasicProviderJob (v1.3)
description: API reference for qiskit.providers.basic_provider.BasicProviderJob in qiskit v1.3
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/1.3/qiskit.providers.basic_provider.BasicProviderJob
---

# BasicProviderJob

*class* `qiskit.providers.basic_provider.BasicProviderJob(backend, job_id, result)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/basic_provider/basic_provider_job.py#L22-L65)

Bases: [`JobV1`](/docs/api/qiskit/1.3/qiskit.providers.JobV1 "qiskit.providers.job.JobV1")

BasicProviderJob class.

Initializes the asynchronous job.

**Parameters**

- **backend** – the backend used to run the job.
- **job\_id** – a unique id in the context of the backend used to run the job.
- **kwargs** – Any key value metadata to associate with this job.

## Attributes

### version

Default value: `1`

## Methods

### backend

`backend()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/basic_provider/basic_provider_job.py#L63-L65)

Return the instance of the backend used for this job.

### cancel

`cancel()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L140-L142)

Attempt to cancel the job.

### cancelled

`cancelled()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L86-L88)

Return whether the job has been cancelled.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### done

`done()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L78-L80)

Return whether the job has successfully run.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### in\_final\_state

`in_final_state()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L90-L92)

Return whether the job is in a final job state such as `DONE` or `ERROR`.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### job\_id

`job_id()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L68-L70)

Return a unique id identifying the job.

**Return type**

[str](https://docs.python.org/3/library/stdtypes.html#str)

### result

`result(timeout=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/basic_provider/basic_provider_job.py#L39-L53)

Get job result .

**Returns**

Result object

**Return type**

[qiskit.result.Result](/docs/api/qiskit/1.3/qiskit.result.Result "qiskit.result.Result")

### running

`running()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L82-L84)

Return whether the job is actively running.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### status

`status()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/basic_provider/basic_provider_job.py#L55-L61)

Gets the status of the job by querying the Python’s future

**Returns**

The current JobStatus

**Return type**

[qiskit.providers.JobStatus](/docs/api/qiskit/1.3/qiskit.providers.JobStatus "qiskit.providers.JobStatus")

### submit

`submit()`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/basic_provider/basic_provider_job.py#L31-L37)

Submit the job to the backend for execution.

**Raises**

[**JobError**](/docs/api/qiskit/1.3/providers#qiskit.providers.JobError "qiskit.providers.JobError") – if trying to re-submit the job.

### wait\_for\_final\_state

`wait_for_final_state(timeout=None, wait=5, callback=None)`

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/1.3/qiskit/providers/job.py#L94-L128)

Poll the job status until it progresses to a final state such as `DONE` or `ERROR`.

**Parameters**

- **timeout** ([*float*](https://docs.python.org/3/library/functions.html#float) *| None*) – Seconds to wait for the job. If `None`, wait indefinitely.

- **wait** ([*float*](https://docs.python.org/3/library/functions.html#float)) – Seconds between queries.

- **callback** ([*Callable*](https://docs.python.org/3/library/typing.html#typing.Callable) *| None*) –

  Callback function invoked after each query. The following positional arguments are provided to the callback function:

  - job\_id: Job ID
  - job\_status: Status of the job from the last query
  - job: This BaseJob instance

  Note: different subclass might provide different arguments to the callback function.

**Raises**

[**JobTimeoutError**](/docs/api/qiskit/1.3/providers#qiskit.providers.JobTimeoutError "qiskit.providers.JobTimeoutError") – If the job does not reach a final state before the specified timeout.

**Return type**

None
