---
title: Calibrator (latest version)
description: API reference for qiskit_ibm_runtime.Calibrator in the latest version of qiskit-ibm-runtime
source: https://quantum.cloud.ibm.com/docs/en/api/qiskit-ibm-runtime/calibrator
---

# Calibrator

*class* `Calibrator(mode=None, options=None)`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.52/qiskit_ibm_runtime/calibrator/calibrator.py#L37-L158)

Bases: `object`

Class for calibrating a backend.

A calibrator can be initialized only inside a session. The [`run()`](#qiskit_ibm_runtime.Calibrator.run "qiskit_ibm_runtime.Calibrator.run") method can be used to submit a calibration request for a backend.

```python
from qiskit_ibm_runtime import QiskitRuntimeService, Session, Calibrator

service = QiskitRuntimeService()
backend = service.backend("ibm_boston")

with Session(backend=backend) as session:
    calibrator = Calibrator(session)
    calibrator.run()
```

> **Note**
>
> This feature is experimental and subject to change without notice.

**Parameters**

- **mode** (*BackendV2 |* [*Session*](/docs/api/qiskit-ibm-runtime/session "qiskit_ibm_runtime.Session")  *|*[*Batch*](/docs/api/qiskit-ibm-runtime/batch "qiskit_ibm_runtime.Batch") *| None*) –

  The execution mode used to make the primitive query. It can be:

  - A `Backend` if you are using job mode.
  - A [`Session`](/docs/api/qiskit-ibm-runtime/session "qiskit_ibm_runtime.Session") if you are using session execution mode.
  - A [`Batch`](/docs/api/qiskit-ibm-runtime/batch "qiskit_ibm_runtime.Batch") if you are using batch execution mode.

  Refer to the [IBM Quantum Compute documentation](/docs/ibm-quantum-compute/execution-modes) for more information about the `Execution modes`.

- **options** ([*CalibratorOptions*](/docs/api/qiskit-ibm-runtime/options-models-calibrator-options "qiskit_ibm_runtime.options_models.calibrator.CalibratorOptions")) – Calibrator options, see [`CalibratorOptions`](/docs/api/qiskit-ibm-runtime/options-models-calibrator-options "qiskit_ibm_runtime.options_models.CalibratorOptions") for detailed description.

## Attributes

### mode

Return the execution mode used by this primitive.

**Returns**

Mode used by this primitive, or `None` if an execution mode is not used.

### options

Type: [`CalibratorOptions`](/docs/api/qiskit-ibm-runtime/options-models-calibrator-options "qiskit_ibm_runtime.options_models.calibrator.CalibratorOptions")

The options of this calibrator.

## Methods

### backend

`backend()`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.52/qiskit_ibm_runtime/calibrator/calibrator.py#L107-L109)

Return the backend to calibrate.

**Return type**

BackendV2

### run

`run()`

[GitHub](https://github.com/Qiskit/qiskit-ibm-runtime/tree/stable/0.52/qiskit_ibm_runtime/calibrator/calibrator.py#L120-L158)

Calibrate the backend.

**Returns**

A calibration job.

**Return type**

[RuntimeJobV2](/docs/api/qiskit-ibm-runtime/runtime-job-v2 "qiskit_ibm_runtime.RuntimeJobV2")
