Endpoints
Create a test run
POST /test-runs
Request body:
Example request:
Example response:
List test runs
GET /test-runs
Query parameters:
Example request:
Example response:
Search test runs
GET /test-runs/search
Full-text and semantic search across test runs, cards, steps, and reports.
Query parameters:
Example request:
Each result object:
Each match object:
Example response:
Get a test run
GET /test-runs/{run_id}
Example request:
Update a test run
PATCH /test-runs/{run_id}
All fields are optional.
Example request:
Delete a test run
DELETE /test-runs/{run_id}
Example request:
Register a data file
POST /test-runs/{run_id}/data
Registers a data file that is already stored in S3. The file must exist at the provided S3 URL before calling this endpoint.
Request body:
Example request:
Example response:
List data files
GET /test-runs/{run_id}/data
Example request:
{"items": [...], "count": N} where each item is a data file object with the same fields as the register response.
Delete a data file
DELETE /test-runs/{run_id}/data/{file_id}
Example request:
Create a test card
POST /test-runs/{run_id}/cards
A test card is an individual test case within a run.
Request body:
Example request:
Example response:
Update a test card
PATCH /test-runs/{run_id}/cards/{card_id}
All fields are optional.
Example request:
Delete a test card
DELETE /test-runs/{run_id}/cards/{card_id}
Example request:
Create a step
POST /test-runs/{run_id}/cards/{card_id}/steps
Request body:
Example request:
Update a step
PATCH /test-runs/{run_id}/cards/{card_id}/steps/{step_id}
Update step metadata or record an execution outcome.
Request body:
Example request:
Example response:
Delete a step
DELETE /test-runs/{run_id}/cards/{card_id}/steps/{step_id}
Example request:
List reports
GET /test-runs/{run_id}/reports
Example request:
{"items": [...], "count": N} where each item is a report object with the same fields as the create report response.
Get a report
GET /test-runs/{run_id}/reports/{report_id}
Example request:
Create a report
POST /test-runs/{run_id}/reports
Triggers an AI analysis of the registered data files and produces a structured report.
Request body:
Example request:
Example response:
GET /test-runs/{run_id}/reports/{report_id} until status is completed.
