Skip to main content

Authentication

All VRT endpoints take an API key, sent as X-API-Key or Authorization: Bearer <key>. Reads require the vrt:read scope, writes require vrt:write. Baselines are stored per project, branch, and screen name. Uploading a baseline creates the project on first use; the read and delete routes return 404 for a project slug that does not exist in your organization.

List baselines

Response

Screen names, sorted alphabetically. An empty array means the branch has no baselines yet.

Download baseline

Returns PNG image data (Content-Type: image/png), or 404 when no baseline exists for that screen.

Upload baseline

Upload a PNG image as the new baseline for a screen. Replaces the existing baseline if there is one.

Body

Raw binary PNG data — not multipart.

Response

200 OK with an empty body. An empty request body returns 400.

Delete baseline

Response

204 No Content

Promote baselines

Copy every baseline from one branch to another — typically promoting a feature branch’s approved baselines onto main. Existing baselines on the target branch are overwritten; baselines the source branch does not have are left alone.
:branch is the target branch.

Body

Response

200 OK. Returns 404 when the source branch has no baselines.
Links a project to a GitHub App installation so VRT results can be reported on pull requests.
Creates the project if it does not exist, and replaces any existing link for it. Response200 OK
Response200 OK
An unknown project or an unlinked one returns 200 with "installed": false and null fields.

See also