Create Job
curl --request POST \
--url https://api-v2.qbraid.com/api/v1/jobs \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"shots": 123,
"deviceQrn": "<string>",
"program": {
"data": "<unknown>"
},
"name": "<string>",
"tags": {},
"runtimeOptions": {}
}
'import requests
url = "https://api-v2.qbraid.com/api/v1/jobs"
payload = {
"shots": 123,
"deviceQrn": "<string>",
"program": { "data": "<unknown>" },
"name": "<string>",
"tags": {},
"runtimeOptions": {}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
shots: 123,
deviceQrn: '<string>',
program: {data: '<unknown>'},
name: '<string>',
tags: {},
runtimeOptions: {}
})
};
fetch('https://api-v2.qbraid.com/api/v1/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.qbraid.com/api/v1/jobs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'shots' => 123,
'deviceQrn' => '<string>',
'program' => [
'data' => '<unknown>'
],
'name' => '<string>',
'tags' => [
],
'runtimeOptions' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-v2.qbraid.com/api/v1/jobs"
payload := strings.NewReader("{\n \"shots\": 123,\n \"deviceQrn\": \"<string>\",\n \"program\": {\n \"data\": \"<unknown>\"\n },\n \"name\": \"<string>\",\n \"tags\": {},\n \"runtimeOptions\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-v2.qbraid.com/api/v1/jobs")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"shots\": 123,\n \"deviceQrn\": \"<string>\",\n \"program\": {\n \"data\": \"<unknown>\"\n },\n \"name\": \"<string>\",\n \"tags\": {},\n \"runtimeOptions\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-v2.qbraid.com/api/v1/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"shots\": 123,\n \"deviceQrn\": \"<string>\",\n \"program\": {\n \"data\": \"<unknown>\"\n },\n \"name\": \"<string>\",\n \"tags\": {},\n \"runtimeOptions\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"jobQrn": "aws:aws:sim:dm1-a1b2-qjob-1234567890abcdef",
"status": "INITIALIZING"
}
}
Jobs
Create Job
Submit a quantum job to the specified device.
Request Body:
- program (object, required): Quantum program with format and data fields
- shots (integer, required): Number of shots to execute
- deviceQrn (string, required): Device QRN (qBraid Resource Name)
- runtimeOptions (object, optional): Runtime options
- tags (object, optional): Job tags
- name (string, optional): Job name
Headers:
- X-API-KEY (string, required): Your qBraid API key
Returns:
- Object containing the new job QRN and initial status
Raises:
- 422: Validation error if required fields are missing or invalid
POST
/
jobs
Create Job
curl --request POST \
--url https://api-v2.qbraid.com/api/v1/jobs \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"shots": 123,
"deviceQrn": "<string>",
"program": {
"data": "<unknown>"
},
"name": "<string>",
"tags": {},
"runtimeOptions": {}
}
'import requests
url = "https://api-v2.qbraid.com/api/v1/jobs"
payload = {
"shots": 123,
"deviceQrn": "<string>",
"program": { "data": "<unknown>" },
"name": "<string>",
"tags": {},
"runtimeOptions": {}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
shots: 123,
deviceQrn: '<string>',
program: {data: '<unknown>'},
name: '<string>',
tags: {},
runtimeOptions: {}
})
};
fetch('https://api-v2.qbraid.com/api/v1/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.qbraid.com/api/v1/jobs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'shots' => 123,
'deviceQrn' => '<string>',
'program' => [
'data' => '<unknown>'
],
'name' => '<string>',
'tags' => [
],
'runtimeOptions' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-v2.qbraid.com/api/v1/jobs"
payload := strings.NewReader("{\n \"shots\": 123,\n \"deviceQrn\": \"<string>\",\n \"program\": {\n \"data\": \"<unknown>\"\n },\n \"name\": \"<string>\",\n \"tags\": {},\n \"runtimeOptions\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api-v2.qbraid.com/api/v1/jobs")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"shots\": 123,\n \"deviceQrn\": \"<string>\",\n \"program\": {\n \"data\": \"<unknown>\"\n },\n \"name\": \"<string>\",\n \"tags\": {},\n \"runtimeOptions\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-v2.qbraid.com/api/v1/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"shots\": 123,\n \"deviceQrn\": \"<string>\",\n \"program\": {\n \"data\": \"<unknown>\"\n },\n \"name\": \"<string>\",\n \"tags\": {},\n \"runtimeOptions\": {}\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"jobQrn": "aws:aws:sim:dm1-a1b2-qjob-1234567890abcdef",
"status": "INITIALIZING"
}
}
{
"success": true,
"data": {
"jobQrn": "aws:aws:sim:dm1-a1b2-qjob-1234567890abcdef",
"status": "INITIALIZING"
}
}
Authorizations
Authenticate requests using an API key linked to your qBraid account. Obtain your key by registering or logging in at account.qbraid.com.
Body
application/json
Schema for job submission request body
Number of shots to execute
qBraid device resource name
Schema for quantum program
Show child attributes
Show child attributes
Job name
Job tags
Show child attributes
Show child attributes
Runtime options
Was this page helpful?

