Skip to content

QA Verification API

Comprehensive test automation system with AI-driven scenario generation, Playwright E2E execution in Docker sandboxes, and multi-environment validation.

Test Suites

List Suites

http
GET /api/v1/projects/{project_id}/qa-suites
Authorization: Bearer <token>

Create Suite

http
POST /api/v1/projects/{project_id}/qa-suites
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "User Registration Tests",
  "description": "E2E tests for user registration flow"
}

Get Suite (with scenarios)

http
GET /api/v1/qa-suites/{suite_id}
Authorization: Bearer <token>

Update / Delete

http
PATCH /api/v1/qa-suites/{suite_id}
DELETE /api/v1/qa-suites/{suite_id}
Authorization: Bearer <token>

Lifecycle Transitions

Move suite through draft → ready → deprecated.

http
PATCH /api/v1/qa-suites/{suite_id}/lifecycle
Authorization: Bearer <token>
Content-Type: application/json

{ "target_state": "ready" }

Sync from Dev Assets

Import test scenarios from development testing artifacts.

http
POST /api/v1/qa-suites/{suite_id}/sync-assets
Authorization: Bearer <token>

Scenarios

AI-Generate Scenarios

Generate test scenario previews using AI.

http
POST /api/v1/qa-suites/{suite_id}/scenarios/generate
Authorization: Bearer <token>

Create Scenario

http
POST /api/v1/qa-suites/{suite_id}/scenarios
Authorization: Bearer <token>
Content-Type: application/json

{
  "title": "Successful registration with valid email",
  "description": "User fills form and submits",
  "test_type": "e2e",
  "priority": "high",
  "steps": [
    { "action": "navigate", "target": "/register" },
    { "action": "fill", "target": "#email", "value": "test@example.com" },
    { "action": "click", "target": "button[type=submit]" }
  ]
}

Scenario Lifecycle

http
PATCH /api/v1/qa-scenarios/{scenario_id}/lifecycle

Record Result

http
POST /api/v1/qa-scenarios/{scenario_id}/result

Scenario Versions

http
GET /api/v1/qa-scenarios/{scenario_id}/versions
POST /api/v1/qa-scenarios/{scenario_id}/versions/{version_id}/promote

Test Runs

Create & Start Test Run

http
POST /api/v1/projects/{project_id}/qa-runs
Authorization: Bearer <token>
Content-Type: application/json

{
  "suite_id": "uuid",
  "env_profile_id": "uuid",
  "scenarios": ["uuid", "uuid"]
}

Get Run / Progress

http
GET /api/v1/qa-runs/{run_id}
GET /api/v1/qa-runs/{run_id}/progress
Authorization: Bearer <token>

Cancel Run

http
POST /api/v1/qa-runs/{run_id}/cancel
Authorization: Bearer <token>

QA Executions (Unified)

Unified execution that can run multiple test runs across suites.

http
POST /api/v1/projects/{project_id}/qa-executions
GET /api/v1/projects/{project_id}/qa-executions
GET /api/v1/qa-executions/{execution_id}
GET /api/v1/qa-executions/{execution_id}/progress
GET /api/v1/qa-executions/{execution_id}/scenarios
GET /api/v1/qa-executions/{execution_id}/runs
POST /api/v1/qa-executions/{execution_id}/start
POST /api/v1/qa-executions/{execution_id}/cancel
POST /api/v1/qa-executions/{execution_id}/resume
Authorization: Bearer <token>

Dashboard

http
GET /api/v1/projects/{project_id}/qa-dashboard
Authorization: Bearer <token>

Returns test run statistics, pass rates, and trend data.

Environment Profiles

Define target environments for test execution (dev, staging, production).

http
GET /api/v1/projects/{project_id}/qa-env-profiles
POST /api/v1/projects/{project_id}/qa-env-profiles
GET /api/v1/qa-env-profiles/{profile_id}
PUT /api/v1/qa-env-profiles/{profile_id}
DELETE /api/v1/qa-env-profiles/{profile_id}
POST /api/v1/qa-env-profiles/{profile_id}/test-connection
Authorization: Bearer <token>

Test Personas

Define user personas for testing (e.g., admin user, guest user).

http
GET /api/v1/projects/{project_id}/qa-personas
POST /api/v1/projects/{project_id}/qa-personas
GET /api/v1/qa-personas/{persona_id}
PUT /api/v1/qa-personas/{persona_id}
DELETE /api/v1/qa-personas/{persona_id}
Authorization: Bearer <token>

Persona Bindings

Bind personas to environment profiles.

http
GET /api/v1/qa-env-profiles/{profile_id}/personas
PUT /api/v1/qa-env-profiles/{profile_id}/personas
Authorization: Bearer <token>

Baselines

Snapshot a set of test scenarios as a baseline for regression testing.

http
POST /api/v1/projects/{project_id}/qa-baselines
GET /api/v1/projects/{project_id}/qa-baselines
GET /api/v1/qa-baselines/{baseline_id}
PATCH /api/v1/qa-baselines/{baseline_id}
POST /api/v1/qa-baselines/{baseline_id}/execute
Authorization: Bearer <token>

Run Artifacts

Screenshots

http
GET /api/v1/qa-scenario-runs/{run_id}/screenshots
Authorization: Bearer <token>

Full Run Detail

http
GET /api/v1/qa-scenario-runs/{run_id}/detail
Authorization: Bearer <token>

Returns the generated Playwright script, execution log, and evidence data.

Forgexa — AI Software Factory