Jobs
Run a job
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.
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.job.create
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.create
Input
Name, Type | Description |
|---|---|
program_id string | ID of the program to be executed |
backend string | Name that identifies the backend on which to run the program. |
runtime string | Name and tag of the image to use when running a program (IBM Quantum channel users only). Should follow the pattern "name:tag". |
tags string[] | List of job or program tags |
log_level string | Logging level of the program Possible values: criticalerrorwarninginfodebug |
cost integer | 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. Minimum value: 0Maximum value: 10800 |
session_id string | Identifier of the session that the job is a part of |
calibration_id string | The ID of the calibration used for the job |
params | |
private boolean | 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. |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs
curl -X POST \
'https://quantum.cloud.ibm.com/api/v1/jobs' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs
import requests
response = requests.request(
"POST",
"https://quantum.cloud.ibm.com/api/v1/jobs",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Usage exceeds instance limit |
{
"id": "c5dge2d3rn7breq27i9g",
"backend": "ibm_backend",
"private": true
}{
"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": {
"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."
},
"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"
]
}List jobs
List the quantum program jobs you have run.
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.job.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.read
Input
Name, Type | Description |
|---|---|
limit integer | 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. Default value: 200Minimum value: 1Maximum value: 200 |
offset integer | 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. Default value: 0Minimum value: 0Maximum value: 2147483647 |
pending boolean | Returns 'Queued' and 'Running' jobs if true. Returns 'Completed', 'Cancelled', and 'Failed' jobs if false. |
program string | Program ID to filter jobs |
backend string | Backend to filter jobs |
created_after string | Job created after filter |
created_before string | Job created before filter |
sort string | Sort jobs by created time ASC or DESC (default) |
tags string[] | Tags to filter jobs |
session_id string | Session ID to filter jobs |
exclude_params boolean | Exclude job params from the response Default value: true |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs
curl -X GET \
'https://quantum.cloud.ibm.com/api/v1/jobs' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs
import requests
response = requests.request(
"GET",
"https://quantum.cloud.ibm.com/api/v1/jobs",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
{
"jobs": [
{
"id": "c5dge2d3rn7breq27i9g",
"backend": "ibmq_qasm_simulator",
"cost": 0,
"state": {
"status": "Completed",
"reason": ""
},
"status": "Completed",
"params": {
"iterations": 3
},
"program": {
"id": "myprogram-abcdef12345"
},
"created": "2021-10-04T13:52:09.456851Z",
"runtime": "ntc-provider-primitives:latest",
"tags": [
"tag1",
"tag2",
"tag3",
"tag4"
],
"session_id": "c5dge2d3rn7breq27i9g",
"usage": {
"circuits_execution_time_ns": 2,
"qpu_charge_time_seconds": 20
},
"private": true,
"estimated_running_time_seconds": 30.5,
"calibration_id": "fez-ac-tls-test"
},
{
"id": "c2gfe1m3ln7breq27i6e",
"backend": "ibmq_qasm_simulator",
"cost": 0,
"state": {
"status": "Completed",
"reason": ""
},
"status": "Completed",
"params": {
"iterations": 3
},
"program": {
"id": "myprogram-abcdef12345"
},
"created": "2021-10-05T13:52:09.456851Z",
"runtime": "ntc-provider-primitives:latest",
"tags": [
"tag1",
"tag2",
"tag3",
"tag4"
],
"session_id": "c1mre2f3pn9breq18i4g"
}
],
"count": 2,
"limit": 2,
"offset": 0
}{
"title": "JobsResponse",
"type": "object",
"description": "Jobs collection response",
"properties": {
"jobs": {
"description": "A list of jobs",
"type": "array",
"minItems": 0,
"maxItems": 2147483647,
"items": {
"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.\n\nThe 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.\n",
"pattern": "^.*$"
},
"state": {
"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"
]
},
"status": {
"title": "JobStatus",
"type": "string",
"description": "Current status of the job",
"enum": [
"Queued",
"Running",
"Completed",
"Cancelled",
"Cancelled - Ran too long",
"Failed"
]
},
"params": {
"type": "object",
"additionalProperties": true,
"description": "Parameters used to execute the job"
},
"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"
]
},
"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": {
"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."
},
"tags": {
"title": "Tags",
"description": "List of job or program tags",
"type": "array",
"minItems": 0,
"maxItems": 8,
"items": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 86
}
},
"remote_storage": {
"allOf": [
{
"allOf": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"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": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"description": "Location for where user supplied job params (omitted properties will will be inherited from default remote storage option)"
}
]
},
"results": {
"allOf": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"description": "Location for where job results will be stored (omitted properties will will be inherited from default remote storage option)"
}
]
},
"logs": {
"allOf": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"description": "Location for where job logs will be stored (omitted properties will will be inherited from default remote storage option)"
}
]
}
},
"required": [
"job_params",
"results"
]
}
]
},
"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": {
"title": "usage",
"description": "usage metrics",
"type": "object",
"properties": {
"circuits_execution_time_ns": {
"type": "number",
"description": "The amount of time, in nanoseconds, the job spent on the QPU.",
"minimum": 0
},
"qpu_charge_time_seconds": {
"type": "number",
"description": "The amount of resource usage in seconds. This value is used to calculate capacity consumption.",
"minimum": 0
}
}
},
"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."
},
"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"
]
}
},
"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"
]
}List job details
List the details about the specified quantum program job.
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.job.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.read
Input
Name, Type | Description |
|---|---|
id Required string | Identifier of an existing job |
Name, Type | Description |
|---|---|
exclude_params boolean | Exclude job params from the response Default value: false |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}
curl -X GET \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}
import requests
response = requests.request(
"GET",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
{
"id": "c5dge2d3rn7breq27i9g",
"backend": "ibmq_qasm_simulator",
"cost": 0,
"state": {
"status": "Completed",
"reason": ""
},
"status": "Completed",
"params": {
"iterations": 3
},
"program": {
"id": "myprogram-abcdef12345"
},
"created": "2021-10-04T13:52:09.456851Z",
"runtime": "ntc-provider-primitives:latest",
"tags": [
"tag1",
"tag2",
"tag3",
"tag4"
],
"session_id": "c5dge2d3rn7breq27i9g",
"private": true,
"estimated_running_time_seconds": 30.5,
"calibration_id": "fez-ac-tls-test"
}{
"title": "JobResponse",
"type": "object",
"description": "A job",
"properties": {
"id": {
"type": "string",
"description": "Identifier assigned to the job"
},
"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.\n\nThe 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.\n",
"pattern": "^.*$"
},
"state": {
"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"
]
},
"status": {
"title": "JobStatus",
"type": "string",
"description": "Current status of the job",
"enum": [
"Queued",
"Running",
"Completed",
"Cancelled",
"Cancelled - Ran too long",
"Failed"
]
},
"params": {
"type": "object",
"additionalProperties": true,
"description": "Parameters used to execute the job"
},
"program": {
"type": "object",
"description": "Program associated with the job",
"properties": {
"id": {
"type": "string",
"description": "Identifier from the executed program"
}
},
"required": [
"id"
]
},
"created": {
"type": "string",
"description": "UTC timestamp for when the job was created"
},
"runtime": {
"type": "string",
"description": "Name and tag of the image to use when running a program (IBM Quantum channel users only)"
},
"cost": {
"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."
},
"tags": {
"title": "Tags",
"description": "List of job or program tags",
"type": "array",
"minItems": 0,
"maxItems": 8,
"items": {
"type": "string",
"pattern": "^.*$",
"minLength": 0,
"maxLength": 86
}
},
"remote_storage": {
"allOf": [
{
"allOf": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"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": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"description": "Location for where user supplied job params (omitted properties will will be inherited from default remote storage option)"
}
]
},
"results": {
"allOf": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"description": "Location for where job results will be stored (omitted properties will will be inherited from default remote storage option)"
}
]
},
"logs": {
"allOf": [
{
"oneOf": [
{
"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 <a href=\"https://cloud.ibm.com/docs/account?topic=account-crn\">CRN</a> 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"
]
}
],
"discriminator": {
"propertyName": "type"
}
},
{
"description": "Location for where job logs will be stored (omitted properties will will be inherited from default remote storage option)"
}
]
}
},
"required": [
"job_params",
"results"
]
}
]
},
"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"
},
"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."
},
"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"
]
}Delete a job
Delete the specified job and its associated data. Job must be in a terminal state.
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.job.delete
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.delete
Input
Name, Type | Description |
|---|---|
id Required string | Identifier of an existing job |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}
curl -X DELETE \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}
import requests
response = requests.request(
"DELETE",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 204 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Internal error deleting job |
Cancel a job
Cancels the specified job.
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.job.cancel
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.cancel
Input
Name, Type | Description |
|---|---|
id Required string | A job ID |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/cancel
curl -X POST \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}/cancel' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/cancel
import requests
response = requests.request(
"POST",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}/cancel",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 204 | OK |
| 400 | Bad cancel request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Job is in non cancellable status. |
| 500 | Internal error cancelling job |
List job logs
List all job logs for the specified job.
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.job.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.read
Input
Name, Type | Description |
|---|---|
id Required string | A job ID |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/logs
curl -X GET \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}/logs' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/logs
import requests
response = requests.request(
"GET",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}/logs",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | Returns job logs. |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not found |
Get job metrics
Gets metrics of specified job
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.job.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.read
Input
Name, Type | Description |
|---|---|
id Required string | A job ID |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/metrics
curl -X GET \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}/metrics' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/metrics
import requests
response = requests.request(
"GET",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}/metrics",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | OK |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
{
"timestamps": {
"created": "2026-03-06T14:02:11Z",
"running": "2026-03-06T14:02:18Z",
"finished": "2026-03-06T14:05:47Z"
},
"usage": {
"circuits_execution_time_ns": 20000000,
"qpu_charge_time_seconds": 20
},
"qiskit_version": "2.3.0"
}{
"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/<version>/<optional-client>` that represents the client specified when present.",
"pattern": "^.*$"
},
"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"
}
}
},
"usage": {
"title": "usage",
"description": "usage metrics",
"type": "object",
"properties": {
"circuits_execution_time_ns": {
"type": "number",
"description": "The amount of time, in nanoseconds, the job spent on the QPU.",
"minimum": 0
},
"qpu_charge_time_seconds": {
"type": "number",
"description": "The amount of resource usage in seconds. This value is used to calculate capacity consumption.",
"minimum": 0
}
}
},
"qiskit_version": {
"type": "string",
"description": "Qiskit version used during execution of the job",
"pattern": "^v?(\\d+(\\.\\d+)*|\\.\\d+(\\.\\d+)*)$",
"maxLength": 100
}
}
}List job results
Return the final result from this job.
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.job.read
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.read
Input
Name, Type | Description |
|---|---|
id Required string | A job ID |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/results
curl -X GET \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}/results' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/results
import requests
response = requests.request(
"GET",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}/results",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN"
},
)
print(response.json())Output
Status code | Description |
|---|---|
| 200 | Returns the job's final result. |
| 204 | Job's final result not found. |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
{
"schema_version": "v0.1",
"data": [
{
"results": {},
"metadata": null
}
],
"metadata": {
"chunk_timing": [
{
"start": "example",
"stop": "example",
"parts": [
{
"idx_item": 1,
"size": 1
}
]
}
]
}
}{
"description": "Result output for all programs.",
"oneOf": [
{
"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": {
"description": "Results for a single quantum program item.",
"properties": {
"results": {
"additionalProperties": {
"description": "Model of tensor data.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
"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"
},
"title": "Data",
"type": "array"
},
"metadata": {
"description": "Execution metadata.",
"properties": {
"chunk_timing": {
"description": "Timing information about all executed chunks of a quantum program.",
"items": {
"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": {
"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.\n\nFor example, if a quantum program item has shape ``(10, 5)``, then it has a total of ``50``\nelements, 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"
},
"title": "Parts",
"type": "array"
}
},
"required": [
"start",
"stop",
"parts"
],
"title": "ChunkSpan",
"type": "object"
},
"title": "Chunk Timing",
"type": "array"
}
},
"required": [
"chunk_timing"
],
"title": "MetadataModel",
"type": "object"
}
},
"required": [
"data",
"metadata"
],
"title": "ExecutorV01QuantumProgramResultModel",
"type": "object"
},
{
"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": {
"description": "Results for a single quantum program item.",
"properties": {
"results": {
"additionalProperties": {
"description": "Model of tensor data.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
"description": "A map from results to their tensor values.",
"title": "Results",
"type": "object"
},
"metadata": {
"description": "Per-item metadata for quantum program results.",
"properties": {
"scheduler_timing": {
"description": "Describes the timing of a scheduled circuit.\n\nAll timing information is expressed in terms of multiples of the quantity ``dt``, time step\nduration 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"
},
"stretch_values": {
"items": {
"description": "Describes circuit stretch value resolutions.\n\nAll timing information is expressed in terms of multiples of the quantity ``dt``, time step\nduration 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.\n\nAll units are ``dt``, where the ``time`` denotes the absolute time of a delay in the circuit\nschedule, 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"
},
"type": "array",
"nullable": true,
"default": null,
"description": "Stretch value resolution, if it is available.",
"title": "Stretch Values"
}
},
"title": "ItemMetadataModel",
"type": "object"
}
},
"required": [
"results",
"metadata"
],
"title": "QuantumProgramResultItemModel",
"type": "object"
},
"title": "Data",
"type": "array"
},
"metadata": {
"description": "Execution metadata.",
"properties": {
"chunk_timing": {
"description": "Timing information about all executed chunks of a quantum program.",
"items": {
"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": {
"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.\n\nFor example, if a quantum program item has shape ``(10, 5)``, then it has a total of ``50``\nelements, 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"
},
"title": "Parts",
"type": "array"
}
},
"required": [
"start",
"stop",
"parts"
],
"title": "ChunkSpan",
"type": "object"
},
"title": "Chunk Timing",
"type": "array"
}
},
"required": [
"chunk_timing"
],
"title": "MetadataModel",
"type": "object"
},
"passthrough_data": {
"nullable": true,
"anyOf": [
{
"items": "<Circular reference>",
"type": "array"
},
{
"description": "Model of tensor data.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
{
"additionalProperties": "<Circular reference>",
"type": "object"
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "integer"
},
{
"type": "boolean"
}
]
}
},
"required": [
"data",
"metadata"
],
"title": "ExecutorV02QuantumProgramResultModel",
"type": "object"
},
{
"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": {
"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": {
"description": "Model of tensor data specialized to f64.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
"rates_std": {
"description": "Model of tensor data specialized to f64.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
"metadata": {
"description": "Execution metadata pertaining to a single result.",
"discriminator": {
"mapping": {
"lindblad": "#/components/schemas/NoiseLearnerV3V01LinbdbladResultMetadataModel",
"trex": "#/components/schemas/NoiseLearnerV3V01TREXResultMetadataModel"
},
"propertyName": "learning_protocol"
},
"oneOf": [
{
"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": {
"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"
}
},
"required": [
"post_selection"
],
"title": "TREXResultMetadataModel",
"type": "object"
},
{
"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": {
"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"
}
},
"required": [
"post_selection"
],
"title": "LinbdbladResultMetadataModel",
"type": "object"
}
],
"title": "Metadata"
}
},
"required": [
"generators_sparse",
"num_qubits",
"rates",
"rates_std",
"metadata"
],
"title": "NoiseLearnerV3ResultModel",
"type": "object"
},
"title": "Data",
"type": "array"
}
},
"required": [
"data"
],
"title": "NoiseLearnerV3 v0.1 NoiseLearnerV3ResultsModel",
"type": "object"
},
{
"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": {
"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": {
"description": "Model of tensor data specialized to f64.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
"rates_std": {
"description": "Model of tensor data specialized to f64.",
"properties": {
"data": {
"description": "Base-64-encoded data in litte endian format.\n\nBool arrays are bitpacked, other types are IEEE753. Everything is little-endian.\nTensors 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"
},
"metadata": {
"description": "Execution metadata pertaining to a single result.",
"discriminator": {
"mapping": {
"lindblad": "#/components/schemas/NoiseLearnerV3V02LinbdbladResultMetadataModel",
"trex": "#/components/schemas/NoiseLearnerV3V02TREXResultMetadataModel"
},
"propertyName": "learning_protocol"
},
"oneOf": [
{
"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": {
"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"
}
},
"required": [
"post_selection"
],
"title": "TREXResultMetadataModel",
"type": "object"
},
{
"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": {
"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\neach layer pair depth.",
"title": "Success Rates",
"type": "object"
}
},
"required": [
"fraction_kept",
"success_rates"
],
"title": "LinbdbladResultPostSelectionMetadataModel",
"type": "object"
}
},
"required": [
"post_selection"
],
"title": "LinbdbladResultMetadataModel",
"type": "object"
}
],
"title": "Metadata"
}
},
"required": [
"generators_sparse",
"num_qubits",
"rates",
"rates_std",
"metadata"
],
"title": "NoiseLearnerV3ResultModel",
"type": "object"
},
"title": "Data",
"type": "array"
}
},
"required": [
"data"
],
"title": "NoiseLearnerV3 v0.2 NoiseLearnerV3ResultsModel",
"type": "object"
},
{
"type": "string",
"description": "Job final result.",
"title": "LegacyJobResults"
}
]
}Replace job tags
Replace job tags
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.job.update
Auditing
Calling this method generates the following auditing events.
quantum-computing.job.update
Input
Name, Type | Description |
|---|---|
id Required string | A job ID |
Name, Type | Description |
|---|---|
tags Required string[] | List of job or program tags |
If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/tags
curl -X PUT \
'https://quantum.cloud.ibm.com/api/v1/jobs/{id}/tags' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR-TOKEN' \
-H 'Service-CRN: YOUR-SERVICE-CRN' \
-H 'IBM-API-Version: 2026-03-15' \
-H 'Content-Type: application/json' \
-d '{"tags":["example"]}' If your instance is in the eu-de region, use this URL instead: https://eu-de.quantum.cloud.ibm.com/api/v1/jobs/{id}/tags
import requests
response = requests.request(
"PUT",
"https://quantum.cloud.ibm.com/api/v1/jobs/{id}/tags",
headers={
"Accept": "application/json",
"IBM-API-Version": "2026-03-15",
"Authorization": "Bearer YOUR-TOKEN",
"Service-CRN": "YOUR-SERVICE-CRN",
"Content-Type": "application/json"
},
data="{\"tags\":[\"example\"]}"
)
print(response.json())Output
Status code | Description |
|---|---|
| 204 | OK |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |