Run Test
curl --request POST \
--url https://api.docketqa.com/test_group_run/trigger_run \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"test_blueprint_ids": [
123
]
}
'import requests
url = "https://api.docketqa.com/test_group_run/trigger_run"
payload = { "test_blueprint_ids": [123] }
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({test_blueprint_ids: [123]})
};
fetch('https://api.docketqa.com/test_group_run/trigger_run', 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.docketqa.com/test_group_run/trigger_run",
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([
'test_blueprint_ids' => [
123
]
]),
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.docketqa.com/test_group_run/trigger_run"
payload := strings.NewReader("{\n \"test_blueprint_ids\": [\n 123\n ]\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.docketqa.com/test_group_run/trigger_run")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"test_blueprint_ids\": [\n 123\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.docketqa.com/test_group_run/trigger_run")
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 \"test_blueprint_ids\": [\n 123\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"test_group_run": {
"id": 123,
"company_id": 123,
"name": "<string>",
"status": "<string>",
"test_runs": [
{
"id": 123,
"status": "<string>",
"test_blueprint_id": 123,
"test_group_run_id": 123,
"blueprint_metadata": {},
"results": [
{}
]
}
],
"created_at": "<string>",
"updated_at": "<string>"
}
}Tests
Run Test
POST
/
test_group_run
/
trigger_run
Run Test
curl --request POST \
--url https://api.docketqa.com/test_group_run/trigger_run \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"test_blueprint_ids": [
123
]
}
'import requests
url = "https://api.docketqa.com/test_group_run/trigger_run"
payload = { "test_blueprint_ids": [123] }
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({test_blueprint_ids: [123]})
};
fetch('https://api.docketqa.com/test_group_run/trigger_run', 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.docketqa.com/test_group_run/trigger_run",
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([
'test_blueprint_ids' => [
123
]
]),
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.docketqa.com/test_group_run/trigger_run"
payload := strings.NewReader("{\n \"test_blueprint_ids\": [\n 123\n ]\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.docketqa.com/test_group_run/trigger_run")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"test_blueprint_ids\": [\n 123\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.docketqa.com/test_group_run/trigger_run")
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 \"test_blueprint_ids\": [\n 123\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"test_group_run": {
"id": 123,
"company_id": 123,
"name": "<string>",
"status": "<string>",
"test_runs": [
{
"id": 123,
"status": "<string>",
"test_blueprint_id": 123,
"test_group_run_id": 123,
"blueprint_metadata": {},
"results": [
{}
]
}
],
"created_at": "<string>",
"updated_at": "<string>"
}
}Trigger a test run for one or more test blueprints. Each test runs in its own remote screen session (browser or mobile device).
integer[]
required
An array of test blueprint IDs to run. You can trigger multiple tests in a single request.
Example request body
{
"test_blueprint_ids": [181]
}
string
A confirmation message (e.g.
"Test group run triggered successfully").object
The created test group run object.
Show Properties
Show Properties
integer
The unique ID of the test group run.
integer
Your company ID.
string
Auto-generated name for the run (e.g.
"Manual Run 2025-07-03 01:38:03").string
The current status of the group run (e.g.
"running").object[]
Array of individual test run objects, one per blueprint ID.
Show Test run properties
Show Test run properties
integer
The unique ID of the individual test run. Use this with the Get Test Run endpoint to poll for results.
string
The current status of this test run (e.g.
"running", "passed", "failed").integer
The blueprint ID this run is executing.
integer
The parent group run ID.
object
A snapshot of the test blueprint at the time the run was triggered.
object[]
Step-by-step results.
null while the test is still running.string
ISO 8601 timestamp of when the run was triggered.
string
ISO 8601 timestamp of the last status update.
Example response
{
"message": "Test group run triggered successfully",
"test_group_run": {
"company_id": 2,
"created_at": "2025-07-03T01:38:03.020496+00:00",
"id": 35,
"name": "Manual Run 2025-07-03 01:38:03",
"status": "running",
"test_runs": [
{
"blueprint_metadata": { ... },
"created_at": "2025-07-03T01:38:03.032648+00:00",
"id": 38,
"is_login_test_run": false,
"results": null,
"status": "running",
"test_blueprint_id": 180,
"test_group_run_id": 35,
"test_video_s3_key": null,
"updated_at": "2025-07-03T01:38:03.032653+00:00"
}
],
"updated_at": "2025-07-03T01:38:03.020501+00:00"
}
}
After triggering a run, use the
test_runs[].id value to poll the Get Test Run endpoint until the status changes from "running" to "passed" or "failed".⌘I

