Vision
For instructions on how to authenticate to use this endpoint, see API overview.
Endpoints
GET | |
POST | |
GET | |
GET | |
GET | |
POST | |
GET | |
PATCH | |
DELETE | |
POST | |
POST | |
POST | |
GET | |
POST | |
GET | |
GET | |
POST | |
GET | |
POST | |
POST |
Retrieve vision observations search suggestions
Example searches drawn from recent observations, for the Search tab's empty state. Reads what the
scheduled refresher stored; search_viewed records the view separately so this GET has no side effect.
Required API key scopes
replay_scanner:readsession_recording:readQuery parameters
- scanner_idstring
Response
Example request
GET /api /projects /:project_id /vision /observations /search_suggestionsExample response
Status 200
Create vision observations search viewed
Record that the Search tab showed suggestions for this scope. The scheduled refresher serves viewed scanners first, so the stamp lives on a CSRF-protected POST rather than the read.
Required API key scopes
replay_scanner:readsession_recording:readRequest parameters
- scanner_idstring
Example request
POST /api /projects /:project_id /vision /observations /search_viewedExample response
Status 204 No response body
Retrieve environment vision quota
Required API key scopes
replay_scanner:readResponse
Example request
GET /api /projects /:project_id /vision /quotaExample response
Status 200
Retrieve environment vision quota spend series
Required API key scopes
replay_scanner:readResponse
Example request
GET /api /projects /:project_id /vision /quota /spend_seriesExample response
Status 200
List all vision scanners
CRUD for Replay Vision scanners.
Required API key scopes
replay_scanner:readQuery parameters
- created_bystring
- emits_signalsboolean
- enabledstring
- experiment_idstring
- limitinteger
- offsetinteger
- order_bystringOne of:
"-created_at""-created_by""-credits_this_month""-enabled""-name""-sampling_rate""-scanner_type""-updated_at""created_at""created_by""credits_this_month""enabled""name""sampling_rate""scanner_type""updated_at" - scanner_typestring
- searchstring
- tagsstring
Response
Example request
GET /api /projects /:project_id /vision /scannersExample response
Status 200
Create vision scanners
CRUD for Replay Vision scanners.
Required API key scopes
replay_scanner:writesession_recording:readRequest parameters
- namestring
- descriptionstring
- tagsarray
- scanner_type
- goalstring | null
- creation_method
- scanner_config
- query
- sampling_ratenumber
- sampling_mode
- credit_limitinteger | null
- provider
- model
- enabledboolean
- emits_signalsboolean
- experiment_targeting
Response
Example request
POST /api /projects /:project_id /vision /scannersExample response
Status 201
Retrieve vision scanners
CRUD for Replay Vision scanners.
Required API key scopes
replay_scanner:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /vision /scanners /:idExample response
Status 200
Update vision scanners
CRUD for Replay Vision scanners.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- idstring
Request parameters
- namestring
- descriptionstring
- tagsarray
- scanner_type
- goalstring | null
- creation_method
- scanner_config
- query
- sampling_ratenumber
- sampling_mode
- credit_limitinteger | null
- provider
- model
- enabledboolean
- emits_signalsboolean
- experiment_targeting
Response
Example request
PATCH /api /projects /:project_id /vision /scanners /:idExample response
Status 200
Delete vision scanners
CRUD for Replay Vision scanners.
Required API key scopes
replay_scanner:writePath parameters
- idstring
Example request
DELETE /api /projects /:project_id /vision /scanners /:idExample response
Status 204 No response body
Create vision scanners affected cohort
Save the users this scanner matched as a static cohort, for surveys, funnels, and retention analysis.
Required API key scopes
replay_scanner:readsession_recording:readcohort:writePath parameters
- idstring
Request parameters
- window_daysintegerDefault:
30 - verdict
- tagstring | null
- min_scorenumber | null
- max_scorenumber | null
Response
Example request
POST /api /projects /:project_id /vision /scanners /:id /affected_cohortExample response
Status 201
Create vision scanners bulk observe
Apply this scanner to many sessions on demand. Starts as many as fit under the in-flight caps and monthly credit quota, reporting the rest as skipped rather than failing the batch.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- idstring
Request parameters
- session_idsarray
Response
Example request
POST /api /projects /:project_id /vision /scanners /:id /bulk_observeExample response
Status 202
Create vision scanners duplicate
Copy a scanner into a new disabled scanner named "<name> (copy)".
Copies the stored model row rather than the serializer's read representation, so a query that no longer validates survives the copy; duplicating through the create endpoint would silently drop it. Experiment targeting is the exception and follows the read path instead. Unlike create, no digest is provisioned: the copy starts disabled and unreviewed.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- idstring
Response
Example request
POST /api /projects /:project_id /vision /scanners /:id /duplicateExample response
Status 201
Retrieve vision scanners impact
Affected sessions and users for this scanner over the trailing window.
Required API key scopes
replay_scanner:readsession_recording:readPath parameters
- idstring
Query parameters
- max_scorenumber | null
- min_scorenumber | null
- tagstring | null
- verdictstring | nullOne of:
"yes""no""inconclusive" - window_daysintegerDefault:
30
Response
Example request
GET /api /projects /:project_id /vision /scanners /:id /impactExample response
Status 200
Create vision scanners observe
Apply this scanner to one specific session, on demand. Returns 202 with the workflow handle.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- idstring
Request parameters
- session_idstring
Response
Example request
POST /api /projects /:project_id /vision /scanners /:id /observeExample response
Status 200
Status 202
Status 503 The observation workflow couldn't be started.
Retrieve vision scanners self driving stats
What self-driving did with this scanner's signals: reports contributed to and PRs opened.
Required API key scopes
replay_scanner:readtask:readPath parameters
- idstring
Response
Example request
GET /api /projects /:project_id /vision /scanners /:id /self_driving_statsExample response
Status 200
List all vision scanners backfills
Historical backfills of a scanner over a closed time window (nested under a scanner).
Required API key scopes
replay_scanner:readsession_recording:readPath parameters
- scanner_idstring
Query parameters
- limitinteger
- offsetinteger
Response
Example request
GET /api /projects /:project_id /vision /scanners /:scanner_id /backfillsExample response
Status 200
Create vision scanners backfills
Create a backfill: freeze the scanner config, enumerate the exact candidate set, start the tick schedule.
The enumeration reruns here rather than trusting the client-confirmed estimate: the count is billing-relevant, so the authoritative value is computed server-side at creation time. New settled sessions between estimate and confirm can nudge total_count slightly.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- scanner_idstring
Request parameters
- window_startstring
- window_endstring
- max_total_creditsinteger
Response
Example request
POST /api /projects /:project_id /vision /scanners /:scanner_id /backfillsExample response
Status 201
Retrieve vision scanners backfills
Historical backfills of a scanner over a closed time window (nested under a scanner).
Required API key scopes
replay_scanner:readsession_recording:readPath parameters
- idstring
- scanner_idstring
Response
Example request
GET /api /projects /:project_id /vision /scanners /:scanner_id /backfills /:idExample response
Status 200
Create vision scanners backfills cancel
Stop an active backfill; already-dispatched observations finish, nothing new dispatches.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- idstring
- scanner_idstring
Request parameters
Response
Example request
POST /api /projects /:project_id /vision /scanners /:scanner_id /backfills /:id /cancelExample response
Status 200
Create vision scanners backfills resume
Restart a backfill that paused when the monthly quota ran out.
Required API key scopes
replay_scanner:writesession_recording:readPath parameters
- idstring
- scanner_idstring
Request parameters
Response
Example request
POST /api /projects /:project_id /vision /scanners /:scanner_id /backfills /:id /resume