curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests', 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://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests"
req, _ := http.NewRequest("POST", 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.post("https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flows": [
{
"goal": "Open the orders page, filter by Shipped, and check that only shipped orders are listed.",
"name": "Filter orders by status",
"role": "admin"
}
]
}Suggest new tests
Returns up to 5 test ideas that the app’s existing tests don’t cover yet. Nothing is saved. Add the ones you want with Create test, then call Save test generation checkpoint.
If the app changed since the last checkpoint, the ideas focus on what changed. Otherwise, or when the app has no checkpoint yet, they cover gaps across the whole app.
This makes AI calls and costs credits for the ideas it returns. It runs while you wait, usually for 30 seconds to a minute and sometimes longer. The call is refused when the workspace is out of credits, or when the app has more than 245 tests.
This is limited to 20 requests per minute per caller for each app. Some workspaces have a different limit.
curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests', 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://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests"
req, _ := http.NewRequest("POST", 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.post("https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/testing-agent/flows/suggest-new-tests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"flows": [
{
"goal": "Open the orders page, filter by Shipped, and check that only shipped orders are listed.",
"name": "Filter orders by status",
"role": "admin"
}
]
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the app.
Response
The suggested tests.
Tests Base44 suggests for the app.
Up to 5 suggested tests. None of them is saved.
Show child attributes
Show child attributes
[
{
"goal": "Open the orders page, filter by Shipped, and check that only shipped orders are listed.",
"name": "Filter orders by status",
"role": "admin"
}
]
Was this page helpful?