Trigger a run or scan
Start an existing test run or dispatch website or mobile discovery.
curl -X POST "https://app.aegisrunner.com/api/v1/ci/trigger" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"suiteIds": [
"00000000-0000-4000-8000-000000000001"
],
"browserProfile": "chromium"
}'
import requests
import json
url = "https://app.aegisrunner.com/api/v1/ci/trigger"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"suiteIds": [
"00000000-0000-4000-8000-000000000001"
],
"browserProfile": "chromium"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://app.aegisrunner.com/api/v1/ci/trigger", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"suiteIds": [
"00000000-0000-4000-8000-000000000001"
],
"browserProfile": "chromium"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"suiteIds": [
"00000000-0000-4000-8000-000000000001"
],
"browserProfile": "chromium"
}`)
req, err := http.NewRequest("POST", "https://app.aegisrunner.com/api/v1/ci/trigger", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://app.aegisrunner.com/api/v1/ci/trigger')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"suiteIds": [
"00000000-0000-4000-8000-000000000001"
],
"browserProfile": "chromium"
}'
response = http.request(request)
puts response.body
{
"status": "crawl_failed",
"error": "example_string",
"message": "example_string"
}
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"projectName": "John Doe",
"status": "queued",
"runType": "example_string",
"targetIds": [
"123e4567-e89b-12d3-a456-426614174000"
],
"createdAt": "2024-12-25T10:00:00Z",
"dashboardUrl": "example_string"
}
{
"status": "crawl_started",
"crawl_id": "123e4567-e89b-12d3-a456-426614174000",
"project_id": "123e4567-e89b-12d3-a456-426614174000",
"message": "example_string",
"dashboardUrl": "example_string"
}
{
"status": "scanning",
"message": "example_string"
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Error",
"message": "Plan or usage entitlement prevents the operation.",
"code": 402
}
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Please try again later",
"code": 429,
"retryAfter": 3600
}
{
"error": "Internal Server Error",
"message": "An unexpected error occurred on the server",
"code": 500,
"requestId": "req_1234567890"
}
/ci/trigger
Target server for requests. Edit to use your own host.
Create a project token under Project setup → CI/CD.
The media type of the request body
Suite IDs belonging to the token project.
Case IDs belonging to the token project. Takes precedence over suiteIds.
Browser profile for the run; defaults to chromium.
Environment belonging to the token project.
Project data set. If omitted, the current project default is used.
Target override. Full cloud scans require the configured project's base domain.
Start discovery and test generation instead of an existing-suite run.
Requested full-scan page limit. Plan limits still apply.
Requested full-scan navigation depth.
Device mode for a full website scan.
Saved login role name for a full scan.
Full-scan target credentials. Saved to the project for future scans and runs.
Dispatch native app discovery. Omit app to reuse the latest scanned app.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Create a project token under Project setup → CI/CD.
Body
Suite IDs belonging to the token project.
Case IDs belonging to the token project. Takes precedence over suiteIds.
Environment belonging to the token project.
Project data set. If omitted, the current project default is used.
Target override. Full cloud scans require the configured project's base domain.
Start discovery and test generation instead of an existing-suite run.
Requested full-scan page limit. Plan limits still apply.
Requested full-scan navigation depth.
Full-scan target credentials. Saved to the project for future scans and runs.
Dispatch native app discovery. Omit app to reuse the latest scanned app.
Responses
crawl_failedStart an existing test run or dispatch website or mobile discovery. Use a CI token from the project you want to test. Acknowledging dispatch does not establish successful completion.
See API authentication for tokens and API errors for completion and failure handling.