curl --request GET \
--url https://api.qa.tech/v1/release-checks/{shortId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qa.tech/v1/release-checks/{shortId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qa.tech/v1/release-checks/{shortId}', 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.qa.tech/v1/release-checks/{shortId}",
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.qa.tech/v1/release-checks/{shortId}"
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.qa.tech/v1/release-checks/{shortId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qa.tech/v1/release-checks/{shortId}")
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{
"shortId": "<string>",
"url": "<string>",
"releaseName": "<string>",
"status": "pending",
"verdict": "ready",
"summary": "<string>",
"progress": {
"message": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"testsRun": 123,
"changesVerified": 123,
"changesTotal": 123
},
"categories": [
{
"key": "functional",
"label": "<string>",
"score": 123,
"checks": [
{
"id": "<string>",
"title": "<string>",
"status": "pass",
"automatable": true,
"severity": "critical",
"evidence": "<string>",
"recommendation": "<string>",
"screenshotUrl": "<string>",
"testRunShortId": "<string>"
}
],
"scoredCount": 123,
"passedCount": 123,
"failedCount": 123,
"manualCount": 123,
"naCount": 123,
"unverifiedCount": 123
}
],
"overallScore": 123,
"findings": [
{
"title": "<string>",
"severity": "critical",
"category": "<string>",
"description": "<string>",
"isBlocker": true,
"recommendation": "<string>",
"evidence": "<string>"
}
],
"intentVerification": [
{
"changeSummary": "<string>",
"status": "verified",
"notes": "<string>"
}
],
"pagesTested": [
{
"label": "<string>",
"screenshotUrl": "<string>",
"url": "<string>"
}
],
"checklistCoverage": [
{
"section": "<string>",
"coverage": "automated",
"notes": "<string>"
}
],
"healthSignals": {
"consoleErrors": [
"<string>"
],
"networkFailures": [
"<string>"
],
"openIssues": [
"<string>"
]
},
"manualFollowUps": [
"<string>"
],
"automatedTestSummary": {
"passed": 123,
"failed": 123,
"total": 123,
"runShortIds": [
"<string>"
]
},
"markdown": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Get release check
Fetch the compiled release check report by its short ID. Poll until status is completed.
curl --request GET \
--url https://api.qa.tech/v1/release-checks/{shortId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qa.tech/v1/release-checks/{shortId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qa.tech/v1/release-checks/{shortId}', 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.qa.tech/v1/release-checks/{shortId}",
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.qa.tech/v1/release-checks/{shortId}"
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.qa.tech/v1/release-checks/{shortId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qa.tech/v1/release-checks/{shortId}")
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{
"shortId": "<string>",
"url": "<string>",
"releaseName": "<string>",
"status": "pending",
"verdict": "ready",
"summary": "<string>",
"progress": {
"message": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"testsRun": 123,
"changesVerified": 123,
"changesTotal": 123
},
"categories": [
{
"key": "functional",
"label": "<string>",
"score": 123,
"checks": [
{
"id": "<string>",
"title": "<string>",
"status": "pass",
"automatable": true,
"severity": "critical",
"evidence": "<string>",
"recommendation": "<string>",
"screenshotUrl": "<string>",
"testRunShortId": "<string>"
}
],
"scoredCount": 123,
"passedCount": 123,
"failedCount": 123,
"manualCount": 123,
"naCount": 123,
"unverifiedCount": 123
}
],
"overallScore": 123,
"findings": [
{
"title": "<string>",
"severity": "critical",
"category": "<string>",
"description": "<string>",
"isBlocker": true,
"recommendation": "<string>",
"evidence": "<string>"
}
],
"intentVerification": [
{
"changeSummary": "<string>",
"status": "verified",
"notes": "<string>"
}
],
"pagesTested": [
{
"label": "<string>",
"screenshotUrl": "<string>",
"url": "<string>"
}
],
"checklistCoverage": [
{
"section": "<string>",
"coverage": "automated",
"notes": "<string>"
}
],
"healthSignals": {
"consoleErrors": [
"<string>"
],
"networkFailures": [
"<string>"
],
"openIssues": [
"<string>"
]
},
"manualFollowUps": [
"<string>"
],
"automatedTestSummary": {
"passed": 123,
"failed": 123,
"total": 123,
"runShortIds": [
"<string>"
]
},
"markdown": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Path Parameters
^rc(-.+_.+|_.+)$Query Parameters
Mixin for project-scoped requests: an optional per-call project override.
Show child attributes
Show child attributes
Response
The request has succeeded.
Compiled launch-readiness report, synthesized by the review agent.
^rc(-.+_.+|_.+)$Dashboard URL for the release check's launch-readiness report.
Lifecycle status of a release check.
pending, running, completed, failed Overall launch verdict. Null while the review is still running.
ready, needs_attention, not_ready Narrative summary of the release's readiness. Null until the agent finishes.
Rolling latest progress while the check is running. Null once it finishes or before the first update.
Show child attributes
Show child attributes
Scored categories, each aggregating its checks. Empty until the agent finishes.
Show child attributes
Show child attributes
Overall 0-100 score (weighted average of scored categories). Null while running or when nothing was scored.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Key pages exercised during the review, with screenshots.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Technical health signals observed while testing. Extension point for future static checks and issue reporters.
Show child attributes
Show child attributes
Automated test totals. Null until tests have run.
Show child attributes
Show child attributes
Human-readable Markdown rendering of the report.
Was this page helpful?