List jobs
curl --request GET \
--url https://api.example.com/api/v1/jobs/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/jobs/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.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.example.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 => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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/api/v1/jobs/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/api/v1/jobs/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/jobs/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"count": 123,
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"temporal_workflow_name": "EnrollmentWorkflow",
"organisation": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"category": "enrolment"
},
"created_by": "<string>",
"ai_failure_summary": {
"headline": "<string>",
"explanation": "<string>",
"failure_categories": {}
},
"test_slugs": [
"multi-node.hello-world"
],
"hostlist": "<string>",
"chad_sop": {
"id": "<string>",
"name": "<string>",
"version": 1073741824
},
"links": {
"self": "<string>",
"collection": "<string>",
"workflow": "<string>",
"devices": "<string>",
"job_device_statuses": "<string>",
"temporal": "<string>",
"logs": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"parameters": "<unknown>",
"max_attempts_override": 123,
"source_test_execution": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"devices": [
{
"name": "<string>",
"rack_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rack_name": "<string>",
"position": 123,
"pod": "<string>"
}
],
"device_count": 123,
"failed_device_count": 123,
"unevaluated_device_count": 123,
"name": "<string>",
"status": "pending",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"temporal_workflow_id": "<string>"
}
],
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2"
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}Jobs
List jobs
List, retrieve, create and update jobs for a site.
GET
/
api
/
v1
/
jobs
/
List jobs
curl --request GET \
--url https://api.example.com/api/v1/jobs/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/v1/jobs/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.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.example.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 => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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/api/v1/jobs/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/api/v1/jobs/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/jobs/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"count": 123,
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workflow": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"temporal_workflow_name": "EnrollmentWorkflow",
"organisation": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"category": "enrolment"
},
"created_by": "<string>",
"ai_failure_summary": {
"headline": "<string>",
"explanation": "<string>",
"failure_categories": {}
},
"test_slugs": [
"multi-node.hello-world"
],
"hostlist": "<string>",
"chad_sop": {
"id": "<string>",
"name": "<string>",
"version": 1073741824
},
"links": {
"self": "<string>",
"collection": "<string>",
"workflow": "<string>",
"devices": "<string>",
"job_device_statuses": "<string>",
"temporal": "<string>",
"logs": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"parameters": "<unknown>",
"max_attempts_override": 123,
"source_test_execution": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"devices": [
{
"name": "<string>",
"rack_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rack_name": "<string>",
"position": 123,
"pod": "<string>"
}
],
"device_count": 123,
"failed_device_count": 123,
"unevaluated_device_count": 123,
"name": "<string>",
"status": "pending",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"temporal_workflow_id": "<string>"
}
],
"next": "http://api.example.org/accounts/?page=4",
"previous": "http://api.example.org/accounts/?page=2"
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}{
"detail": "<string>",
"code": "error",
"field_errors": [
{
"field": "<string>",
"messages": [
"<string>"
]
}
]
}Authorizations
oauth2cookieAuth
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Number of results to return per page.
Required range:
1 <= x <= 500Which field to use when ordering the results.
Available options:
updated_at, -updated_at, completed_at, -completed_at, created_at, -created_at A page number within the paginated result set.
Multiple values may be separated by commas.
Multiple values may be separated by commas.
Available options:
cancellation_requested, cancelled, completed, failed, partially_failed, pending, running, superseded, terminated, timed_out Multiple values may be separated by commas.
Multiple values may be separated by commas.
Available options:
BackendVrfIsolateWorkflow, BackendVrfReturnWorkflow, ColdResetBmcWorkflow, ConnectivityVerificationWorkflow, CustomerReleaseWorkflow, DisableMaintenanceModeWorkflow, EnrollmentWorkflow, FirmwareInventoryWorkflow, FirmwarePolicyVerificationWorkflow, FirmwareVerificationWorkflow, FrontendVrfIsolateWorkflow, FrontendVrfReturnWorkflow, ImageNodeWorkflow, IronicNodeCleanWorkflow, MultiNodeBurnInCollectiveWorkflow, MultiNodeBurnInPairwiseWorkflow, NVSwitchFirmwarePolicyVerificationWorkflow, NodeDiagnosticsWorkflow, NodeSwapWorkflow, NvLinkIsolateWorkflow, NvLinkReturnWorkflow, PowerCycleWorkflow, PowerOffWorkflow, PrepareHardwareTestImagesWorkflow, QuarantineWorkflow, ReleaseWorkflow, ReportGenerationWorkflow, SetMaintenanceModeWorkflow, SingleNodeBurnInWorkflow, SlurmAdoptWorkflow, SlurmDrainNodeWorkflow, SlurmReleaseWorkflow, SlurmResumeNodeWorkflow, UnenrollmentWorkflow, UnimageNodeWorkflow