Backends
Get list of backends
Returns a list of backends enabled for direct access.
Authorization
To call this method, you must be assigned one or more IAM access roles that include the following actions. You can check your access by going to Users > User > Access
quantum-computing.direct-access-backend.list
Auditing
Calling this method generates the following auditing events.
quantum-computing.direct-access-backend.list
Input
Infomation |
|---|
| This endpoint accepts no inputs. |
curl -X GET \
'https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | Returned when backends were retrieved successfully. |
| 401 | Returned when authentication failed. |
{
"backends": [
{
"message": "example",
"name": "ibm_bromont",
"status": "online",
"version": "1.0.0"
}
]
}{
"additionalProperties": false,
"properties": {
"backends": {
"description": "A list of backend names available for direct access.",
"items": {
"additionalProperties": false,
"properties": {
"message": {
"description": "Additional details related to the backend status.",
"type": "string"
},
"name": {
"description": "Name of the backend",
"examples": [
"ibm_bromont"
],
"type": "string"
},
"status": {
"description": "online (you can send jobs), offline (you cannot send jobs) and paused (you cannot send jobs).",
"enum": [
"online",
"offline",
"paused"
],
"examples": [
"online"
],
"type": "string"
},
"version": {
"description": "Version of the backend",
"examples": [
"1.0.0"
],
"type": "string"
}
},
"required": [
"name",
"status"
],
"type": "object"
},
"type": [
"array",
"null"
]
}
},
"required": [
"backends"
],
"type": "object"
}Get backend details
Returns details of a backend.
Authorization
To call this method, you must be assigned one or more IAM access roles that include the following actions. You can check your access by going to Users > User > Access
quantum-computing.direct-access-backend.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.direct-access-backend.read
Input
Name, Type | Description |
|---|---|
backend-name Required string | Example: "ibm_bromont" |
curl -X GET \
'https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends/{backend-name}' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends/{backend-name}",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | Returned when backend details was retrieved successfully. |
| 401 | Returned when authentication failed. |
| 404 | Returned when backend is not found. |
{
"message": "example",
"name": "ibm_bromont",
"status": "online",
"version": "1.0.0"
}{
"additionalProperties": false,
"properties": {
"message": {
"description": "Additional details related to the backend status.",
"type": "string"
},
"name": {
"description": "Name of the backend",
"examples": [
"ibm_bromont"
],
"type": "string"
},
"status": {
"description": "online (you can send jobs), offline (you cannot send jobs) and paused (you cannot send jobs).",
"enum": [
"online",
"offline",
"paused"
],
"examples": [
"online"
],
"type": "string"
},
"version": {
"description": "Version of the backend",
"examples": [
"1.0.0"
],
"type": "string"
}
},
"required": [
"name",
"status"
],
"type": "object"
}Get backend configuration
Returns configuration of a backend.
Authorization
To call this method, you must be assigned one or more IAM access roles that include the following actions. You can check your access by going to Users > User > Access
quantum-computing.direct-access-backend-configuration.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.direct-access-backend-configuration.read
Input
Name, Type | Description |
|---|---|
backend-name Required string | Example: "ibm_bromont" |
curl -X GET \
'https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends/{backend-name}/configuration' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends/{backend-name}/configuration",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | Returned when backend configuration was retrieved successfully. |
| 401 | Returned when authentication failed. |
| 404 | Returned when backend is not found. |
{
"backend_name": "example",
"sample_name": "example",
"backend_version": "example",
"n_qubits": 1,
"basis_gates": [
"example"
],
"coupling_map": [
[
1
]
],
"gates": [
{
"name": "example",
"parameters": [
"example"
],
"coupling_map": [
[
1
]
],
"qasm_def": "example",
"conditional": true,
"latency_map": [
[
0
]
],
"description": "example"
}
],
"local": true,
"simulator": true,
"conditional": true,
"memory": true,
"max_shots": 1,
"max_experiments": 1,
"n_registers": 1,
"register_map": [
[
0
]
],
"configurable": true,
"credits_required": true,
"online_date": "example",
"display_name": "example",
"description": "example",
"tags": [
"credits_required"
],
"rep_delay_range": [
[
1
]
],
"default_rep_delay": 1,
"dynamic_reprate_enabled": true,
"measure_esp_enabled": true,
"supported_instructions": [
"example"
],
"supported_features": [
"example"
],
"quantum_volume": 1,
"processor_type": {
"family": "example",
"revision": "example",
"segment": "example"
},
"qubit_lo_range": [
[
1
]
],
"meas_lo_range": [
[
1
]
],
"timing_constraints": {
"granularity": 1,
"min_length": 1,
"pulse_alignment": 1,
"acquire_alignment": 1
},
"open_pulse": true,
"n_uchannels": 1,
"hamiltonian": {
"h_latex": "example",
"h_str": [
"example"
],
"vars": {},
"osc": {}
},
"u_channel_lo": [
[
{
"q": 1,
"scale": [
1
]
}
]
],
"meas_levels": [
1
],
"dt": 1,
"dtm": 1,
"rep_times": [
1
],
"meas_map": [
[
1
]
],
"channel_bandwidth": [
[
1
]
],
"meas_kernels": [
"example"
],
"discriminators": [
"example"
],
"acquisition_latency": [
[
1
]
],
"conditional_latency": [
[
1
]
],
"parametric_pulses": [
"example"
],
"channels": {}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://www.qiskit.org/schemas/backend_config_schema.json",
"description": "Qiskit device backend configuration",
"version": "1.6.0",
"definitions": {
"hamiltonian": {
"type": "object",
"description": "Hamiltonian of the backend",
"required": [
"h_latex"
],
"properties": {
"h_latex": {
"type": "string",
"description": "The Hamiltonian in latex form"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "The Hamiltonian in machine readable form"
},
"vars": {
"type": "object",
"description": "Variables in the h_str"
},
"osc": {
"type": "object",
"description": "Number of levels for each oscillator mode"
}
}
},
"coreconfig": {
"type": "object",
"required": [
"backend_name",
"backend_version",
"n_qubits",
"basis_gates",
"gates",
"local",
"simulator",
"conditional",
"memory",
"max_shots"
],
"properties": {
"backend_name": {
"type": "string",
"description": "Backend name"
},
"sample_name": {
"type": "string",
"description": "Sample name"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Backend version in the form X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Number of qubits",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "List of basis gates names on the backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Array grouping qubits that are physically coupled together on the backend"
},
"gates": {
"type": "array",
"description": "List of basis gates on the backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "The gate name as it will be referred to in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Variable names for the gate parameters (if any)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "List of qubit groupings which are coupled by this gate"
},
"qasm_def": {
"type": "string",
"description": "Definition of this gate in terms of QASM primitives U and CX"
},
"conditional": {
"type": "boolean",
"description": "This specified gate supports conditional operations (true/false). If this is not specified, then the gate inherits the conditional property of the backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension len(coupling_map) X n_registers that specifies (1 - fast, 0 - slow) the register latency conditional operations on the gate"
},
"description": {
"type": "string",
"description": "Description of the gate operation"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "Backend is local or remote (true/false)"
},
"simulator": {
"type": "boolean",
"description": "Backend is a simulator (true/false)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "Backend supports conditional operations (true/false)",
"default": false
},
"memory": {
"type": "boolean",
"description": "Backend supports memory (true/false)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Maximum number of shots supported",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Maximum number of experiments supported",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Number of register slots available for feedback (if conditional is true)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension n_qubits X n_registers that specifies whether a qubit can store a measurement in a certain register slot"
},
"configurable": {
"type": "boolean",
"description": "Backend is configurable, if the backend is a simulator (true/false)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "Backend requires credits to run a job (true/false)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Date the backend went online"
},
"display_name": {
"type": "string",
"description": "Alternate name field for the backend"
},
"description": {
"type": "string",
"description": "Description of the backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Range of delay times between programs (microseconds) allowed by backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Default rep delay.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Whether delay between programs can be set dynamically using 'rep_delay').",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Whether ESP readout is supported by the backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Instructions supported by the backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Array of features supported by the backend such as qobj, qasm3, etc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Backend quantum volume",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "Processor family indicates quantum chip architecture"
},
"revision": {
"type": "string",
"description": "Revision number reflects design variants within a given processor family. Is typically a semantic versioning value without the patch value, eg., \"1.0\"."
},
"segment": {
"type": "string",
"description": "Segment, if indicated, is used to distinguish different subsets of the qubit fabric/chip"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Frequency range for the qubit LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Frequency range for the measurement LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Waveform memory data chunk size"
},
"min_length": {
"type": "integer",
"description": "Minimum number of samples required to define a pulse"
},
"pulse_alignment": {
"type": "integer",
"description": "Instruction triggering time resolution of pulse channel in units of dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Instruction triggering time resolution of acquisition channel in units of dt"
}
}
}
}
},
"openpulse_config": {
"required": [
"open_pulse",
"n_uchannels",
"hamiltonian",
"u_channel_lo",
"meas_levels",
"qubit_lo_range",
"meas_lo_range",
"dt",
"dtm",
"rep_times",
"meas_kernels",
"discriminators"
],
"properties": {
"open_pulse": {
"enum": [
true
],
"description": "The backend supports openPulse (true/false)"
},
"n_uchannels": {
"type": "integer",
"description": "Number of additional control channels",
"minimum": 0
},
"hamiltonian": {
"type": "object",
"required": [
"h_latex"
],
"description": "Hamiltonian of the backend",
"properties": {
"h_latex": {
"type": "string",
"description": "The Hamiltonian in latex form"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "The Hamiltonian in machine readable form"
},
"vars": {
"type": "object",
"description": "Variables in the h_str"
},
"osc": {
"type": "object",
"description": "Number of levels for each oscillator mode"
}
}
},
"u_channel_lo": {
"type": "array",
"minItems": 0,
"description": "Relationship of the U Channel LO's in terms of the qubit LO's",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"q": {
"type": "integer"
},
"scale": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
}
}
}
},
"meas_levels": {
"type": "array",
"minItems": 1,
"maxitems": 3,
"description": "Available measurement levels on the backend",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"dt": {
"type": "number",
"description": "Time discretization for the drive and U channels",
"minimum": 0
},
"dtm": {
"type": "number",
"description": "Time discretization for the measurement channels",
"minimum": 0
},
"rep_times": {
"type": "array",
"minItems": 1,
"description": "Program execution times (microseconds) supported by backend.",
"items": {
"type": "number",
"minimum": 0
}
},
"meas_map": {
"type": "array",
"minItems": 1,
"description": "Grouping of measurement which are multiplexed",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 0
}
}
},
"channel_bandwidth": {
"type": "array",
"minItems": 2,
"description": "Bandwidth of all channels (qubit,measurement and U)",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_kernels": {
"type": "array",
"minItems": 1,
"description": "Available measurement kernels",
"items": {
"type": "string"
}
},
"discriminators": {
"type": "array",
"minItems": 1,
"description": "Available discriminators",
"items": {
"type": "string"
}
},
"acquisition_latency": {
"type": "array",
"minItems": 1,
"description": "Array of dimension n_qubits x n_registers. Latency (in units of dt) to write a measurement result from qubit n into register slot m.",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"conditional_latency": {
"type": "array",
"minItems": 1,
"description": "Array of dimension n_channels [d->u->m] x n_registers. Latency (in units of dt) to do a conditional operation on channel n from register slot m",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "number"
}
}
},
"parametric_pulses": {
"type": "array",
"minItems": 0,
"description": "A list of available parametric pulse shapes",
"items": {
"type": "string"
}
},
"channels": {
"type": "object",
"patternProperties": {
"^[a-z0-9]+$": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"purpose": {
"type": "string"
},
"operates": {
"type": "object",
"properties": {
"qubits": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
}
}
}
}
}
},
"description": "A dictionary where each entry represents a channel configuration and contains configuration values such as the channel's mapping to qubits."
}
}
},
"gateconfig": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "The gate name as it will be referred to in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Variable names for the gate parameters (if any)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "List of qubit groupings which are coupled by this gate"
},
"qasm_def": {
"type": "string",
"description": "Definition of this gate in terms of QASM primitives U and CX"
},
"conditional": {
"type": "boolean",
"description": "This specified gate supports conditional operations (true/false). If this is not specified, then the gate inherits the conditional property of the backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension len(coupling_map) X n_registers that specifies (1 - fast, 0 - slow) the register latency conditional operations on the gate"
},
"description": {
"type": "string",
"description": "Description of the gate operation"
}
}
},
"complexnumber": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
},
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"backend_name",
"backend_version",
"n_qubits",
"basis_gates",
"gates",
"local",
"simulator",
"conditional",
"memory",
"max_shots"
],
"properties": {
"backend_name": {
"type": "string",
"description": "Backend name"
},
"sample_name": {
"type": "string",
"description": "Sample name"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Backend version in the form X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Number of qubits",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "List of basis gates names on the backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Array grouping qubits that are physically coupled together on the backend"
},
"gates": {
"type": "array",
"description": "List of basis gates on the backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "The gate name as it will be referred to in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Variable names for the gate parameters (if any)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "List of qubit groupings which are coupled by this gate"
},
"qasm_def": {
"type": "string",
"description": "Definition of this gate in terms of QASM primitives U and CX"
},
"conditional": {
"type": "boolean",
"description": "This specified gate supports conditional operations (true/false). If this is not specified, then the gate inherits the conditional property of the backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension len(coupling_map) X n_registers that specifies (1 - fast, 0 - slow) the register latency conditional operations on the gate"
},
"description": {
"type": "string",
"description": "Description of the gate operation"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "Backend is local or remote (true/false)"
},
"simulator": {
"type": "boolean",
"description": "Backend is a simulator (true/false)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "Backend supports conditional operations (true/false)",
"default": false
},
"memory": {
"type": "boolean",
"description": "Backend supports memory (true/false)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Maximum number of shots supported",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Maximum number of experiments supported",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Number of register slots available for feedback (if conditional is true)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension n_qubits X n_registers that specifies whether a qubit can store a measurement in a certain register slot"
},
"configurable": {
"type": "boolean",
"description": "Backend is configurable, if the backend is a simulator (true/false)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "Backend requires credits to run a job (true/false)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Date the backend went online"
},
"display_name": {
"type": "string",
"description": "Alternate name field for the backend"
},
"description": {
"type": "string",
"description": "Description of the backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Range of delay times between programs (microseconds) allowed by backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Default rep delay.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Whether delay between programs can be set dynamically using 'rep_delay').",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Whether ESP readout is supported by the backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Instructions supported by the backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Array of features supported by the backend such as qobj, qasm3, etc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Backend quantum volume",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "Processor family indicates quantum chip architecture"
},
"revision": {
"type": "string",
"description": "Revision number reflects design variants within a given processor family. Is typically a semantic versioning value without the patch value, eg., \"1.0\"."
},
"segment": {
"type": "string",
"description": "Segment, if indicated, is used to distinguish different subsets of the qubit fabric/chip"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Frequency range for the qubit LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Frequency range for the measurement LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Waveform memory data chunk size"
},
"min_length": {
"type": "integer",
"description": "Minimum number of samples required to define a pulse"
},
"pulse_alignment": {
"type": "integer",
"description": "Instruction triggering time resolution of pulse channel in units of dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Instruction triggering time resolution of acquisition channel in units of dt"
}
}
}
}
},
{
"required": [
"open_pulse",
"n_uchannels",
"hamiltonian",
"u_channel_lo",
"meas_levels",
"qubit_lo_range",
"meas_lo_range",
"dt",
"dtm",
"rep_times",
"meas_kernels",
"discriminators"
],
"properties": {
"open_pulse": {
"enum": [
true
],
"description": "The backend supports openPulse (true/false)"
},
"n_uchannels": {
"type": "integer",
"description": "Number of additional control channels",
"minimum": 0
},
"hamiltonian": {
"type": "object",
"required": [
"h_latex"
],
"description": "Hamiltonian of the backend",
"properties": {
"h_latex": {
"type": "string",
"description": "The Hamiltonian in latex form"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "The Hamiltonian in machine readable form"
},
"vars": {
"type": "object",
"description": "Variables in the h_str"
},
"osc": {
"type": "object",
"description": "Number of levels for each oscillator mode"
}
}
},
"u_channel_lo": {
"type": "array",
"minItems": 0,
"description": "Relationship of the U Channel LO's in terms of the qubit LO's",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"q": {
"type": "integer"
},
"scale": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
}
}
}
},
"meas_levels": {
"type": "array",
"minItems": 1,
"maxitems": 3,
"description": "Available measurement levels on the backend",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"dt": {
"type": "number",
"description": "Time discretization for the drive and U channels",
"minimum": 0
},
"dtm": {
"type": "number",
"description": "Time discretization for the measurement channels",
"minimum": 0
},
"rep_times": {
"type": "array",
"minItems": 1,
"description": "Program execution times (microseconds) supported by backend.",
"items": {
"type": "number",
"minimum": 0
}
},
"meas_map": {
"type": "array",
"minItems": 1,
"description": "Grouping of measurement which are multiplexed",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 0
}
}
},
"channel_bandwidth": {
"type": "array",
"minItems": 2,
"description": "Bandwidth of all channels (qubit,measurement and U)",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_kernels": {
"type": "array",
"minItems": 1,
"description": "Available measurement kernels",
"items": {
"type": "string"
}
},
"discriminators": {
"type": "array",
"minItems": 1,
"description": "Available discriminators",
"items": {
"type": "string"
}
},
"acquisition_latency": {
"type": "array",
"minItems": 1,
"description": "Array of dimension n_qubits x n_registers. Latency (in units of dt) to write a measurement result from qubit n into register slot m.",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"conditional_latency": {
"type": "array",
"minItems": 1,
"description": "Array of dimension n_channels [d->u->m] x n_registers. Latency (in units of dt) to do a conditional operation on channel n from register slot m",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "number"
}
}
},
"parametric_pulses": {
"type": "array",
"minItems": 0,
"description": "A list of available parametric pulse shapes",
"items": {
"type": "string"
}
},
"channels": {
"type": "object",
"patternProperties": {
"^[a-z0-9]+$": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"purpose": {
"type": "string"
},
"operates": {
"type": "object",
"properties": {
"qubits": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
}
}
}
}
}
},
"description": "A dictionary where each entry represents a channel configuration and contains configuration values such as the channel's mapping to qubits."
}
}
}
]
},
{
"allOf": [
{
"type": "object",
"required": [
"backend_name",
"backend_version",
"n_qubits",
"basis_gates",
"gates",
"local",
"simulator",
"conditional",
"memory",
"max_shots"
],
"properties": {
"backend_name": {
"type": "string",
"description": "Backend name"
},
"sample_name": {
"type": "string",
"description": "Sample name"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Backend version in the form X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Number of qubits",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "List of basis gates names on the backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Array grouping qubits that are physically coupled together on the backend"
},
"gates": {
"type": "array",
"description": "List of basis gates on the backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "The gate name as it will be referred to in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Variable names for the gate parameters (if any)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "List of qubit groupings which are coupled by this gate"
},
"qasm_def": {
"type": "string",
"description": "Definition of this gate in terms of QASM primitives U and CX"
},
"conditional": {
"type": "boolean",
"description": "This specified gate supports conditional operations (true/false). If this is not specified, then the gate inherits the conditional property of the backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension len(coupling_map) X n_registers that specifies (1 - fast, 0 - slow) the register latency conditional operations on the gate"
},
"description": {
"type": "string",
"description": "Description of the gate operation"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "Backend is local or remote (true/false)"
},
"simulator": {
"type": "boolean",
"description": "Backend is a simulator (true/false)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "Backend supports conditional operations (true/false)",
"default": false
},
"memory": {
"type": "boolean",
"description": "Backend supports memory (true/false)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Maximum number of shots supported",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Maximum number of experiments supported",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Number of register slots available for feedback (if conditional is true)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "An array of dimension n_qubits X n_registers that specifies whether a qubit can store a measurement in a certain register slot"
},
"configurable": {
"type": "boolean",
"description": "Backend is configurable, if the backend is a simulator (true/false)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "Backend requires credits to run a job (true/false)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Date the backend went online"
},
"display_name": {
"type": "string",
"description": "Alternate name field for the backend"
},
"description": {
"type": "string",
"description": "Description of the backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Range of delay times between programs (microseconds) allowed by backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Default rep delay.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Whether delay between programs can be set dynamically using 'rep_delay').",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Whether ESP readout is supported by the backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Instructions supported by the backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Array of features supported by the backend such as qobj, qasm3, etc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Backend quantum volume",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "Processor family indicates quantum chip architecture"
},
"revision": {
"type": "string",
"description": "Revision number reflects design variants within a given processor family. Is typically a semantic versioning value without the patch value, eg., \"1.0\"."
},
"segment": {
"type": "string",
"description": "Segment, if indicated, is used to distinguish different subsets of the qubit fabric/chip"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Frequency range for the qubit LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Frequency range for the measurement LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Waveform memory data chunk size"
},
"min_length": {
"type": "integer",
"description": "Minimum number of samples required to define a pulse"
},
"pulse_alignment": {
"type": "integer",
"description": "Instruction triggering time resolution of pulse channel in units of dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Instruction triggering time resolution of acquisition channel in units of dt"
}
}
}
}
},
{
"required": [
"open_pulse"
],
"properties": {
"open_pulse": {
"enum": [
false
]
}
}
}
]
}
]
}Get backend properties
Returns properties of a backend.
Authorization
To call this method, you must be assigned one or more IAM access roles that include the following actions. You can check your access by going to Users > User > Access
quantum-computing.direct-access-backend-properties.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.direct-access-backend-properties.read
Input
Name, Type | Description |
|---|---|
backend-name Required string | Example: "ibm_bromont" |
curl -X GET \
'https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends/{backend-name}/properties' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"https://direct-access-<YOUR_CLIENT_ACRONYM>.quantum-computing.cloud.ibm.com:30060/v1/backends/{backend-name}/properties",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | Returned when backend properties was retrieved successfully. |
| 401 | Returned when authentication failed. |
| 404 | Returned when backend is not found. |
{
"backend_name": "example",
"backend_version": "example",
"gates": [
{
"gate": "example",
"parameters": [
{
"date": "example",
"name": "example",
"unit": "example",
"value": 1
}
],
"qubits": [
1
]
}
],
"general": [
{
"date": "example",
"name": "example",
"unit": "example",
"value": 1
}
],
"last_update_date": "example",
"qubits": [
[
{
"date": "example",
"name": "example",
"unit": "example",
"value": 1
}
]
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://www.qiskit.org/schemas/backend_props_schema.json",
"description": "OpenQuantum backend properties schema",
"version": "1.0.0",
"definitions": {
"gate": {
"properties": {
"gate": {
"type": "string"
},
"parameters": {
"items": {
"description": "Recorded parameter as a name-date-unit-value",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"qubits": {
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"qubits",
"gate",
"parameters"
],
"type": "object"
},
"general_parameters": {
"description": "General system parameters",
"items": {
"description": "Recorded parameter as a name-date-unit-value",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 0,
"type": "array"
},
"nduv": {
"description": "Recorded parameter as a name-date-unit-value",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
}
},
"properties": {
"backend_name": {
"description": "Backend name",
"type": "string"
},
"backend_version": {
"description": "Backend version in the form X.X.X",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"type": "string"
},
"gates": {
"description": "System gate parameters",
"items": {
"properties": {
"gate": {
"type": "string"
},
"parameters": {
"items": {
"description": "Recorded parameter as a name-date-unit-value",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"qubits": {
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"qubits",
"gate",
"parameters"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"general": {
"description": "General system parameters",
"items": {
"description": "Recorded parameter as a name-date-unit-value",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 0,
"type": "array"
},
"last_update_date": {
"description": "Last date/time that a property was updated.",
"format": "date-time",
"type": "string"
},
"qubits": {
"description": "System qubit parameters",
"items": {
"items": {
"description": "Recorded parameter as a name-date-unit-value",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"backend_name",
"backend_version",
"last_update_date",
"qubits",
"gates",
"general"
],
"type": "object"
}