Authentication

API Requests

Update Comparison

PATCH
https://api.sentinus.vision/comparisons/:id

Available fields:

  • "status" - 'QUEUED','RUNNING','FINISHED','FAILED' or 'CANCELED'
  • "result" - 'PASSED','FAILED','SKIPPED' or 'ERROR'
  • "retries" - number of retries of this test, integer

Path Parameters

Parameter Value
id 123

Request Body (JSON)

{
"retries": 0,
"status": "QUEUED"
}

List Pages

GET
https://api.sentinus.vision/pages/

Lists all pages from your organization

Query Parameters

Parameter Value
orderBy created_at
orderDir desc
limit 500
offset 0

Add a Page

POST
https://api.sentinus.vision/pages/

Headers

Header Value
Content-Type application/json

Request Body (JSON)

{
"url": "https://example.org/",
"comment": null,
"page_group_id": 123
}

Update a Page: Change URL and page comment

PATCH
https://api.sentinus.vision/pages/:id

Page "url" can be a relative URL (for example "/about", in that case production, staging or development domain configured for a website will be used, or "url" can be set to an absolute URL (for example "https://example.com").

Headers

Header Value
Content-Type application/json

Path Parameters

Parameter Value
id 123

Request Body (JSON)

{
"comment": "Test comment",
"url": "http://example.org"
}

Update a Page: Pause to exclude from future test runs for now

PATCH
https://api.sentinus.vision/pages/:id

Setting "paused_at" to any non-null value will pause the page and it will be excluded from all future comparisons.

Headers

Header Value
Content-Type application/json

Path Parameters

Parameter Value
id 123

Request Body (JSON)

{
"paused_at": "2024-01-01T01:00:00.000Z"
}

Update a Page: Move to a different page group

PATCH
https://api.sentinus.vision/pages/:id

Headers

Header Value
Content-Type application/json

Path Parameters

Parameter Value
id 123

Request Body (JSON)

{
"page_group_id": 21
}

Delete a Page

DELETE
https://api.sentinus.vision/pages/:id

Path Parameters

Parameter Value
id 123

Create Screenshot for URL

GET
https://api.sentinus.vision/screenshot

NOT async, takes up to 45s

url parameter accepts special syntax for making screenshots of pages that depend on scroll.

For example:

  • https://www.example.com/@!0,2 - scroll the page 2 screen heights vertically before taking a screenshot.
  • https://www.example.com/@0,1000 - scroll the page 1000px vertically.
  • https://www.example.com/@!.container,0,1 - scroll the page 1 screen height down relative to the top of a .container element on the page

You can also supply credentials for the Basic HTTP authentication - https://user:password@example.com

Query Parameters

Parameter Value
url https://www.example.com/
width 1440
height 1024

Compare URL vs Uploaded Screenshot (NOT async, takes up to 60s)

POST
https://api.sentinus.vision/compare

Headers

Header Value
Content-Type multipart/form-data

Request Body (Multipart Form)

Parameter Value
url https://example.com
threshold 0.2
screenshot @file()

Load Screenshot by ID

GET
https://api.sentinus.vision/screenshots/:screenshot_id

Path Parameters

Parameter Value
screenshot_id 123

Load Processed Screenshot by ID

GET
https://api.sentinus.vision/screenshots/:screenshot_id/processed/

Path Parameters

Parameter Value
screenshot_id 123

Single Image With Previous, Current and Difference Screenshots Side-by-Side

GET
https://api.sentinus.vision/comparisons/:comparison_id/screenshot/

Generates a single image with previous, current and difference Screenshots side-by-side. Can be used in notifications.

Path Parameters

Parameter Value
comparison_id

List TestRuns

GET
https://api.sentinus.vision/testruns/

Query Parameters

Parameter Value
orderBy created_at
orderDir desc
limit 500
offset 0

Get TestRun Details

GET
https://api.sentinus.vision/testruns/:test_run_id/

Path Parameters

Parameter Value
test_run_id 123

Send TestRun Notifications

GET
https://api.sentinus.vision/testruns/:test_run_id/notify

Path Parameters

Parameter Value
test_run_id 123

Preview TestRun Notifications

GET
https://api.sentinus.vision/testruns/:test_run_id/notify/preview

Shows notifications (Email, Slack) that would be send for this testrun.

Path Parameters

Parameter Value
test_run_id 123

Delete TestRun Notifications (only Slack)

DELETE
https://api.sentinus.vision/testruns/:test_run_id/notify

Deletes sent Slack notifications for this testrun. Works only if Slack was connected via OAuth2, doesn't work for Webhook connections.

Path Parameters

Parameter Value
test_run_id 123

Cancel TestRun

POST
https://api.sentinus.vision/testruns/:test_run_id/cancel

Marks test run as canceled, stops all queued comparison from further processing, but allows already running ones to finish.

Path Parameters

Parameter Value
test_run_id 123

Resume Canceled TestRun

POST
https://api.sentinus.vision/testruns/:test_run_id/resume

Resumes cancelled test run by adding all canceled comparisons to processing queue.

Path Parameters

Parameter Value
test_run_id 123

Start a New Test Run

POST
https://api.sentinus.vision/tests/:test_id/run/

Starts a new test, returns test run id:

Example response:

{
          "test_run_id": 4388
          }
          

Path Parameters

Parameter Value
test_id 123

List Tests

GET
https://api.sentinus.vision/tests/

Example response:

{
          "data": [
          {
          "id": 21,
          "created_at": "2024-09-03T11:12:33.059Z",
          "updated_at": "2024-09-03T11:12:33.059Z",
          "project_id": 15,
          "name": "Test Name",
          "test_history": "NONE",
          "test_compare_from": "PROD",
          "test_compare_to": "NONE",
          "test_errors": "NONE",
          "page_groups": [
          {
          "id": 21,
          "description": "All Pages",
          "created_at": "2024-09-03T11:12:33.052Z",
          "updated_at": "2024-09-03T11:12:33.052Z",
          "website_id": 15,
          "page_group_manager_id": 4
          }
          ]
          }
          ],
          "total_count": 1
          }
          

Query Parameters

Parameter Value
orderBy created_at
orderDir desc
limit 500
offset 0

Current User Details

GET
https://api.sentinus.vision/users/me/

Example response:

{
          "data": {
          "id": 16,
          "login": "user1",
          "name": "Test user",
          "email": "",
          "created_at": "2024-09-03T11:12:33.033Z",
          "updated_at": "2024-09-03T11:12:33.033Z",
          "organization_id": 1,
          "organization": {
          "id": 1,
          "name": "Org Name",
          "created_at": "2024-09-03T11:12:33.004Z",
          "updated_at": "2024-09-17T10:22:30.061Z",
          }
          }
          }
          

List all Users within Current Organization

GET
https://api.sentinus.vision/users/

Query Parameters

Parameter Value
orderBy created_at
orderDir desc
limit 500
offset 0

Get a Website

GET
https://api.sentinus.vision/websites/:id

Headers

Header Value
Content-Type application/json

Path Parameters

Parameter Value
id 123

Add a Website

POST
https://api.sentinus.vision/websites/

Headers

Header Value
Content-Type application/json

Request Body (JSON)

{
"name": "Example",
"prod_domain": " https://example.com/ ",
"project_id": 1
}

Update a Website

PATCH
https://api.sentinus.vision/websites/:id

Headers

Header Value
Content-Type application/json

Path Parameters

Parameter Value
id 123

Request Body (JSON)

{
"name": "Example 1",
"dev_domain": "https://dev.example.com"
}

Delete a Website

DELETE
https://api.sentinus.vision/websites/:id

Path Parameters

Parameter Value
id 123

List Websites

GET
https://api.sentinus.vision/websites/

Query Parameters

Parameter Value
orderBy created_at
orderDir desc
limit 500
offset 0