Start a test run
curl --request POST \
--url https://api.stably.ai/v1/projects/{projectId}/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"playwrightProjectName": "<string>",
"runGroupName": "<string>",
"envOverrides": {},
"environment": "<string>",
"environmentName": "<string>",
"autofix": true,
"branch": "staging/dev"
}
'import requests
url = "https://api.stably.ai/v1/projects/{projectId}/runs"
payload = {
"playwrightProjectName": "<string>",
"runGroupName": "<string>",
"envOverrides": {},
"environment": "<string>",
"environmentName": "<string>",
"autofix": True,
"branch": "staging/dev"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
playwrightProjectName: '<string>',
runGroupName: '<string>',
envOverrides: {},
environment: '<string>',
environmentName: '<string>',
autofix: true,
branch: 'staging/dev'
})
};
fetch('https://api.stably.ai/v1/projects/{projectId}/runs', 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.stably.ai/v1/projects/{projectId}/runs",
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([
'playwrightProjectName' => '<string>',
'runGroupName' => '<string>',
'envOverrides' => [
],
'environment' => '<string>',
'environmentName' => '<string>',
'autofix' => true,
'branch' => 'staging/dev'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.stably.ai/v1/projects/{projectId}/runs"
payload := strings.NewReader("{\n \"playwrightProjectName\": \"<string>\",\n \"runGroupName\": \"<string>\",\n \"envOverrides\": {},\n \"environment\": \"<string>\",\n \"environmentName\": \"<string>\",\n \"autofix\": true,\n \"branch\": \"staging/dev\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.stably.ai/v1/projects/{projectId}/runs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"playwrightProjectName\": \"<string>\",\n \"runGroupName\": \"<string>\",\n \"envOverrides\": {},\n \"environment\": \"<string>\",\n \"environmentName\": \"<string>\",\n \"autofix\": true,\n \"branch\": \"staging/dev\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stably.ai/v1/projects/{projectId}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"playwrightProjectName\": \"<string>\",\n \"runGroupName\": \"<string>\",\n \"envOverrides\": {},\n \"environment\": \"<string>\",\n \"environmentName\": \"<string>\",\n \"autofix\": true,\n \"branch\": \"staging/dev\"\n}"
response = http.request(request)
puts response.read_body{
"runId": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Test Run
Start a test run
Start a test run
POST
/
v1
/
projects
/
{projectId}
/
runs
Start a test run
curl --request POST \
--url https://api.stably.ai/v1/projects/{projectId}/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"playwrightProjectName": "<string>",
"runGroupName": "<string>",
"envOverrides": {},
"environment": "<string>",
"environmentName": "<string>",
"autofix": true,
"branch": "staging/dev"
}
'import requests
url = "https://api.stably.ai/v1/projects/{projectId}/runs"
payload = {
"playwrightProjectName": "<string>",
"runGroupName": "<string>",
"envOverrides": {},
"environment": "<string>",
"environmentName": "<string>",
"autofix": True,
"branch": "staging/dev"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
playwrightProjectName: '<string>',
runGroupName: '<string>',
envOverrides: {},
environment: '<string>',
environmentName: '<string>',
autofix: true,
branch: 'staging/dev'
})
};
fetch('https://api.stably.ai/v1/projects/{projectId}/runs', 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.stably.ai/v1/projects/{projectId}/runs",
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([
'playwrightProjectName' => '<string>',
'runGroupName' => '<string>',
'envOverrides' => [
],
'environment' => '<string>',
'environmentName' => '<string>',
'autofix' => true,
'branch' => 'staging/dev'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.stably.ai/v1/projects/{projectId}/runs"
payload := strings.NewReader("{\n \"playwrightProjectName\": \"<string>\",\n \"runGroupName\": \"<string>\",\n \"envOverrides\": {},\n \"environment\": \"<string>\",\n \"environmentName\": \"<string>\",\n \"autofix\": true,\n \"branch\": \"staging/dev\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.stably.ai/v1/projects/{projectId}/runs")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"playwrightProjectName\": \"<string>\",\n \"runGroupName\": \"<string>\",\n \"envOverrides\": {},\n \"environment\": \"<string>\",\n \"environmentName\": \"<string>\",\n \"autofix\": true,\n \"branch\": \"staging/dev\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.stably.ai/v1/projects/{projectId}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"playwrightProjectName\": \"<string>\",\n \"runGroupName\": \"<string>\",\n \"envOverrides\": {},\n \"environment\": \"<string>\",\n \"environmentName\": \"<string>\",\n \"autofix\": true,\n \"branch\": \"staging/dev\"\n}"
response = http.request(request)
puts response.read_body{
"runId": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Playwright project name(s) to run. Maps to --project CLI flag.
Deprecated. Use playwrightProjectName instead.
Show child attributes
Show child attributes
Name of the environment to use for this run (e.g. "Staging", "Production"). When omitted, falls back to the project's default environment.
Deprecated. Use environment instead.
When true, automatically attempt to fix failing tests after the run completes.
Git branch to run tests against. When omitted, uses the project's default branch.
Required string length:
1 - 255Example:
"staging/dev"
Response
Default Response
ID to use for polling the run status and results
Was this page helpful?
⌘I