API Reference
This page documents the most commonly used endpoints. For the full API documentation, see the Swagger UI. All API endpoints require a project-scoped Bearer token, which you can create from your project settings. Pass it via the Authorization header.
POST /runs
Create a new run. Send a JSON body with metadata fields.
curl https://pixel-eagle.com/runs \
--json '{"gitref": "abc123", "branch": "main"}' \
--oauth2-bearer $token POST /runs/:run_id
Upload a screenshot to a run. Use multipart form data with data (the image file) and screenshot (the name).
curl https://pixel-eagle.com/runs/$run_id \ -F 'data=@file.png' \ -F 'screenshot=home-page' \ --oauth2-bearer $token
POST /runs/:run_id_a/compare/:run_id_b
Trigger a comparison between two runs. Screenshots are matched by name.
curl https://pixel-eagle.com/runs/$run_id_a/compare/$run_id_b \ -X POST --oauth2-bearer $token
GET /runs/:run_id_a/compare/:run_id_b
Retrieve comparison results. Poll this endpoint until all screenshot comparisons are complete.
POST /runs/:run_id/compare/auto
Automatically find a matching run to compare against based on metadata filters. See Auto Comparison for details.
curl https://pixel-eagle.com/runs/$run_id/compare/auto \
--json '{"branch": "main"}' \
--oauth2-bearer $token POST /runs/:run_id/hashes
Send screenshot hashes before uploading. If the server already has the image, the upload can be skipped - saving bandwidth in CI pipelines where screenshots rarely change.