GET/api/test-suites
List test suites with run counts and latest run.
List test suites with run counts and latest run.
Crawl-based suites are returned by default. Pass `kind=MANUAL` to fetch
the lightweight manual-run buckets instead.
- Auth
- None
- Status
- 200
- Query
- ListTestSuitesParams
- Returns
- TestSuitesListResponse
apps/api/src/routes/testSuites.ts:91POST/api/test-suites
Create a crawl-based test suite.
Create a crawl-based test suite.
Creates the suite, queues the first discovery crawl and registers the
automatic recrawl schedule from the suite settings.
- Auth
- Optional
- Status
- 201
- Body
- CreateTestSuiteInput
- Returns
- TestSuite
apps/api/src/routes/testSuites.ts:128DELETE/api/test-suites/:id
Delete a test suite.
Delete a test suite.
Removes the suite, its discovered pages and its repeatable recrawl job.
Run and baseline clean-up is handled separately.
- Auth
- None
- Status
- 204
- Params
- { id: string }
- Returns
- Empty response
apps/api/src/routes/testSuites.ts:265GET/api/test-suites/:id
Get a suite with recent runs and current baselines.
Get a suite with recent runs and current baselines.
Use this for the suite detail screen before drilling into pages or an
individual run.
- Auth
- None
- Status
- 200
- Params
- { id: string }
- Returns
- TestSuiteResponse
apps/api/src/routes/testSuites.ts:183PUT/api/test-suites/:id
Update a test suite.
Update a test suite.
Updates basic settings, active state or GitHub link data. Changing the
base URL queues a fresh discovery crawl because the sitemap is stale.
- Auth
- None
- Status
- 200
- Params
- { id: string }
- Body
- UpdateTestSuiteInput
- Returns
- TestSuite
apps/api/src/routes/testSuites.ts:215POST/api/test-suites/:id/crawl
Queue a discovery crawl for a suite.
Queue a discovery crawl for a suite.
Starts or restarts page discovery unless a recent crawl is already queued
or running.
- Auth
- None
- Status
- 202
- Params
- { id: string }
- Returns
- CrawlSiteResponse
apps/api/src/routes/testSuites.ts:290GET/api/test-suites/:id/pages
List discovered pages for a suite.
List discovered pages for a suite.
Returns the sitemap view with crawl state, tracked counts and each page's
outcome in the most recent finished manual run.
- Auth
- None
- Status
- 200
- Params
- { id: string }
- Returns
- SitePagesResponse
apps/api/src/routes/testSuites.ts:328PATCH/api/test-suites/:id/pages
Apply a bulk action to discovered pages.
Apply a bulk action to discovered pages.
Tracks, untracks, acknowledges or deletes selected page records within a
suite's discovered sitemap.
- Auth
- None
- Status
- 200
- Params
- { id: string }
- Body
- SitePageBulkActionInput
- Returns
- SitePageBulkActionResponse
apps/api/src/routes/testSuites.ts:553GET/api/test-suites/:id/pages/:pageId
Get one discovered page with current baselines.
Get one discovered page with current baselines.
Returns the page, its latest per-viewport baselines and its latest manual
run outcome for the page detail view.
- Auth
- None
- Status
- 200
- Params
- { id: string; pageId: string }
- Returns
- PageDetailResponse
apps/api/src/routes/testSuites.ts:398GET/api/test-suites/:id/pages/:pageId/history
Get baseline history for one discovered page.
Get baseline history for one discovered page.
Returns the timeline newest first. Each event includes the previous version
where available so the UI can render before and after without another call.
- Auth
- None
- Status
- 200
- Params
- { id: string; pageId: string }
- Query
- { viewport?: string }
- Returns
- PageHistoryResponse
apps/api/src/routes/testSuites.ts:484POST/api/test-suites/:id/run
Queue a new suite run.
Queue a new suite run.
Omit the body for a manual run against the suite base URL, or pass a target
preview URL for a branch diff that does not mutate baselines or GitHub.
- Auth
- None
- Status
- 202
- Params
- { id: string }
- Body
- RunTestSuiteInput
- Returns
- RunTestSuiteResponse
apps/api/src/routes/testSuites.ts:633