Environments
An environment is one deployment of the project — production, staging, a preview — at its base URL. The API reads environments; creating and configuring them stays in the dashboard.
List environments
endpoint
GET /api/v1/projects/{project_id}/environmentsThe project's environments, newest first, as a list of environment objects. Takes limit and cursor. Minimum key role: Participant.
Read an environment
endpoint
GET /api/v1/projects/{project_id}/environments/{environment_id}One environment. Minimum key role: Participant.
The environment object
environment
{
"object": "environment",
"id": "00000000-0000-0000-0000-000000000001",
"title": "Production",
"base_url": "https://example.com",
"pinned": false,
"config": {
"verdict": {
"on_reference_error": "SKIPPED",
"on_candidate_error": "FAIL",
"on_both_error": "FAIL",
"on_diff_error": "FAIL",
"on_new_page": "WARN",
"on_removed_page": "WARN"
},
"scheduled_capture_interval_minutes": 60,
"auto_diff": {
"reference_environment_id": "00000000-0000-0000-0000-000000000010",
"self": true
},
"notify": {
"on_capture_batch": true,
"on_diff_batch": true
}
},
"last_scheduled_capture_at": "2026-11-06T09:00:01.482913+00:00",
"created_at": "2026-10-01T12:00:00.12+00:00",
"updated_at": "2026-11-02T08:30:00.5+00:00"
}| Field | Type | Value |
|---|---|---|
id | uuid string | The environment's id. |
title | string | Its name in the dashboard. |
base_url | string | The origin its pages are captured at: scheme and host, no path. |
pinned | boolean | Whether it is pinned in the dashboard. |
config.verdict.on_reference_error | verdict | The verdict a page comparison gets when the reference capture failed. One of PASS, WARN, FAIL, SKIPPED — see verdict config. |
config.verdict.on_candidate_error | verdict | … when the candidate capture failed. |
config.verdict.on_both_error | verdict | … when both captures failed. |
config.verdict.on_diff_error | verdict | … when the comparison itself failed. |
config.verdict.on_new_page | verdict | … when the page is in the candidate only. |
config.verdict.on_removed_page | verdict | … when the page is in the reference only. |
config.scheduled_capture_interval_minutes | number | null | Minutes between scheduled captures, as they run: a schedule shorter than the plan allows runs at the plan's minimum. null when none is scheduled. |
config.auto_diff.reference_environment_id | uuid string | null | The other environment each new capture is compared with, after it finishes; null when none. Independent of self, which needs no reference environment. See automated diffing. |
config.auto_diff.self | boolean | Whether each new capture is compared with the environment's previous one — whatever reference_environment_id says, null included. |
config.notify.on_capture_batch | boolean | Whether a capture batch that ends in Warning or Error creates a notification. |
config.notify.on_diff_batch | boolean | Whether a diff batch that needs attention creates a notification. |
last_scheduled_capture_at | timestamp | null | When the schedule last started a capture batch; null if it never has. |
Not in the object: the environment's custom HTTP headers, which only an organization Owner or Admin sees, and its pages. Its latest batches are the first item of its capture batches and diff batches lists.