curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"title": "Project doesn't appear after creation"
}
EOFimport requests
url = "https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve"
payload = { "title": "Project doesn't appear after creation" }
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({title: 'Project doesn\'t appear after creation'})
};
fetch('https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve', 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/analysis/{execution_id}/issues/resolve",
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([
'title' => 'Project doesn\'t appear after creation'
]),
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://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve"
payload := strings.NewReader("{\n \"title\": \"Project doesn't appear after creation\"\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://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Project doesn't appear after creation\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve")
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 \"title\": \"Project doesn't appear after creation\"\n}"
response = http.request(request)
puts response.read_body{
"id": "68a1ca02f0b3d9001a7e5d11",
"app_id": "6820f3a4e7b91d003c45a1f2",
"flow_id": "68a1c2e4f0b3d9001a7e5c21",
"execution_id": "68a1c9b7f0b3d9001a7e5d04",
"flow_goal": "Sign up, create a project called Launch, and check that it appears on the dashboard.",
"status": "goal_accomplished",
"summary": "The project was created and listed on the dashboard, but only after a reload.",
"issues": [
{
"category": "functionality",
"related_step_number": 3,
"severity": "warning",
"summary": "After saving, the dashboard still shows no projects until the page is reloaded.",
"title": "Project doesn't appear after creation"
}
],
"created_date": "2026-09-28T10:18:39+00:00",
"updated_date": "2026-09-28T10:18:39+00:00"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Resolve test run issue
Marks an issue in a run’s report as fixed and removes it from the report. Unlike Delete test run issue, it doesn’t hide the issue from future runs, so the next run of the test reports it again if the problem is still there.
The issue is matched by title against the run’s current report. Every issue with that title is removed. Resolving it again returns the report unchanged, so retrying is safe.
This is limited to 300 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/analysis/{execution_id}/issues/resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"title": "Project doesn't appear after creation"
}
EOFimport requests
url = "https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve"
payload = { "title": "Project doesn't appear after creation" }
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({title: 'Project doesn\'t appear after creation'})
};
fetch('https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve', 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/analysis/{execution_id}/issues/resolve",
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([
'title' => 'Project doesn\'t appear after creation'
]),
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://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve"
payload := strings.NewReader("{\n \"title\": \"Project doesn't appear after creation\"\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://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Project doesn't appear after creation\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/testing-agent/analysis/{execution_id}/issues/resolve")
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 \"title\": \"Project doesn't appear after creation\"\n}"
response = http.request(request)
puts response.read_body{
"id": "68a1ca02f0b3d9001a7e5d11",
"app_id": "6820f3a4e7b91d003c45a1f2",
"flow_id": "68a1c2e4f0b3d9001a7e5c21",
"execution_id": "68a1c9b7f0b3d9001a7e5d04",
"flow_goal": "Sign up, create a project called Launch, and check that it appears on the dashboard.",
"status": "goal_accomplished",
"summary": "The project was created and listed on the dashboard, but only after a reload.",
"issues": [
{
"category": "functionality",
"related_step_number": 3,
"severity": "warning",
"summary": "After saving, the dashboard still shows no projects until the page is reloaded.",
"title": "Project doesn't appear after creation"
}
],
"created_date": "2026-09-28T10:18:39+00:00",
"updated_date": "2026-09-28T10:18:39+00:00"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the app.
ID of the run whose report to change.
Body
The issue's title, as the report shows it. Case and punctuation don't matter.
400"Project doesn't appear after creation"
Response
The report, without the issue.
The report for a finished run.
ID of the report.
"68a1ca02f0b3d9001a7e5d11"
ID of the app.
"6820f3a4e7b91d003c45a1f2"
ID of the test.
"68a1c2e4f0b3d9001a7e5c21"
ID of the run.
"68a1c9b7f0b3d9001a7e5d04"
The test's goal when the run started.
"Sign up, create a project called Launch, and check that it appears on the dashboard."
The verdict. failed and timeout mean the report couldn't reach one, and summary says what happened.
goal_accomplished, goal_not_accomplished, failed, timeout "goal_accomplished"
Plain-language summary of the run.
"The project was created and listed on the dashboard, but only after a reload."
Problems found during the run. Empty when there were none.
Show child attributes
Show child attributes
[
{
"category": "functionality",
"related_step_number": 3,
"severity": "warning",
"summary": "After saving, the dashboard still shows no projects until the page is reloaded.",
"title": "Project doesn't appear after creation"
}
]
When the report was written, as an ISO 8601 UTC timestamp.
"2026-09-28T10:18:39+00:00"
When the report last changed, as an ISO 8601 UTC timestamp.
"2026-09-28T10:18:39+00:00"
Was this page helpful?