List test runs

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the app's 100 most recent test runs, newest first. Set flow_id to get only one test's runs. Older runs can't be listed.

This is limited to 6000 requests per minute per caller for each app. Some workspaces have a different limit.

<Note>This endpoint accepts a personal API key belonging to a user with access to the app. Read-only keys are refused even though this endpoint only reads, and workspace API keys are not accepted.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

get/api/apps/{app_id}/testing-agent/executions

Path parameters

app_idstring required

ID of the app.

ID of the app.

Query parameters

flow_idstring nullable

Only return runs of this test.

Only return runs of this test.

Response

The runs, newest first.

idstring required

ID of the run.

app_idstring required

ID of the app.

flow_idstring required

ID of the test this run belongs to.

flow_goalstring required

The test's goal when the run started.

flow_rolestring nullable required

Role the run signs in as, including one Base44 picked from the test's name or goal. Set once the run starts. null when the run uses no role.

site_urlstring required

URL the run opened.

status'pending' | 'running' | 'analyzing' | 'success' | 'failed' | 'timeout' | 'cancelled' | 'paused' required

Where the run is. pending, running and analyzing mean it's still going. success means the browser session finished, and failed means it didn't. timeout, cancelled and paused mean the run stopped early. The test passed when goal_accomplished is true and failure_reason isn't platform or internal.

result_messagestring nullable required

The agent's account of how the run went, or null before the run finishes.

goal_accomplishedboolean nullable required

Whether the agent accomplished the goal, or null before the run finishes. Can be true on a run whose failure_reason is platform or internal, which counts as a technical failure.

live_statusstring nullable required

Short progress message for display, or null before the run starts.

analysis_status'pending' | 'completed' | 'failed' nullable required

Progress of the run's report. completed means Get test run report has it. null before the run reaches analysis.

failure_reason'app' | 'platform' | 'internal' | 'out_of_credits' nullable required

Why the run didn't pass, or null when no reason was recorded. app is a problem in your app. platform and internal are problems on Base44's side, so rerun the test. out_of_credits comes with status paused.

credits_chargednumber nullable required

Credits the run cost, or null before it's charged.

started_atstring nullable required

When the browser session started, as an ISO 8601 UTC timestamp, or null while pending.

completed_atstring nullable required

When the run ended, as an ISO 8601 UTC timestamp, or null while it's still going.

created_datestring required

When the run was requested, as an ISO 8601 UTC timestamp.

updated_datestring required

When the run last changed, as an ISO 8601 UTC timestamp.

Example response

[
  {
    "id": "68a1c9b7f0b3d9001a7e5d04",
    "app_id": "6820f3a4e7b91d003c45a1f2",
    "flow_id": "68a1c2e4f0b3d9001a7e5c21",
    "flow_goal": "Sign up, create a project called Launch, and check that it appears on the dashboard.",
    "flow_role": "admin",
    "site_url": "https://preview-6820f3a4e7b91d003c45a1f2.base44.app/?_preview_token=FH-j7wHS7IR_fC1tUh4wCd_fNV1XGC479cuqNSYi9mA",
    "status": "success",
    "actions": [
      {
        "step_summary": "Clicked Sign up in the header to reach the registration form.",
        "step_title": "Opened the sign-up form"
      }
    ],
    "result_message": "Created the project and found it on the dashboard.",
    "goal_accomplished": true,
    "live_status": "Analyzing results",
    "analysis_status": "completed",
    "failure_reason": "app",
    "credits_charged": 1.5,
    "started_at": "2026-09-28T10:16:02+00:00",
    "completed_at": "2026-09-28T10:18:40+00:00",
    "created_date": "2026-09-28T10:16:00+00:00",
    "updated_date": "2026-09-28T10:18:40+00:00"
  }
]

Changes

Changed in 1 of the 33 revisions of this API.1