Get Local Job By Hash
curl --request GET \
--url 'https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY='import requests
url = "https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=', 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.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"user_id": 123,
"experiment_id": "<string>",
"status": "Submitted",
"job_type": "User local job",
"creation_date": "2023-11-07T05:31:56Z",
"hash": "<string>",
"backend_name": "<string>",
"name": "<string>",
"description": "<string>",
"device_id": "Haiqu OS",
"run_date": "2023-11-07T05:31:56Z",
"finish_date": "2023-11-07T05:31:56Z",
"logs": "<string>",
"quality": 123,
"info": {},
"time": 123,
"parameters": {},
"circuit_id": "",
"results": "",
"shot_local": "",
"metrics": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}API Reference
Get Local Job By Hash
Get local job by HASH endpoint.
Args: experiment_id (str): The parent experiment ID. job_id (str): ID of the job. user (User): User authenticated with api key.
Returns: LocalJobModel: Job object.
GET
/
experiments
/
{experiment_id}
/
jobs
/
{job_hash}
Get Local Job By Hash
curl --request GET \
--url 'https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY='import requests
url = "https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=', 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.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/experiments/{experiment_id}/jobs/{job_hash}?HAIQU_API_KEY=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"user_id": 123,
"experiment_id": "<string>",
"status": "Submitted",
"job_type": "User local job",
"creation_date": "2023-11-07T05:31:56Z",
"hash": "<string>",
"backend_name": "<string>",
"name": "<string>",
"description": "<string>",
"device_id": "Haiqu OS",
"run_date": "2023-11-07T05:31:56Z",
"finish_date": "2023-11-07T05:31:56Z",
"logs": "<string>",
"quality": 123,
"info": {},
"time": 123,
"parameters": {},
"circuit_id": "",
"results": "",
"shot_local": "",
"metrics": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
APIKeyQueryAPIKeyHeader
Response
Successful Response
Local user-run Job (regular Qiskit job).
Flow:
* user run normal Qiskit job
* they use haiqu.log(<job|result>) to send it to Haiqu cloud for analysis.
Qiskit and IBM runtime has several types of jobs and types of results. We do our best to analyze them all.
Class for job status.
Available options:
Submitted, Initializing, Queued, Validating, Running, Cancelled, Done, Error Class for job types.
Available options:
User local job, Analytics, Device specific analytics, Data Loading, Hybrid, Run, State Compression, Transpilation, Variational, Pretraining, SKQD