openapi: 3.0.0
info:
title: Qiskit Runtime Jobs API
version: 0.45.3
description: Submit, list, inspect, cancel, delete, and tag Qiskit Runtime quantum primitive jobs (Sampler and Estimator) executed on IBM Quantum hardware. Retrieve job results, logs, metrics and manage job tags.
contact:
name: IBM Quantum
url: https://quantum.cloud.ibm.com
license:
name: IBM
url: https://www.ibm.com/legal
servers:
- url: https://quantum.cloud.ibm.com/api
description: Global region
- url: https://eu-de.quantum.cloud.ibm.com/api
description: EU-DE region
tags:
- name: Jobs
- name: Tags
paths:
/v1/jobs/{id}:
get:
summary: List Job Details
tags:
- Jobs
description: List the details about the specified quantum program job.
parameters:
- in: query
name: exclude_params
required: false
schema:
type: boolean
default: false
description: Exclude job params from the response
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JobResponseV3'
examples:
jobResponseSample:
$ref: '#/components/examples/jobResponseExample'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
operationId: get_job
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.read
x-ibm-permissions:
actions:
- name: quantum-computing.job.read
delete:
tags:
- Jobs
summary: Delete a Job
operationId: delete_job
responses:
'204':
description: OK
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'500':
description: Internal error deleting job
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
description: Delete the specified job and its associated data. Job must be in a terminal state.
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.delete
x-ibm-permissions:
actions:
- name: quantum-computing.job.delete
parameters:
- schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
name: id
in: path
required: true
description: Identifier of an existing job
- $ref: '#/components/parameters/IBM-API-Version'
/v1/jobs:
get:
parameters:
- in: query
name: limit
required: false
schema:
type: integer
format: int32
default: 200
minimum: 1
maximum: 200
description: Number of results to return at a time. If the provided value is outside of the viable range, no error occurs and the default value is used instead.
- in: query
name: offset
required: false
schema:
type: integer
format: int32
default: 0
minimum: 0
maximum: 2147483647
description: Number of results to offset when retrieving the list of jobs. If the provided value is outside of the viable range, no error occurs and the default value is used instead.
- in: query
name: pending
required: false
schema:
type: boolean
description: Returns 'Queued' and 'Running' jobs if true. Returns 'Completed', 'Cancelled', and 'Failed' jobs if false.
- in: query
name: program
required: false
schema:
type: string
minLength: 1
maxLength: 63
pattern: ^.*$
description: Program ID to filter jobs
- in: query
name: backend
required: false
schema:
type: string
minLength: 1
maxLength: 100
pattern: ^.*$
description: Backend to filter jobs
- in: query
name: created_after
required: false
schema:
type: string
format: date-time
minLength: 1
maxLength: 100
description: Job created after filter
- in: query
name: created_before
required: false
schema:
type: string
format: date-time
minLength: 1
maxLength: 100
description: Job created before filter
- in: query
name: sort
required: false
schema:
type: string
minLength: 1
maxLength: 4
pattern: ^(ASC|DESC)$
description: Sort jobs by created time ASC or DESC (default)
- in: query
name: tags
required: false
schema:
$ref: '#/components/schemas/Tags'
description: Tags to filter jobs
- in: query
name: session_id
required: false
schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
description: Session ID to filter jobs
- in: query
name: exclude_params
required: false
schema:
type: boolean
default: true
description: Exclude job params from the response
tags:
- Jobs
summary: List Jobs
operationId: list_jobs
description: List the quantum program jobs you have run.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JobsResponse'
examples:
jobsResponseExample:
$ref: '#/components/examples/jobsResponseExample'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.read
x-ibm-permissions:
actions:
- name: quantum-computing.job.read
post:
tags:
- Jobs
summary: Run a Job
operationId: create_job
parameters:
- name: Parent-Job-Id
in: header
description: Parent job ID
required: false
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JobCreateResponse'
example:
id: c5dge2d3rn7breq27i9g
backend: ibm_backend
private: true
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'409':
description: Usage exceeds instance limit
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
description: Invoke a Qiskit Runtime primitive. Note the returned job ID. You will use it to check the job's status and review results. This request is rate limited to 5 jobs per minute per user.
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/JobRunParams'
- $ref: '#/components/schemas/JobRunParamsChannelPartner'
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.create
x-ibm-permissions:
actions:
- name: quantum-computing.job.create
parameters:
- $ref: '#/components/parameters/IBM-API-Version'
/v1/jobs/{id}/results:
get:
summary: List Job Results
tags:
- Jobs
description: Return the final result from this job.
responses:
'200':
description: Returns the job's final result.
content:
application/json:
schema:
$ref: '#/components/schemas/JobResults'
'204':
description: Job's final result not found.
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
operationId: get_job_results_jid
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.read
x-ibm-permissions:
actions:
- name: quantum-computing.job.read
parameters:
- schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
name: id
in: path
required: true
description: A job ID
- $ref: '#/components/parameters/IBM-API-Version'
/v1/jobs/{id}/logs:
get:
operationId: get_jog_logs_jid
summary: List Job Logs
tags:
- Jobs
description: List all job logs for the specified job.
responses:
'200':
description: Returns job logs.
content:
text/plain:
schema:
type: string
description: Job logs.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.read
x-ibm-permissions:
actions:
- name: quantum-computing.job.read
parameters:
- schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
name: id
in: path
required: true
description: A job ID
- $ref: '#/components/parameters/IBM-API-Version'
/v1/jobs/{id}/cancel:
post:
summary: Cancel a Job
tags:
- Jobs
description: Cancels the specified job.
responses:
'204':
description: OK
'400':
description: Bad cancel request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'409':
description: Job is in non cancellable status.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'500':
description: Internal error cancelling job
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
operationId: cancel_job_jid
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.cancel
x-ibm-permissions:
actions:
- name: quantum-computing.job.cancel
parameters:
- name: Parent-Job-Id
in: header
description: Parent job ID
required: false
schema:
type: string
- schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
name: id
in: path
required: true
description: A job ID
- $ref: '#/components/parameters/IBM-API-Version'
/v1/jobs/{id}/metrics:
get:
summary: Get Job Metrics
tags:
- Jobs
description: Gets metrics of specified job
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JobMetricsResponse'
examples:
jobResponseSample:
$ref: '#/components/examples/jobMetricsResponseExample'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
operationId: get_job_metrics_jid
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.read
x-ibm-permissions:
actions:
- name: quantum-computing.job.read
parameters:
- schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
name: id
in: path
required: true
description: A job ID
- $ref: '#/components/parameters/IBM-API-Version'
/v1/jobs/{id}/tags:
put:
tags:
- Jobs
summary: Replace Job Tags
operationId: replace_job_tags
description: Replace job tags
requestBody:
content:
application/json:
schema:
type: object
description: Replace job tags request. Specify an empty array to clear tags.
properties:
tags:
$ref: '#/components/schemas/Tags'
required:
- tags
responses:
'204':
description: OK
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.update
x-ibm-permissions:
actions:
- name: quantum-computing.job.update
parameters:
- schema:
type: string
minLength: 1
maxLength: 1000
pattern: ^.*$
name: id
in: path
required: true
description: A job ID
- $ref: '#/components/parameters/IBM-API-Version'
/v1/tags:
get:
operationId: list_tags
parameters:
- in: query
name: type
required: true
schema:
type: string
default: job
enum:
- job
description: Searches for tags in the specified type.
- in: query
name: search
required: true
schema:
type: string
minLength: 3
maxLength: 100
description: Used for searching tags.
description: Search and list the tags of jobs.
tags:
- Tags
summary: List Tags
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ListTagsResponse'
examples:
jobsResponseExample:
$ref: '#/components/examples/listTagsExample'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorContainer'
security:
- IBMCloudAPIKey: []
- ServiceCRN: []
- IBMCloudAuth: []
x-ibm-events:
events:
- name: quantum-computing.job.read
x-ibm-permissions:
actions:
- name: quantum-computing.job.read
parameters:
- $ref: '#/components/parameters/IBM-API-Version'
components:
schemas:
BillingStatus:
title: BillingStatus
type: string
description: Status of billing data completeness
enum:
- pending
- complete
ChunkPart:
description: A description of the contents of a single part of an execution chunk.
properties:
idx_item:
description: The index of an item in a quantum program.
title: Idx Item
type: integer
size:
description: 'The number of elements from the quantum program item that were executed.
For example, if a quantum program item has shape ``(10, 5)``, then it has a total of ``50``
elements, so that if this ``size`` is ``10``, it constitutes 20% of the total work for the item.'
title: Size
type: integer
required:
- idx_item
- size
title: ChunkPart
type: object
ChunkSpan:
description: "Timing information about a single chunk of execution.\n\n.. note::\n\n This span may include some amount of non-circuit time."
properties:
start:
description: The start time of the execution chunk in UTC.
format: date-time
title: Start
type: string
stop:
description: The stop time of the execution chunk in UTC.
format: date-time
title: Stop
type: string
parts:
description: A description of which parts of a quantum program are contained in this chunk.
items:
$ref: '#/components/schemas/ChunkPart'
title: Parts
type: array
required:
- start
- stop
- parts
title: ChunkSpan
type: object
DataTree:
nullable: true
anyOf:
- items:
$ref: '#/components/schemas/DataTree'
type: array
- $ref: '#/components/schemas/TensorModel'
- additionalProperties:
$ref: '#/components/schemas/DataTree'
type: object
- type: string
- type: number
- type: integer
- type: boolean
ErrorContainer:
description: Error response
type: object
properties:
trace:
type: string
description: A request identifier
errors:
type: array
description: A list of errors
items:
type: object
properties:
code:
type: string
description: Error type identifier
message:
description: Explanation of the problem
type: string
more_info:
description: URL where information about the error can be read in a web browser
type: string
ExecutorV01CircuitItemModel:
description: Execution specifications for a single quantum circuit.
properties:
item_type:
enum:
- circuit
default: circuit
description: The type of quantum program item.
title: Item Type
type: string
circuit:
$ref: '#/components/schemas/QpyModelV13ToV16'
circuit_arguments:
$ref: '#/components/schemas/F64TensorModel'
chunk_size:
anyOf:
- minimum: 1
type: integer
- enum:
- auto
type: string
default: auto
description: 'The maximum number circuit arguments to bind to the circuit per shot loop.
When ``"auto"``, the number is chosen server-side with heuristics designed to optimize
execution speed. A quantum program must have items where either all chunk sizes are
integer-valued, or all chunk sizes are ``"auto"``. Integer values are only allowed inside of
session exection mode.'
title: Chunk Size
required:
- circuit
- circuit_arguments
title: CircuitItemModel
type: object
ExecutorV01MetadataModel:
description: Execution metadata.
properties:
chunk_timing:
description: Timing information about all executed chunks of a quantum program.
items:
$ref: '#/components/schemas/ChunkSpan'
title: Chunk Timing
type: array
required:
- chunk_timing
title: MetadataModel
type: object
ExecutorV01OptionsModel:
description: Runtime options.
properties:
init_qubits:
default: true
description: Whether to reset the qubits to the ground state for each shot.
title: Init Qubits
type: boolean
rep_delay:
type: number
nullable: true
default: null
description: 'The repetition delay.
This is the delay between the end of one circuit and the start of the next within a shot loop.
This is only supported on backends that have ``backend.dynamic_reprate_enabled=True``. It must
be from the range supplied by ``backend.rep_delay_range``. When this value is ``None``, the
default value ``backend.default_rep_delay`` is used.'
title: Rep Delay
title: OptionsModel
type: object
ExecutorV01ParamsModel:
description: Schema version 1 of the inner parameters.
properties:
schema_version:
enum:
- v0.1
default: v0.1
title: Schema Version
type: string
quantum_program:
$ref: '#/components/schemas/ExecutorV01QuantumProgramModel'
options:
$ref: '#/components/schemas/ExecutorV01OptionsModel'
required:
- quantum_program
- options
title: Executor v0.1 input
type: object
ExecutorV01QuantumProgramModel:
description: Model to store a quantum program.
properties:
shots:
description: The number of shots for each individually bound circuit.
minimum: 1
title: Shots
type: integer
items:
description: Items of the program.
items:
discriminator:
mapping:
circuit: '#/components/schemas/ExecutorV01CircuitItemModel'
samplex: '#/components/schemas/ExecutorV01SamplexItemModel'
propertyName: item_type
oneOf:
- $ref: '#/components/schemas/ExecutorV01CircuitItemModel'
- $ref: '#/components/schemas/ExecutorV01SamplexItemModel'
title: Items
type: array
required:
- shots
- items
title: QuantumProgramModel
type: object
ExecutorV01QuantumProgramResultItemModel:
description: Results for a single quantum program item.
properties:
results:
additionalProperties:
$ref: '#/components/schemas/TensorModel'
description: A map from results to their tensor values.
title: Results
type: object
metadata:
description: Metadata pertaining to the execution of this particular quantum program item.
title: Metadata
nullable: true
required:
- results
- metadata
title: QuantumProgramResultItemModel
type: object
ExecutorV01QuantumProgramResultModel:
description: Result from executing a quantum program.
properties:
schema_version:
enum:
- v0.1
default: v0.1
description: Schema version of the result type.
title: Schema Version
type: string
data:
description: Resulting data for each quantum program item.
items:
$ref: '#/components/schemas/ExecutorV01QuantumProgramResultItemModel'
title: Data
type: array
metadata:
$ref: '#/components/schemas/ExecutorV01MetadataModel'
required:
- data
- metadata
title: ExecutorV01QuantumProgramResultModel
type: object
ExecutorV01SamplexItemModel:
description: Execution specifications for a single quantum circuit.
properties:
item_type:
enum:
- samplex
default: samplex
description: The type of quantum program item.
title: Item Type
type: string
circuit:
$ref: '#/components/schemas/QpyModelV13ToV16'
samplex:
$ref: '#/components/schemas/SamplexModelSSV1'
samplex_arguments:
additionalProperties:
anyOf:
- type: boolean
- type: integer
- $ref: '#/components/schemas/PauliLindbladMapModel'
- $ref: '#/components/schemas/TensorModel'
description: Arguments to the samplex.
title: Samplex Arguments
type: object
shape:
description: 'The shape of this item.
This shape must extend (via broadcasting) the implicit shape of the :attr:~samplex_arguments`.
The non-trivial axes it introduces enumerate randomizations.'
items:
type: integer
title: Shape
type: array
chunk_size:
anyOf:
- minimum: 1
type: integer
- enum:
- auto
type: string
default: auto
description: 'The maximum number circuit arguments to bind to the circuit per shot loop.
When ``"auto"``, the number is chosen server-side with heuristics designed to optimize
execution speed. A quantum program must have items where either all chunk sizes are
integer-valued, or all chunk sizes are ``"auto"``. Integer values are only allowed inside of
session exection mode.'
title: Chunk Size
required:
- circuit
- samplex
- samplex_arguments
- shape
title: SamplexItemModel
type: object
ExecutorV02CircuitItemModel:
description: Execution specifications for a single quantum circuit.
properties:
item_type:
enum:
- circuit
default: circuit
description: The type of quantum program item.
title: Item Type
type: string
circuit:
$ref: '#/components/schemas/QpyModelV13ToV17'
circuit_arguments:
$ref: '#/components/schemas/F64TensorModel'
chunk_size:
anyOf:
- minimum: 1
type: integer
- enum:
- auto
type: string
default: auto
description: 'The maximum number circuit arguments to bind to the circuit per shot loop.
When ``"auto"``, the number is chosen server-side with heuristics designed to optimize
execution speed. A quantum program must have items where either all chunk sizes are
integer-valued, or all chunk sizes are ``"auto"``. Integer values are only allowed inside of
session exection mode.'
title: Chunk Size
required:
- circuit
- circuit_arguments
title: CircuitItemModel
type: object
ExecutorV02MetadataModel:
description: Execution metadata.
properties:
chunk_timing:
description: Timing information about all executed chunks of a quantum program.
items:
$ref: '#/components/schemas/ChunkSpan'
title: Chunk Timing
type: array
required:
- chunk_timing
title: MetadataModel
type: object
ExecutorV02OptionsModel:
description: Runtime options.
properties:
init_qubits:
default: true
description: Whether to reset the qubits to the ground state for each shot.
title: Init Qubits
type: boolean
rep_delay:
type: number
nullable: true
default: null
description: 'The repetition delay.
This is the delay between the end of one circuit and the start of the next within a shot loop.
This is only supported on backends that have ``backend.dynamic_reprate_enabled=True``. It must
be from the range supplied by ``backend.rep_delay_range``. When this value is ``None``, the
default value ``backend.default_rep_delay`` is used.'
title: Rep Delay
scheduler_timing:
default: false
description: 'Whether to return circuit schedule timing of each provided quantum circuit.
Setting this value to true will cause corresponding metadata of every program item to be
populated in the returned data.'
title: Scheduler Timing
type: boolean
stretch_values:
default: false
description: 'Whether to return numeric resolutions of stretches for each provided quantum circuit.
Setting this value to true will cause corresponding metadata of every program item to be
populated in the returned data.'
title: Stretch Values
type: boolean
experimental:
additionalProperties:
$ref: '#/components/schemas/JsonValue'
default: {}
description: 'Experimental options.
These options are not guaranteed to be stable and may change or be removed without notice.'
title: Experimental
type: object
title: OptionsModel
type: object
ExecutorV02ParamsModel:
description: A model describing the Executor program inputs.
properties:
schema_version:
enum:
- v0.2
default: v0.2
title: Schema Version
type: string
quantum_program:
$ref: '#/components/schemas/ExecutorV02QuantumProgramModel'
options:
$ref: '#/components/schemas/ExecutorV02OptionsModel'
required:
- quantum_program
- options
title: Executor v0.2 input
type: object
ExecutorV02QuantumProgramModel:
description: Model to store a quantum program.
properties:
shots:
description: The number of shots for each individually bound circuit.
minimum: 1
title: Shots
type: integer
items:
description: Items of the program.
items:
discriminator:
mapping:
circuit: '#/components/schemas/ExecutorV02CircuitItemModel'
samplex: '#/components/schemas/ExecutorV02SamplexItemModel'
propertyName: item_type
oneOf:
- $ref: '#/components/schemas/ExecutorV02CircuitItemModel'
- $ref: '#/components/schemas/ExecutorV02SamplexItemModel'
title: Items
type: array
meas_level:
default: classified
description: "The level at which to return all classical register measurement results.\n\nThis option sets the return type of all classical registers in all quantum program items and\ndetermines whether the raw complex data from low-level measurement devices is discriminated\ninto bits or not.\n\n - \"classified\": Classical register data is returned as boolean arrays with the intrinsic shape\n ``(num_shots, creg_size)``.\n - \"kerneled\": Classical register data is returned as a complex array with the intrinsic shape\n ``(num_shots, creg_size)``, where each entry represents an IQ data point (resulting from\n kerneling the measurement trace) in arbitrary units.\n - \"avg_kerneled\": Classical register data is returned as a complex array with the intrinsic\n shape ``(creg_size,)``, where data is equivalent to \"kerneled\" except additionally averaged\n over shots."
enum:
- classified
- kerneled
- avg_kerneled
title: Meas Level
type: string
passthrough_data:
$ref: '#/components/schemas/DataTree'
required:
- shots
- items
title: QuantumProgramModel
type: object
ExecutorV02QuantumProgramResultItemModel:
description: Results for a single quantum program item.
properties:
results:
additionalProperties:
$ref: '#/components/schemas/TensorModel'
description: A map from results to their tensor values.
title: Results
type: object
metadata:
$ref: '#/components/schemas/ItemMetadataModel'
required:
- results
- metadata
title: QuantumProgramResultItemModel
type: object
ExecutorV02QuantumProgramResultModel:
description: Result from executing a quantum program.
properties:
schema_version:
enum:
- v0.2
default: v0.2
description: Schema version of the result type.
title: Schema Version
type: string
data:
description: Resulting data for each quantum program item.
items:
$ref: '#/components/schemas/ExecutorV02QuantumProgramResultItemModel'
title: Data
type: array
metadata:
$ref: '#/components/schemas/ExecutorV02MetadataModel'
passthrough_data:
$ref: '#/components/schemas/DataTree'
required:
- data
- metadata
title: ExecutorV02QuantumProgramResultModel
type: object
ExecutorV02SamplexItemModel:
description: Execution specifications for a single quantum circuit.
properties:
item_type:
enum:
- samplex
default: samplex
description: The type of quantum program item.
title: Item Type
type: string
circuit:
$ref: '#/components/schemas/QpyModelV13ToV17'
samplex:
$ref: '#/components/schemas/SamplexModelSSV1ToSSV2'
samplex_arguments:
additionalProperties:
anyOf:
- type: boolean
- type: integer
- $ref: '#/components/schemas/PauliLindbladMapModel'
- $ref: '#/components/schemas/TensorModel'
description: Arguments to the samplex.
title: Samplex Arguments
type: object
shape:
description: 'The shape of this item.
This shape must extend (via broadcasting) the implicit shape of the :attr:~samplex_arguments`.
The non-trivial axes it introduces enumerate randomizations.'
items:
type: integer
title: Shape
type: array
chunk_size:
anyOf:
- minimum: 1
type: integer
- enum:
- auto
type: string
default: auto
description: 'The maximum number circuit arguments to bind to the circuit per shot loop.
When ``"auto"``, the number is chosen server-side with heuristics designed to optimize
execution speed. A quantum program must have items where either all chunk sizes are
integer-valued, or all chunk sizes are ``"auto"``. Integer values are only allowed inside of
session exection mode.'
title: Chunk Size
required:
- circuit
- samplex
- samplex_arguments
- shape
title: SamplexItemModel
type: object
F64TensorModel:
description: Model of tensor data specialized to f64.
properties:
data:
description: 'Base-64-encoded data in litte endian format.
Bool arrays are bitpacked, other types are IEEE753. Everything is little-endian.
Tensors are C-ordering.'
title: Data
type: string
shape:
description: The shape of the tensor.
items:
type: integer
title: Shape
type: array
dtype:
enum:
- f64
default: f64
title: Dtype
type: string
required:
- data
- shape
title: F64TensorModel
type: object
IBMCloudCOSRemoteStorageOption:
type: object
description: Remote storage metadata for where data is stored or to be stored in an IBM Cloud Object Storage bucket. Required fields may be omitted in field specific objected if allowed and defined in the default remote storage option.
properties:
type:
type: string
enum:
- ibmcloud_cos
default: ibmcloud_cos
region:
type: string
example: us-east
description: Region, Cross-Region, or Single Data Center as defined by IBM Cloud Object Storage (https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpoints)
pattern: ^[a-zA-Z-]+$
region_type:
type: string
enum:
- regional
- cross-region
- single-site
bucket_crn:
description: Fully specified CRN for the target Cloud Object Storage bucket
type: string
example: crn:v1:bluemix:public:cloud-object-storage:global:a/abc123:abc123:bucket:my-bucket
object_name:
description: Name/ID of the object in the IBM Cloud Object Storage bucket. May *not* be specified in the default remote storage option.
type: string
required:
- object_name
- bucket_crn
- region
- region_type
ItemMetadataModel:
description: Per-item metadata for quantum program results.
properties:
scheduler_timing:
$ref: '#/components/schemas/SchedulerTimingModel'
stretch_values:
items:
$ref: '#/components/schemas/StretchValueModel'
type: array
nullable: true
default: null
description: Stretch value resolution, if it is available.
title: Stretch Values
title: ItemMetadataModel
type: object
JobCost:
type: integer
format: int32
minimum: 0
maximum: 10800
description: Cost of the job as the estimated time it should take to complete (in seconds). Should not exceed the cost of the program. If the provided value exceeds the maximum, it will be capped at that value.
JobCreateResponse:
type: object
properties:
id:
type: string
description: Job ID
backend:
type: string
description: Backend selected to run job
session_id:
type: string
description: Id of the session associated with the job
private:
$ref: '#/components/schemas/Private'
calibration_id:
type: string
description: The ID of the calibration used for the job
pattern: ^.*$
minLength: 1
maxLength: 100
description: Response when creating a job
required:
- id
- backend
JobMetricsResponse:
title: JobMetrics
type: object
description: Various metrics about the execution of a job
properties:
caller:
type: string
description: This value is derived from the 'x-qx-client-application' request header and follows the format `qiskit//` that represents the client specified when present.
pattern: ^.*$
timestamps:
$ref: '#/components/schemas/Timestamps'
usage:
$ref: '#/components/schemas/UsageV3'
circuits_execution_time_ns:
type: number
description: The amount of time, in nanoseconds, the job spent on the QPU.
minimum: 0
qiskit_version:
$ref: '#/components/schemas/QiskitVersion'
JobResponseV3:
title: JobResponse
type: object
description: A job
properties:
id:
type: string
description: Identifier assigned to the job
pattern: ^[A-Za-z0-9_-]+$
backend:
type: string
description: '**Warning:** While this parameter is not currently required for requests, specifying it is strongly encouraged. Running an ISA circuit on a backend that has a different instruction set will result in an error. The backend parameter will be required in a future release.
The backend on which to run the program. If no backend is specified, the job is sent to the backend with the shortest queue that you have access to.
'
pattern: ^.*$
state:
$ref: '#/components/schemas/JobState'
status:
$ref: '#/components/schemas/JobStatus'
params:
$ref: '#/components/schemas/Params'
program:
$ref: '#/components/schemas/Program'
created:
type: string
description: UTC timestamp for when the job was created
format: date-time
pattern: ^[0-9TZt:\-+./*]+$
runtime:
type: string
description: Name and tag of the image to use when running a program (IBM Quantum channel users only)
cost:
$ref: '#/components/schemas/JobCost'
tags:
$ref: '#/components/schemas/Tags'
remote_storage:
$ref: '#/components/schemas/RemoteStorage'
session_id:
type: string
description: Identifier of the session that the job is a part of
user_id:
type: string
description: The id of the user submitted the job
usage:
$ref: '#/components/schemas/UsageV3'
private:
$ref: '#/components/schemas/Private'
estimated_running_time_seconds:
type: number
format: double
description: Estimated usage in seconds
calibration_id:
type: string
description: The ID of the calibration used for the job
required:
- id
- created
- program
- state
- status
- cost
JobResults:
description: Result output for all programs.
oneOf:
- $ref: '#/components/schemas/ExecutorV01QuantumProgramResultModel'
- $ref: '#/components/schemas/ExecutorV02QuantumProgramResultModel'
- $ref: '#/components/schemas/NoiseLearnerV3V01NoiseLearnerV3ResultsModel'
- $ref: '#/components/schemas/NoiseLearnerV3V02NoiseLearnerV3ResultsModel'
- type: string
description: Job final result.
title: LegacyJobResults
JobRunParams:
allOf:
- $ref: '#/components/schemas/JobRunParamsBase'
- properties:
params:
oneOf:
- $ref: '#/components/schemas/JobRunParamsSampler'
- $ref: '#/components/schemas/JobRunParamsEstimator'
- $ref: '#/components/schemas/JobRunParamsNoiseLearner'
- $ref: '#/components/schemas/ExecutorV01ParamsModel'
- $ref: '#/components/schemas/ExecutorV02ParamsModel'
- $ref: '#/components/schemas/NoiseLearnerV3V01ParamsModel'
- $ref: '#/components/schemas/NoiseLearnerV3V02ParamsModel'
private:
$ref: '#/components/schemas/Private'
JobRunParamsBase:
title: ProgramParams
type: object
description: Parameters used to run a job
properties:
program_id:
type: string
description: ID of the program to be executed
pattern: ^.*$
minLength: 1
maxLength: 10000
backend:
type: string
description: Name that identifies the backend on which to run the program.
pattern: ^.*$
minLength: 1
maxLength: 10000
runtime:
type: string
description: Name and tag of the image to use when running a program (IBM Quantum channel users only). Should follow the pattern "name:tag".
pattern: ^.*$
minLength: 1
maxLength: 10000
tags:
$ref: '#/components/schemas/Tags'
log_level:
type: string
description: Logging level of the program
enum:
- critical
- error
- warning
- info
- debug
cost:
$ref: '#/components/schemas/JobCost'
session_id:
type: string
description: Identifier of the session that the job is a part of
pattern: ^.*$
minLength: 1
maxLength: 36
calibration_id:
type: string
description: The ID of the calibration used for the job
pattern: ^.*$
minLength: 1
maxLength: 100
required:
- program_id
- backend
JobRunParamsChannelPartner:
allOf:
- $ref: '#/components/schemas/JobRunParamsBase'
- title: ProgramParamsChannelPartner
description: Program run params for Qiskit Runtime instances with the Channel Partner plan
properties:
remote_storage:
$ref: '#/components/schemas/RemoteStorage'
required:
- remote_storage
JobRunParamsEstimator:
title: EstimatorV2 input
description: The input for an EstimatorV2 API call
type: object
required:
- pubs
properties:
pubs:
type: array
description: Primitive Unit Blocs of data. Each PUB is of the form (Circuit, Observables, Parameters, Precision) where the circuit and observables are required, parameters should be passed only for parametrized circuits, and precision is optional
items:
type: array
minItems: 2
items: {}
x-prefixItems:
- description: The quantum circuit in QASM string or base64-encoded QPY format. See https://docs.quantum.ibm.com/api/qiskit/qpy for more details on QPY.
- description: One or more observables, which can be given as strings.
- description: The parameter values. The keys are the names of the parameters, and the values are the actual parameter values.
- description: The precision for this specific PUB
type:
- number
- 'null'
options:
type: object
description: Options for V2 Estimator
properties:
seed_estimator:
description: Seed used to control sampling
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
default_precision:
description: The default precision to use if a precision is not specified for a PUB or for this job.
type: number
exclusiveMinimum: true
minimum: 0
default_shots:
description: The total number of shots to use per circuit per configuration. If set, this value overrides default_precision.
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
dynamical_decoupling:
description: Suboptions for dynamical decoupling
type: object
properties:
enable:
description: Whether to enable dynamical decoupling.
type: boolean
sequence_type:
description: Which dynamical decoupling sequence to use
type: string
enum:
- XX
- XpXm
- XY4
extra_slack_distribution:
description: Where to put extra timing delays due to rounding issues
type: string
enum:
- middle
- edges
scheduling_method:
description: Whether to schedule gates as soon as ('asap') or as late as ('alap') possible
type: string
enum:
- alap
- asap
skip_reset_qubits:
description: Whether to insert DD on idle periods that immediately follow initialized/reset qubits.
type: boolean
resilience:
description: Advanced resilience options to fine tune the resilience strategy
type: object
properties:
measure_mitigation:
description: Whether to enable measurement error mitigation method
type: boolean
measure_noise_learning:
description: Additional measurement noise learning options
type: object
properties:
num_randomizations:
description: The number of random circuits to draw for the measurement learning experiment
type: integer
format: int32
minimum: 1
maximum: 2147483647
shots_per_randomization:
description: The number of shots to use for the learning experiment per random circuit.
oneOf:
- type: integer
format: int32
minimum: 1
maximum: 2147483647
- enum:
- auto
zne_mitigation:
description: Whether to turn on Zero Noise Extrapolation error mitigation method
type: boolean
zne:
description: Additional zero noise extrapolation mitigation options
type: object
properties:
noise_factors:
description: A list of floats representing noise factors to use for noise amplification
x-$comment: We do not specify a type so that can maintain support for NumPy inputs.
extrapolator:
description: Extrapolator(s) to try (in order) for extrapolating to zero noise
oneOf:
- type: array
items:
type: string
enum:
- linear
- exponential
- double_exponential
- polynomial_degree_1
- polynomial_degree_2
- polynomial_degree_3
- polynomial_degree_4
- polynomial_degree_5
- polynomial_degree_6
- polynomial_degree_7
- fallback
- type: string
enum:
- linear
- exponential
- double_exponential
- polynomial_degree_1
- polynomial_degree_2
- polynomial_degree_3
- polynomial_degree_4
- polynomial_degree_5
- polynomial_degree_6
- polynomial_degree_7
- fallback
amplifier:
description: Technique to use for amplifying noise.
type: string
enum:
- gate_folding
- gate_folding_front
- gate_folding_back
- pea
extrapolated_noise_factors:
description: A list of floats representing noise factors to evaluate the fit extrapolation models at, or the string 'auto' to set them based on the noise factors.
x-$comment: We do not specify a type so that can maintain support for NumPy inputs.
pec_mitigation:
description: Whether to turn on Probabilistic Error Cancellation error mitigation method
type: boolean
pec:
description: Additional probabilistic error cancellation mitigation options
type: object
properties:
max_overhead:
description: The maximum circuit sampling overhead allowed
oneOf:
- type: number
exclusiveMinimum: true
nullable: true
minimum: 0
noise_gain:
description: The amount by which to scale the noise
oneOf:
- type: number
minimum: 0
- enum:
- auto
layer_noise_learning:
description: Layer noise learning options
type: object
properties:
max_layers_to_learn:
description: The max number of unique layers to learn
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
shots_per_randomization:
description: The total number of shots to use per random learning circuit
type: integer
format: int32
minimum: 1
maximum: 2147483647
num_randomizations:
description: The number of random circuits to use per learning circuit configuration
type: integer
format: int32
minimum: 1
maximum: 2147483647
layer_pair_depths:
description: A list of integers representing the circuit depths (measured in number of pairs) to use in learning experiments
x-$comment: We do not specify a type so that can maintain support for NumPy inputs.
layer_noise_model:
description: A NoiseLearnerResult or a sequence of LayerError objects, or ``None`` to invoke a noise-learning stage when necessary.
x-$comment: We do not specify a type to accomodate inputs directly in the format of NoiseLearnerResult.
execution:
description: Execution options
type: object
properties:
init_qubits:
description: Whether to reset the qubits to the ground state for each shot
type: boolean
rep_delay:
description: The delay between a measurement and the subsequent quantum circuit
type: number
twirling:
description: Twirling options
type: object
properties:
enable_gates:
description: Whether to apply 2-qubit gate twirling
type: boolean
enable_measure:
description: Whether to apply measurement twirling
type: boolean
num_randomizations:
description: The number of random samples to use when twirling or performing sampled mitigation
oneOf:
- type: integer
format: int32
minimum: 1
maximum: 2147483647
- enum:
- auto
shots_per_randomization:
description: The number of shots to run for each random sample
oneOf:
- type: integer
format: int32
minimum: 1
maximum: 2147483647
- enum:
- auto
strategy:
description: The strategy of twirling qubits in identified layers of 2-qubit twirled gates
type: string
enum:
- active
- active-circuit
- active-accum
- all
simulator:
description: Simulator options
type: object
properties:
noise_model:
description: Noise model for the simulator.
type: object
nullable: true
seed_simulator:
description: Random seed to control sampling.
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
coupling_map:
description: Directed coupling map to target in mapping.
type: array
nullable: true
items: {}
basis_gates:
description: List of basis gate names to unroll to.
type: array
items:
type: string
nullable: true
additionalProperties: false
experimental:
description: Experimental options.
type: object
additionalProperties: false
resilience_level:
description: How much resilience to build against errors
type: integer
format: int32
minimum: 0
maximum: 2
precision:
description: Default precision level which applies to all PUBs without precision. This overrides default_precision and default_shots specified in options.
type: number
exclusiveMinimum: true
nullable: true
minimum: 0
support_qiskit:
description: If True, returns a qiskit-style output, meant to be parsed using the runtime result decoder, or resort to returning pure JSON results (resulting in larger objects)
type: boolean
version:
description: For EstimatorV2, version should always be 2
enum:
- 2
additionalProperties: false
x-version: 1.0.0
JobRunParamsNoiseLearner:
title: NoiseLearner input
description: The input for a NoiseLearner API call
type: object
required:
- circuits
properties:
circuits:
type: array
description: The circuits on which to perform noise learning.
items:
description: The quantum circuit in QASM string or base64-encoded QPY format. See https://docs.quantum.ibm.com/api/qiskit/qpy for more details on QPY.
not:
type: array
items: {}
minItems: 1
options:
type: object
description: NoiseLearner options
properties:
simulator:
description: Simulator options
type: object
properties:
noise_model:
description: Noise model for the simulator.
type: object
nullable: true
seed_simulator:
description: Random seed to control sampling.
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
coupling_map:
description: Directed coupling map to target in mapping.
type: array
nullable: true
items: {}
basis_gates:
description: List of basis gate names to unroll to.
type: array
items:
type: string
nullable: true
additionalProperties: false
max_layers_to_learn:
description: The max number of unique layers to learn
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
shots_per_randomization:
description: The total number of shots to use per random learning circuit
type: integer
format: int32
minimum: 1
maximum: 2147483647
num_randomizations:
description: The number of random circuits to use per learning circuit configuration
type: integer
format: int32
minimum: 1
maximum: 2147483647
layer_pair_depths:
description: The circuit depths (measured in number of pairs) to use in learning experiments
type: array
items:
type: integer
format: int32
minimum: 0
maximum: 2147483647
twirling_strategy:
description: The strategy of twirling qubits in identified layers of 2-qubit twirled gates
type: string
enum:
- active
- active-circuit
- active-accum
- all
experimental:
description: Experimental options.
type: object
support_qiskit:
description: If True, returns a Qiskit-style output, meant to be parsed using the runtime result decoder, or resort to returning pure JSON results (resulting in larger objects)
type: boolean
additionalProperties: false
version:
description: For NoiseLearner, should always be 2
enum:
- 2
additionalProperties: false
x-version: 1.0.0
JobRunParamsSampler:
title: SamplerV2 input
description: The input for an SamplerV2 API call
type: object
required:
- pubs
properties:
pubs:
type: array
description: Primitive Unit Blocs of data. Each PUB is of the form (Circuit, Parameters, Shots) where the circuit is required, parameters should be passed only for parametrized circuits, and shots is optional
items:
anyOf:
- type: array
minItems: 1
items: {}
x-prefixItems:
- description: The quantum circuit in QASM string or base64-encoded QPY format. See https://docs.quantum.ibm.com/api/qiskit/qpy for more details on QPY.
- description: A dictionary of the parameter values. The keys are the names of the parameters, and the values are the actual parameter values.
- description: The number of shots to use in this PUB
type:
- integer
- 'null'
- description: The quantum circuit in QASM string or base64-encoded QPY format. See https://docs.quantum.ibm.com/api/qiskit/qpy for more details on QPY.
not:
type: array
items: {}
options:
type: object
description: Options for V2 Sampler
properties:
default_shots:
description: The default number of shots to use if none are specified in the PUBs
type: integer
format: int32
minimum: 0
maximum: 2147483647
dynamical_decoupling:
description: Suboptions for dynamical decoupling
type: object
properties:
enable:
description: Whether to enable DD as specified by the other options in this class
type: boolean
sequence_type:
description: Which dynamical decoupling sequence to use
type: string
enum:
- XX
- XpXm
- XY4
extra_slack_distribution:
description: Where to put extra timing delays due to rounding issues
type: string
enum:
- middle
- edges
scheduling_method:
description: Whether to schedule gates as soon as ('asap') or as late as ('alap') possible
type: string
enum:
- alap
- asap
skip_reset_qubits:
description: Whether to insert DD on idle periods that immediately follow initialized/reset qubits.
type: boolean
execution:
description: Execution options
type: object
properties:
init_qubits:
description: Whether to reset the qubits to the ground state for each shot
type: boolean
rep_delay:
description: The delay between a measurement and the subsequent quantum circuit
type: number
meas_type:
description: How to process and return measurement results
enum:
- classified
- kerneled
- avg_kerneled
twirling:
description: Twirling options
type: object
properties:
enable_gates:
description: Whether to apply 2-qubit gate twirling
type: boolean
enable_measure:
description: Whether to apply measurement twirling
type: boolean
num_randomizations:
description: The number of random samples to use when twirling or performing sampled mitigation
oneOf:
- type: integer
format: int32
minimum: 1
maximum: 2147483647
- enum:
- auto
shots_per_randomization:
description: The number of shots to run for each random sample
oneOf:
- type: integer
format: int32
minimum: 1
maximum: 2147483647
- enum:
- auto
strategy:
description: The strategy of twirling qubits in identified layers of 2-qubit twirled gates
type: string
enum:
- active
- active-circuit
- active-accum
- all
simulator:
description: Simulator options
type: object
properties:
noise_model:
description: Noise model for the simulator.
type: object
nullable: true
seed_simulator:
description: Random seed to control sampling.
type: integer
format: int32
nullable: true
minimum: 0
maximum: 2147483647
coupling_map:
description: Directed coupling map to target in mapping.
type: array
nullable: true
items: {}
basis_gates:
description: List of basis gate names to unroll to.
type: array
items:
type: string
nullable: true
additionalProperties: false
experimental:
description: Experimental options.
type: object
additionalProperties: false
shots:
description: Default number of shots which applies to all PUBs without shots. This overrides default_shots specified in options.
type: integer
format: int32
minimum: 0
maximum: 2147483647
nullable: true
support_qiskit:
description: If True, returns a Qiskit-style output, meant to be parsed using the runtime result decoder, or resort to returning pure JSON results (resulting in larger objects)
type: boolean
version:
description: For SamplerV2, version should always be 2
enum:
- 2
additionalProperties: false
x-version: 1.0.0
JobState:
title: JobState
type: object
description: Current state of the job
properties:
status:
type: string
description: Current status of the job
enum:
- Queued
- Running
- Completed
- Cancelled
- Failed
reason:
type: string
description: Reason for the current status
reason_code:
type: integer
format: int32
minimum: 1000
maximum: 9999
description: Reason code for the current status
reason_solution:
type: string
description: Next steps user can take in case of failure
required:
- status
JobStatus:
title: JobStatus
type: string
description: Current status of the job
enum:
- Queued
- Running
- Completed
- Cancelled
- Cancelled - Ran too long
- Failed
JobsResponse:
title: JobsResponse
type: object
description: Jobs collection response
properties:
jobs:
description: A list of jobs
type: array
minItems: 0
maxItems: 2147483647
items:
$ref: '#/components/schemas/JobResponseV3'
count:
type: integer
format: int32
minimum: 0
maximum: 2147483647
description: Total number of jobs for the user
offset:
type: integer
format: int32
minimum: 0
maximum: 2147483647
description: Offset at which paginated results are returned
limit:
type: integer
format: int32
minimum: 1
maximum: 200
description: Maximum number of results returned in the paginated response
required:
- limit
- offset
- jobs
JsonValue: {}
ListTagsResponse:
type: object
properties:
tags:
$ref: '#/components/schemas/Tags'
NoiseLearnerV3V01LinbdbladResultMetadataModel:
description: The metadata of a single Lindblad result of a noise learner v3 job.
properties:
learning_protocol:
enum:
- lindblad
default: lindblad
description: The learning protocol used to obtain this result.
title: Learning Protocol
type: string
post_selection:
$ref: '#/components/schemas/NoiseLearnerV3V01LinbdbladResultPostSelectionMetadataModel'
required:
- post_selection
title: LinbdbladResultMetadataModel
type: object
NoiseLearnerV3V01LinbdbladResultPostSelectionMetadataModel:
description: The post selection metadata of a single Linbdblad result of a noise learner v3 job.
properties:
fraction_kept:
additionalProperties:
maximum: 1
minimum: 0
type: number
description: The fraction of shots kept for each layer pair depth.
title: Fraction Kept
type: object
required:
- fraction_kept
title: LinbdbladResultPostSelectionMetadataModel
type: object
NoiseLearnerV3V01NoiseLearnerV3ResultModel:
description: Results for a single noise learner V3 item.
properties:
generators_sparse:
description: A representation of the generators in sparse format ``[string, array(int)]``.
items:
items:
maxItems: 2
minItems: 2
type: array
type: array
title: Generators Sparse
type: array
num_qubits:
description: The number of qubits that the generators act on.
title: Num Qubits
type: integer
rates:
$ref: '#/components/schemas/F64TensorModel'
rates_std:
$ref: '#/components/schemas/F64TensorModel'
metadata:
description: Execution metadata pertaining to a single result.
discriminator:
mapping:
lindblad: '#/components/schemas/NoiseLearnerV3V01LinbdbladResultMetadataModel'
trex: '#/components/schemas/NoiseLearnerV3V01TREXResultMetadataModel'
propertyName: learning_protocol
oneOf:
- $ref: '#/components/schemas/NoiseLearnerV3V01TREXResultMetadataModel'
- $ref: '#/components/schemas/NoiseLearnerV3V01LinbdbladResultMetadataModel'
title: Metadata
required:
- generators_sparse
- num_qubits
- rates
- rates_std
- metadata
title: NoiseLearnerV3ResultModel
type: object
NoiseLearnerV3V01NoiseLearnerV3ResultsModel:
description: Result from executing a noise learner v3 job.
properties:
schema_version:
enum:
- v0.1
default: v0.1
description: Schema version of the result type.
title: Schema Version
type: string
data:
description: Resulting data for each item.
items:
$ref: '#/components/schemas/NoiseLearnerV3V01NoiseLearnerV3ResultModel'
title: Data
type: array
required:
- data
title: NoiseLearnerV3 v0.1 NoiseLearnerV3ResultsModel
type: object
NoiseLearnerV3V01OptionsModel:
description: Runtime options with all fields set.
properties:
shots_per_randomization:
default: 128
description: The total number of shots to use per randomized learning circuit.
title: Shots Per Randomization
type: integer
num_randomizations:
default: 32
description: The number of random circuits to use per learning circuit configuration.
title: Num Randomizations
type: integer
layer_pair_depths:
default:
- 0
- 1
- 2
- 4
- 16
- 32
description: The circuit depths (measured in number of pairs) to use in Pauli Lindblad experiments.
items:
type: integer
title: Layer Pair Depths
type: array
post_selection:
$ref: '#/components/schemas/PostSelectionOptionsModel'
title: OptionsModel
type: object
NoiseLearnerV3V01ParamsModel:
description: Schema version 1 of the inner parameters.
properties:
schema_version:
enum:
- v0.1
default: v0.1
title: Schema Version
type: string
instructions:
$ref: '#/components/schemas/QpyModelV13ToV16'
options:
$ref: '#/components/schemas/NoiseLearnerV3V01OptionsModel'
required:
- instructions
- options
title: NoiseLearnerV3 v0.1 input
type: object
NoiseLearnerV3V01TREXResultMetadataModel:
description: The metadata of a single TREX result of a noise learner v3 job.
properties:
learning_protocol:
enum:
- trex
default: trex
description: The learning protocol used to obtain this result.
title: Learning Protocol
type: string
post_selection:
$ref: '#/components/schemas/NoiseLearnerV3V01TREXResultPostSelectionMetadataModel'
required:
- post_selection
title: TREXResultMetadataModel
type: object
NoiseLearnerV3V01TREXResultPostSelectionMetadataModel:
description: The post selection metadata of a single TREX result of a noise learner v3 job.
properties:
fraction_kept:
description: The fraction of shots kept.
maximum: 1
minimum: 0
title: Fraction Kept
type: number
required:
- fraction_kept
title: TREXResultPostSelectionMetadataModel
type: object
NoiseLearnerV3V02LinbdbladResultMetadataModel:
description: The metadata of a single Lindblad result of a noise learner v3 job.
properties:
learning_protocol:
enum:
- lindblad
default: lindblad
description: The learning protocol used to obtain this result.
title: Learning Protocol
type: string
post_selection:
$ref: '#/components/schemas/NoiseLearnerV3V02LinbdbladResultPostSelectionMetadataModel'
required:
- post_selection
title: LinbdbladResultMetadataModel
type: object
NoiseLearnerV3V02LinbdbladResultPostSelectionMetadataModel:
description: The post selection metadata of a single Linbdblad result of a noise learner v3 job.
properties:
fraction_kept:
additionalProperties:
maximum: 1
minimum: 0
type: number
description: The fraction of shots kept for each layer pair depth.
title: Fraction Kept
type: object
success_rates:
additionalProperties:
additionalProperties:
maximum: 1
minimum: 0
type: number
type: object
description: 'The fraction of shots in which post selection successfully flipped each qubit, for
each layer pair depth.'
title: Success Rates
type: object
required:
- fraction_kept
- success_rates
title: LinbdbladResultPostSelectionMetadataModel
type: object
NoiseLearnerV3V02NoiseLearnerV3ResultModel:
description: Results for a single noise learner V3 item.
properties:
generators_sparse:
description: A representation of the generators in sparse format ``[string, array(int)]``.
items:
items:
maxItems: 2
minItems: 2
type: array
type: array
title: Generators Sparse
type: array
num_qubits:
description: The number of qubits that the generators act on.
title: Num Qubits
type: integer
rates:
$ref: '#/components/schemas/F64TensorModel'
rates_std:
$ref: '#/components/schemas/F64TensorModel'
metadata:
description: Execution metadata pertaining to a single result.
discriminator:
mapping:
lindblad: '#/components/schemas/NoiseLearnerV3V02LinbdbladResultMetadataModel'
trex: '#/components/schemas/NoiseLearnerV3V02TREXResultMetadataModel'
propertyName: learning_protocol
oneOf:
- $ref: '#/components/schemas/NoiseLearnerV3V02TREXResultMetadataModel'
- $ref: '#/components/schemas/NoiseLearnerV3V02LinbdbladResultMetadataModel'
title: Metadata
required:
- generators_sparse
- num_qubits
- rates
- rates_std
- metadata
title: NoiseLearnerV3ResultModel
type: object
NoiseLearnerV3V02NoiseLearnerV3ResultsModel:
description: Result from executing a noise learner v3 job.
properties:
schema_version:
enum:
- v0.2
default: v0.2
description: Schema version of the result type.
title: Schema Version
type: string
data:
description: Resulting data for each item.
items:
$ref: '#/components/schemas/NoiseLearnerV3V02NoiseLearnerV3ResultModel'
title: Data
type: array
required:
- data
title: NoiseLearnerV3 v0.2 NoiseLearnerV3ResultsModel
type: object
NoiseLearnerV3V02OptionsModel:
description: Runtime options with all fields set.
properties:
shots_per_randomization:
default: 128
description: The total number of shots to use per randomized learning circuit.
title: Shots Per Randomization
type: integer
num_randomizations:
default: 32
description: The number of random circuits to use per learning circuit configuration.
title: Num Randomizations
type: integer
layer_pair_depths:
default:
- 0
- 1
- 2
- 4
- 16
- 32
description: The circuit depths (measured in number of pairs) to use in Pauli Lindblad experiments.
items:
type: integer
title: Layer Pair Depths
type: array
post_selection:
$ref: '#/components/schemas/PostSelectionOptionsModel'
init_qubits:
default: true
description: Whether to reset the qubits to the ground state for each shot.
title: Init Qubits
type: boolean
rep_delay:
type: number
nullable: true
default: null
description: 'The repetition delay.
This is the delay between the end of one circuit and the start of the next within a shot loop.
This is only supported on backends that have ``backend.dynamic_reprate_enabled=True``. It must
be from the range supplied by ``backend.rep_delay_range``. When this value is ``None``, the
default value ``backend.default_rep_delay`` is used.'
title: Rep Delay
title: OptionsModel
type: object
NoiseLearnerV3V02ParamsModel:
description: Schema version 1 of the inner parameters.
properties:
schema_version:
enum:
- v0.2
default: v0.2
title: Schema Version
type: string
instructions:
$ref: '#/components/schemas/QpyModelV13ToV17'
options:
$ref: '#/components/schemas/NoiseLearnerV3V02OptionsModel'
required:
- instructions
- options
title: NoiseLearnerV3 v0.2 input
type: object
NoiseLearnerV3V02TREXResultMetadataModel:
description: The metadata of a single TREX result of a noise learner v3 job.
properties:
learning_protocol:
enum:
- trex
default: trex
description: The learning protocol used to obtain this result.
title: Learning Protocol
type: string
post_selection:
$ref: '#/components/schemas/NoiseLearnerV3V02TREXResultPostSelectionMetadataModel'
required:
- post_selection
title: TREXResultMetadataModel
type: object
NoiseLearnerV3V02TREXResultPostSelectionMetadataModel:
description: The post selection metadata of a single TREX result of a noise learner v3 job.
properties:
fraction_kept:
description: The fraction of shots kept.
maximum: 1
minimum: 0
title: Fraction Kept
type: number
success_rates:
additionalProperties:
maximum: 1
minimum: 0
type: number
description: The fraction of shots in which post selection successfully flipped each qubit.
title: Success Rates
type: object
required:
- fraction_kept
- success_rates
title: TREXResultPostSelectionMetadataModel
type: object
Params:
type: object
additionalProperties: true
description: Parameters used to execute the job
PauliLindbladMapModel:
description: Encoding of a sparse Pauli Lindblad map.
properties:
sparse_terms:
description: The Pauli Lindblad terms in the sparse form ``(pauli_string [string], qubit_idxs [array of integers], rate [number])``.
items:
maxItems: 3
minItems: 3
type: array
title: Sparse Terms
type: array
num_qubits:
description: The total number of qubits the map applies to.
minimum: 0
title: Num Qubits
type: integer
required:
- sparse_terms
- num_qubits
title: PauliLindbladMapModel
type: object
PostSelectionOptionsModel:
description: Runtime options for post selection.
properties:
enable:
default: false
description: 'Whether to enable Post Selection when performing learning experiments.
If ``False``, all the other Post Selection options are ignored.'
title: Enable
type: boolean
x_pulse_type:
default: xslow
description: The type of the X-pulse used for the post selection measurements.
enum:
- xslow
- rx
title: X Pulse Type
type: string
strategy:
default: node
description: The strategy used to decide if a shot should be kept or discarded.
enum:
- node
- edge
title: Strategy
type: string
title: PostSelectionOptionsModel
type: object
Private:
type: boolean
description: When set to true, input parameters are not returned, and the results can only be read once. After the job is completed, input parameters are deleted from the service. After the results are read, they are deleted from the service. When set to false, the input parameters and results follow the standard retention behavior of the API. Only returned in the response if the value is true, otherwise it is omitted.
Program:
type: object
description: Program associated with the job
properties:
id:
type: string
description: Identifier from the executed program
pattern: ^.*$
minLength: 1
maxLength: 1000000
required:
- id
QiskitVersion:
type: string
description: Qiskit version used during execution of the job
pattern: ^v?(\d+(\.\d+)*|\.\d+(\.\d+)*)$
maxLength: 100
QpyModelV13ToV16:
description: QPY encoded circuits with restricted version range.
properties:
circuit_b64:
description: Base-64 encoded data of the QPY serialization of a single quantum circuit.
title: Circuit B64
type: string
qpy_version:
maximum: 16
minimum: 13
title: Qpy Version
type: integer
required:
- circuit_b64
- qpy_version
title: QpyModelV13ToV16
type: object
QpyModelV13ToV17:
description: QPY encoded circuits with restricted version range.
properties:
circuit_b64:
description: Base-64 encoded data of the QPY serialization of a single quantum circuit.
title: Circuit B64
type: string
qpy_version:
maximum: 17
minimum: 13
title: Qpy Version
type: integer
required:
- circuit_b64
- qpy_version
title: QpyModelV13ToV17
type: object
RemoteStorage:
allOf:
- allOf:
- $ref: '#/components/schemas/RemoteStorageOption'
- description: Default remote storage option for where input data is stored and where output data should be stored
- title: RemoteStorage
description: "(Only enabled for Qiskit Runtime instances with the Channel Partner plan) Metadata and connection information on where job params are stored remotely\nand/or where to store results, logs, transpiled circuits, etc. Omitted properties\nin field specific objects will be inherited from the default remote storage option.\nAs an example, the following two objects are equivalent:\n\n```\n{\n \"type\": \"ibmcloud_cos\",\n \"region\": \"us-east\",\n \"region_type\": \"regional\",\n \"bucket_crn\": \"crn\",\n \"job_params\": {\n \"object_name\": \"my-object\"\n }\n}\n```\n\n```\n{\n \"type\": \"ibmcloud_cos\",\n \"region\": \"us-east\",\n \"region_type\": \"regional\",\n \"bucket_crn\": \"crn\",\n \"job_params\": {\n \"type\": \"ibmcloud_cos\",\n \"region\": \"us-east\",\n \"region_type\": \"regional\",\n \"bucket_crn\": \"crn\",\n \"object_name\": \"my-object\"\n }\n}\n```\n"
properties:
job_params:
allOf:
- $ref: '#/components/schemas/RemoteStorageOption'
- description: Location for where user supplied job params (omitted properties will will be inherited from default remote storage option)
results:
allOf:
- $ref: '#/components/schemas/RemoteStorageOption'
- description: Location for where job results will be stored (omitted properties will will be inherited from default remote storage option)
logs:
allOf:
- $ref: '#/components/schemas/RemoteStorageOption'
- description: Location for where job logs will be stored (omitted properties will will be inherited from default remote storage option)
required:
- job_params
- results
RemoteStorageOption:
oneOf:
- $ref: '#/components/schemas/IBMCloudCOSRemoteStorageOption'
discriminator:
propertyName: type
SamplexModelSSV1:
description: A samplex model constrained to use samplex serialization version (SSV) 1.
properties:
ssv:
maximum: 1
minimum: 1
title: Ssv
type: integer
samplex_json:
description: A JSON string representing the samplex.
title: Samplex Json
type: string
required:
- ssv
- samplex_json
title: SamplexModelSSV1
type: object
SamplexModelSSV1ToSSV2:
description: A samplex model constrained to use samplex serialization versions (SSV) 1 or 2.
properties:
ssv:
maximum: 2
minimum: 1
title: Ssv
type: integer
samplex_json:
description: A JSON string representing the samplex.
title: Samplex Json
type: string
required:
- ssv
- samplex_json
title: SamplexModelSSV1ToSSV2
type: object
SchedulerTimingModel:
description: 'Describes the timing of a scheduled circuit.
All timing information is expressed in terms of multiples of the quantity ``dt``, time step
duration of the control electronics, which can be queried in backend and target properties.'
properties:
timing:
description: A description of circuit timing in a comma-separated text format.
title: Timing
type: string
circuit_duration:
description: The duration of the circuit in ``dt`` steps.
title: Circuit Duration
type: integer
required:
- timing
- circuit_duration
title: SchedulerTimingModel
type: object
StretchValueModel:
description: 'Describes circuit stretch value resolutions.
All timing information is expressed in terms of multiples of the quantity ``dt``, time step
duration of the control electronics, which can be queried in backend and target properties.'
properties:
name:
description: The name of the stretch.
title: Name
type: string
value:
description: The resolved stretch value, up to the remainder, in units of ``dt``.
title: Value
type: integer
remainder:
description: The time left over if ``value`` were to be used each stretch, in units of ``dt``.
title: Remainder
type: integer
expanded_values:
description: 'A sequence of pairs ``(time [int], duration [int])`` indicating the time and duration of each delay.
All units are ``dt``, where the ``time`` denotes the absolute time of a delay in the circuit
schedule, and the ``duration`` denotes the total duration of the delay.'
items:
maxItems: 2
minItems: 2
type: array
title: Expanded Values
type: array
required:
- name
- value
- remainder
- expanded_values
title: StretchValueModel
type: object
Tags:
title: Tags
description: List of job or program tags
type: array
minItems: 0
maxItems: 8
items:
type: string
pattern: ^.*$
minLength: 0
maxLength: 86
TensorModel:
description: Model of tensor data.
properties:
data:
description: 'Base-64-encoded data in litte endian format.
Bool arrays are bitpacked, other types are IEEE753. Everything is little-endian.
Tensors are C-ordering.'
title: Data
type: string
shape:
description: The shape of the tensor.
items:
type: integer
title: Shape
type: array
dtype:
description: The data type of the tensor.
enum:
- f64
- bool
- u8
- c128
title: Dtype
type: string
required:
- data
- shape
- dtype
title: TensorModel
type: object
Timestamps:
type: object
description: A map of status transitions to timestamps
properties:
created:
pattern: ^[0-9TZt:\-+./*]+$
format: date-time
type: string
description: Timestamp of when the job create request was received
finished:
pattern: ^[0-9TZt:\-+./*]+$
format: date-time
type: string
description: Timestamp of when the job finished
running:
pattern: ^[0-9TZt:\-+./*]+$
format: date-time
type: string
description: Timestamp of when the job started running
UsageV3:
title: usage
description: usage metrics
type: object
properties:
qpu_charge_time_seconds:
type: number
description: The amount of resource usage in seconds. This value is used to calculate capacity consumption.
minimum: 0
status:
$ref: '#/components/schemas/BillingStatus'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: IBM Cloud IAM bearer token
ServiceCRN:
type: apiKey
in: header
name: Service-CRN
description: IBM Cloud Service CRN identifying the Qiskit Runtime instance
ApiVersion:
type: apiKey
in: header
name: IBM-API-Version
description: API version, e.g. 2026-03-15
security:
- BearerAuth: []
ServiceCRN: []
ApiVersion: []