openapi: 3.0.3
info:
title: 'WebChange Detector'
description: 'This documentation aims to provide you with all the information you need to integrate WebChange Detector into your workflow.'
version: 1.0.0
servers:
-
url: 'https://api.webchangedetector.com'
tags:
-
name: Account
description: 'This object represents your account with WCD'
-
name: Batch
description: 'This object represents Batches of Queues.'
-
name: Comparison
description: 'This object represents the comparison between 2 `Screenshots` and how they differ.'
-
name: Group
description: 'This object groups together a list of URLs and group wide settings for them.'
-
name: Queue
description: 'This object represents a log of taking screenshots, comparing screenshots and their status.'
-
name: Screenshot
description: "This object represents the actual screenshot and the location it's stored at."
-
name: Subaccount
description: 'This object represents a Subaccount'
-
name: Url
description: 'This object represents a single URL and specific settings'
-
name: Webhook
description: 'This object contains the webhook calls a user can set to be notified for various events.'
-
name: Website
description: 'This object represents Websites.'
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token on webchangedetector.com or via the plugin.'
security:
-
default: []
paths:
/api/v2/account:
get:
summary: 'Get Account'
operationId: getAccount
description: 'Retrieves your Account. The fields `plan`, `plan_name`, `company` and `magic_login_secret` only come for full accounts (not sub accounts).'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 041c6528-783f-4e7e-b831-1a424ffeb8f3
name_first: Hans
name_last: Hacker
email: mail@example.com
plan: agency
plan_name: Agency
company: 'ACME Ltd'
webhook_secret: zq3csqdst0txgo5qe9mkqsourrxo56wd
magic_login_secret: WdKnLLcsDxpJdfmv
is_subaccount: false
checks_done: 6982
checks_left: 3018
checks_limit: 10000
timezone: UTC
status: active
renewal_at: '2025-01-01 13:37:42'
properties:
data:
type: object
properties:
id:
type: string
example: 041c6528-783f-4e7e-b831-1a424ffeb8f3
name_first:
type: string
example: Hans
name_last:
type: string
example: Hacker
email:
type: string
example: mail@example.com
plan:
type: string
example: agency
plan_name:
type: string
example: Agency
company:
type: string
example: 'ACME Ltd'
webhook_secret:
type: string
example: zq3csqdst0txgo5qe9mkqsourrxo56wd
magic_login_secret:
type: string
example: WdKnLLcsDxpJdfmv
is_subaccount:
type: boolean
example: false
checks_done:
type: integer
example: 6982
checks_left:
type: integer
example: 3018
checks_limit:
type: integer
example: 10000
timezone:
type: string
example: UTC
status:
type: string
example: active
renewal_at:
type: string
example: '2025-01-01 13:37:42'
tags:
- Account
put:
summary: 'Update Account'
operationId: updateAccount
description: "Updates your `Account` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 041c6528-783f-4e7e-b831-1a424ffeb8f3
name_first: Jane
name_last: Doe
email: mail@example.com
plan: agency
plan_name: Agency
company: 'ACME LLC'
webhook_secret: zq3csqdst0txgo5qe9mkqsourrxo56wd
magic_login_secret: WdKnLLcsDxpJdfmv
is_subaccount: false
checks_done: 42
checks_left: 1337
checks_limit: 1379
timezone: UTC
status: active
renewal_at: '2025-01-01 13:37:42'
properties:
data:
type: object
properties:
id:
type: string
example: 041c6528-783f-4e7e-b831-1a424ffeb8f3
name_first:
type: string
example: Jane
name_last:
type: string
example: Doe
email:
type: string
example: mail@example.com
plan:
type: string
example: agency
plan_name:
type: string
example: Agency
company:
type: string
example: 'ACME LLC'
webhook_secret:
type: string
example: zq3csqdst0txgo5qe9mkqsourrxo56wd
magic_login_secret:
type: string
example: WdKnLLcsDxpJdfmv
is_subaccount:
type: boolean
example: false
checks_done:
type: integer
example: 42
checks_left:
type: integer
example: 1337
checks_limit:
type: integer
example: 1379
timezone:
type: string
example: UTC
status:
type: string
example: active
renewal_at:
type: string
example: '2025-01-01 13:37:42'
tags:
- Account
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name_first:
type: string
description: 'First Name'
example: Jane
nullable: false
name_last:
type: string
description: 'Last Name'
example: Doe
nullable: false
company:
type: string
description: 'Company Name'
example: 'ACME LLC'
nullable: false
/api/v2/batches:
get:
summary: 'List Batches'
operationId: listBatches
description: "Returns a list of all `Batch`. The `Batches` are sorted by creation date, with\nthe most recent `Batches` appearing first."
parameters:
-
in: query
name: above_threshold
description: 'Only show Batches where there is a change detected between 2 screenshots.'
example: false
required: false
schema:
type: boolean
description: 'Only show Batches where there is a change detected between 2 screenshots.'
example: false
nullable: false
-
in: query
name: from
description: 'Start date for filter. Must be a valid date.'
example: '2024-07-01'
required: false
schema:
type: string
description: 'Start date for filter. Must be a valid date.'
example: '2024-07-01'
nullable: false
-
in: query
name: to
description: 'End date for filter, defaults to today. Must be a valid date.'
example: '2024-07-04'
required: false
schema:
type: string
description: 'End date for filter, defaults to today. Must be a valid date.'
example: '2024-07-04'
nullable: false
-
in: query
name: status
description: 'Comma separated list of Comparison status to filter for.'
example: 'to_fix,false_positive'
required: false
schema:
type: string
description: 'Comma separated list of Comparison status to filter for.'
example: 'to_fix,false_positive'
nullable: false
-
in: query
name: queue_type
description: 'Comma separated list of Queue types to filter for.'
example: 'post,comparison'
required: false
schema:
type: string
description: 'Comma separated list of Queue types to filter for.'
example: 'post,comparison'
nullable: false
-
in: query
name: group_ids
description: 'Comma separated list of Group IDs.'
example: '023c282c-6513-420a-a36b-a654312ab229,023c282c-6513-420a-a36b-a654312ab230'
required: false
schema:
type: string
description: 'Comma separated list of Group IDs.'
example: '023c282c-6513-420a-a36b-a654312ab229,023c282c-6513-420a-a36b-a654312ab230'
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 0d5f8108-51f1-4961-939a-2d33c7145918
name: Foobar
sc_version: '2.0'
finished_at: '2024-07-29 13:37:42'
comparisons_count:
ok: 0
new: 1
false_positive: 0
to_fix: 0
above_threshold: 10
queues_count:
failed: 0
browser_console_count:
added: 1
removed: 0
mixed: 0
unchanged: 0
links:
first: 'http://api.webchangedetector.test/api/v2/batches?page=1'
last: 'http://api.webchangedetector.test/api/v2/batches?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/batches?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/batches'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 0d5f8108-51f1-4961-939a-2d33c7145918
name: Foobar
sc_version: '2.0'
finished_at: '2024-07-29 13:37:42'
comparisons_count:
ok: 0
new: 1
false_positive: 0
to_fix: 0
above_threshold: 10
queues_count:
failed: 0
browser_console_count:
added: 1
removed: 0
mixed: 0
unchanged: 0
items:
type: object
properties:
id:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
name:
type: string
example: Foobar
sc_version:
type: string
example: '2.0'
finished_at:
type: string
example: '2024-07-29 13:37:42'
comparisons_count:
type: object
properties:
ok:
type: integer
example: 0
new:
type: integer
example: 1
false_positive:
type: integer
example: 0
to_fix:
type: integer
example: 0
above_threshold:
type: integer
example: 10
queues_count:
type: object
properties:
failed:
type: integer
example: 0
browser_console_count:
type: object
properties:
added:
type: integer
example: 1
removed:
type: integer
example: 0
mixed:
type: integer
example: 0
unchanged:
type: integer
example: 0
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/batches?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/batches?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/batches?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/batches'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Batch
'/api/v2/batches/{id}':
get:
summary: 'Get Batch'
operationId: getBatch
description: 'Retrieves a `Batch` object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 0d5f8108-51f1-4961-939a-2d33c7145918
name: Foobar
sc_version: '2.0'
finished_at: '2024-07-29 13:37:42'
comparisons_count:
ok: 0
new: 1
false_positive: 0
to_fix: 0
above_threshold: 10
queues_count:
failed: 0
browser_console_count:
added: 1
removed: 0
mixed: 0
unchanged: 0
properties:
data:
type: object
properties:
id:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
name:
type: string
example: Foobar
sc_version:
type: string
example: '2.0'
finished_at:
type: string
example: '2024-07-29 13:37:42'
comparisons_count:
type: object
properties:
ok:
type: integer
example: 0
new:
type: integer
example: 1
false_positive:
type: integer
example: 0
to_fix:
type: integer
example: 0
above_threshold:
type: integer
example: 10
queues_count:
type: object
properties:
failed:
type: integer
example: 0
browser_console_count:
type: object
properties:
added:
type: integer
example: 1
removed:
type: integer
example: 0
mixed:
type: integer
example: 0
unchanged:
type: integer
example: 0
tags:
- Batch
put:
summary: 'Update Batch'
operationId: updateBatch
description: "Updates the specified `Batch` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 0d5f8108-51f1-4961-939a-2d33c7145918
name: Foobar
sc_version: '2.0'
finished_at: '2024-07-29 13:37:42'
comparisons_count:
ok: 0
new: 1
false_positive: 0
to_fix: 0
above_threshold: 10
queues_count:
failed: 0
browser_console_count:
added: 1
removed: 0
mixed: 0
unchanged: 0
properties:
id:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
name:
type: string
example: Foobar
sc_version:
type: string
example: '2.0'
finished_at:
type: string
example: '2024-07-29 13:37:42'
comparisons_count:
type: object
properties:
ok:
type: integer
example: 0
new:
type: integer
example: 1
false_positive:
type: integer
example: 0
to_fix:
type: integer
example: 0
above_threshold:
type: integer
example: 10
queues_count:
type: object
properties:
failed:
type: integer
example: 0
browser_console_count:
type: object
properties:
added:
type: integer
example: 1
removed:
type: integer
example: 0
mixed:
type: integer
example: 0
unchanged:
type: integer
example: 0
tags:
- Batch
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'The name of the Batch.'
example: Foobar
nullable: false
required:
- name
parameters:
-
in: path
name: id
description: 'The ID of the Batch.'
example: 0d5f8108-51f1-4961-939a-2d33c7145918
required: true
schema:
type: string
/api/v2/comparisons:
get:
summary: 'List Comparisons'
operationId: listComparisons
description: "Returns a list of all `Comparison`. The `Comparisons` are sorted by creation date, with\nthe most recent `Comparisons` appearing first."
parameters:
-
in: query
name: above_threshold
description: 'Is a change detected between 2 screenshots.'
example: false
required: false
schema:
type: boolean
description: 'Is a change detected between 2 screenshots.'
example: false
nullable: false
-
in: query
name: from
description: 'Start date for filter. Must be a valid date.'
example: '2024-07-01'
required: false
schema:
type: string
description: 'Start date for filter. Must be a valid date.'
example: '2024-07-01'
nullable: false
-
in: query
name: to
description: 'End date for filter, defaults to today. Must be a valid date.'
example: '2024-07-04'
required: false
schema:
type: string
description: 'End date for filter, defaults to today. Must be a valid date.'
example: '2024-07-04'
nullable: false
-
in: query
name: status
description: 'Comma separated list of status to filter for.'
example: 'to_fix,false_positive'
required: false
schema:
type: string
description: 'Comma separated list of status to filter for.'
example: 'to_fix,false_positive'
nullable: false
-
in: query
name: groups
description: 'Comma separated list of group IDs.'
example: '023c282c-6513-420a-a36b-a654312ab229,023c282c-6513-420a-a36b-a654312ab230'
required: false
schema:
type: string
description: 'Comma separated list of group IDs.'
example: '023c282c-6513-420a-a36b-a654312ab229,023c282c-6513-420a-a36b-a654312ab230'
nullable: false
-
in: query
name: batches
description: 'Batch IDs.'
example: '0d5f8108-51f1-4961-939a-2d33c7145918,1d5f8108-51f1-4961-939a-2d33c7145918'
required: false
schema:
type: string
description: 'Batch IDs.'
example: '0d5f8108-51f1-4961-939a-2d33c7145918,1d5f8108-51f1-4961-939a-2d33c7145918'
nullable: false
-
in: query
name: token
description: ''
example: commodi
required: false
schema:
type: string
description: ''
example: commodi
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at: '2025-01-01 13:37:00'
screenshot_1_updated_at: '2025-01-01 13:37:01'
screenshot_1_link: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at: '2025-01-01 13:37:00'
screenshot_2_updated_at: '2025-01-01 13:37:01'
screenshot_2_link: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title: Foobar
device: mobile
monitoring: true
group: 023c282c-6513-420a-a36b-a654312ab229
group_name: Barfoo
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link: 'https://storage.webchangedetector.com/folder/comparison.png'
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name: 'Auto Update Checks'
difference_percent: 0.4
threshold: 0.2
status: new
public_link: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token: f00b4r
url: 'https://example.com'
url_id: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms: wordpress
created_at: '2025-01-01 13:37:00'
links:
first: 'http://api.webchangedetector.test/api/v2/comparisons?page=1'
last: 'http://api.webchangedetector.test/api/v2/comparisons?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/comparisons?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/comparisons'
per_page: 15
to: 1
total: 1
above_threshold_count: 3
properties:
data:
type: array
example:
-
id: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at: '2025-01-01 13:37:00'
screenshot_1_updated_at: '2025-01-01 13:37:01'
screenshot_1_link: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at: '2025-01-01 13:37:00'
screenshot_2_updated_at: '2025-01-01 13:37:01'
screenshot_2_link: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title: Foobar
device: mobile
monitoring: true
group: 023c282c-6513-420a-a36b-a654312ab229
group_name: Barfoo
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link: 'https://storage.webchangedetector.com/folder/comparison.png'
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name: 'Auto Update Checks'
difference_percent: 0.4
threshold: 0.2
status: new
public_link: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token: f00b4r
url: 'https://example.com'
url_id: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms: wordpress
created_at: '2025-01-01 13:37:00'
items:
type: object
properties:
id:
type: string
example: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at:
type: string
example: '2025-01-01 13:37:00'
screenshot_1_updated_at:
type: string
example: '2025-01-01 13:37:01'
screenshot_1_link:
type: string
example: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at:
type: string
example: '2025-01-01 13:37:00'
screenshot_2_updated_at:
type: string
example: '2025-01-01 13:37:01'
screenshot_2_link:
type: string
example: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title:
type: string
example: Foobar
device:
type: string
example: mobile
monitoring:
type: boolean
example: true
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
group_name:
type: string
example: Barfoo
queue:
type: string
example: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link:
type: string
example: 'https://storage.webchangedetector.com/folder/comparison.png'
batch:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name:
type: string
example: 'Auto Update Checks'
difference_percent:
type: number
example: 0.4
threshold:
type: number
example: 0.2
status:
type: string
example: new
public_link:
type: string
example: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token:
type: string
example: f00b4r
url:
type: string
example: 'https://example.com'
url_id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms:
type: string
example: wordpress
created_at:
type: string
example: '2025-01-01 13:37:00'
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/comparisons?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/comparisons?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/comparisons?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/comparisons'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
above_threshold_count:
type: integer
example: 3
tags:
- Comparison
'/api/v2/comparisons/{id}':
get:
summary: 'Get Comparison'
operationId: getComparison
description: 'Retrieves a `Comparison` object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at: '2025-01-01 13:37:00'
screenshot_1_updated_at: '2025-01-01 13:37:01'
screenshot_1_link: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at: '2025-01-01 13:37:00'
screenshot_2_updated_at: '2025-01-01 13:37:01'
screenshot_2_link: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title: Foobar
device: mobile
monitoring: true
group: 023c282c-6513-420a-a36b-a654312ab229
group_name: Barfoo
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link: 'https://storage.webchangedetector.com/folder/comparison.png'
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name: 'Auto Update Checks'
difference_percent: 0.4
threshold: 0.2
status: new
public_link: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token: f00b4r
url: 'https://example.com'
url_id: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms: wordpress
created_at: '2025-01-01 13:37:00'
properties:
data:
type: object
properties:
id:
type: string
example: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at:
type: string
example: '2025-01-01 13:37:00'
screenshot_1_updated_at:
type: string
example: '2025-01-01 13:37:01'
screenshot_1_link:
type: string
example: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at:
type: string
example: '2025-01-01 13:37:00'
screenshot_2_updated_at:
type: string
example: '2025-01-01 13:37:01'
screenshot_2_link:
type: string
example: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title:
type: string
example: Foobar
device:
type: string
example: mobile
monitoring:
type: boolean
example: true
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
group_name:
type: string
example: Barfoo
queue:
type: string
example: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link:
type: string
example: 'https://storage.webchangedetector.com/folder/comparison.png'
batch:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name:
type: string
example: 'Auto Update Checks'
difference_percent:
type: number
example: 0.4
threshold:
type: number
example: 0.2
status:
type: string
example: new
public_link:
type: string
example: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token:
type: string
example: f00b4r
url:
type: string
example: 'https://example.com'
url_id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms:
type: string
example: wordpress
created_at:
type: string
example: '2025-01-01 13:37:00'
tags:
- Comparison
put:
summary: 'Update Comparison'
operationId: updateComparison
description: "Updates the specified `Comparison` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at: '2025-01-01 13:37:00'
screenshot_1_updated_at: '2025-01-01 13:37:01'
screenshot_1_link: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at: '2025-01-01 13:37:00'
screenshot_2_updated_at: '2025-01-01 13:37:01'
screenshot_2_link: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title: Foobar
device: mobile
monitoring: true
group: 023c282c-6513-420a-a36b-a654312ab229
group_name: Barfoo
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link: 'https://storage.webchangedetector.com/folder/comparison.png'
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name: 'Auto Update Checks'
difference_percent: 0.4
threshold: 0.2
status: new
public_link: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token: f00b4r
url: 'https://example.com'
url_id: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms: wordpress
created_at: '2025-01-01 13:37:00'
properties:
id:
type: string
example: 21cf8800-f906-4fa3-b1db-ed3d2977354d
screenshot_1:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
screenshot_1_created_at:
type: string
example: '2025-01-01 13:37:00'
screenshot_1_updated_at:
type: string
example: '2025-01-01 13:37:01'
screenshot_1_link:
type: string
example: 'https://storage.webchangedetector.com/folder/screenshot1.png'
screenshot_2:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadaf
screenshot_2_created_at:
type: string
example: '2025-01-01 13:37:00'
screenshot_2_updated_at:
type: string
example: '2025-01-01 13:37:01'
screenshot_2_link:
type: string
example: 'https://storage.webchangedetector.com/folder/screenshot2.png'
html_title:
type: string
example: Foobar
device:
type: string
example: mobile
monitoring:
type: boolean
example: true
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
group_name:
type: string
example: Barfoo
queue:
type: string
example: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
link:
type: string
example: 'https://storage.webchangedetector.com/folder/comparison.png'
batch:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
batch_name:
type: string
example: 'Auto Update Checks'
difference_percent:
type: number
example: 0.4
threshold:
type: number
example: 0.2
status:
type: string
example: new
public_link:
type: string
example: 'https://www.webchangedetector.com/show-change-detection?token=f00b4r'
token:
type: string
example: f00b4r
url:
type: string
example: 'https://example.com'
url_id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
cms:
type: string
example: wordpress
created_at:
type: string
example: '2025-01-01 13:37:00'
tags:
- Comparison
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: 'Mark the comparison as a false positive, as fixed or simply ok.'
example: false_positive
nullable: false
enum:
- false_positive
- ok
- to_fix
required:
- status
parameters:
-
in: path
name: id
description: 'The ID of the Comparison.'
example: 21cf8800-f906-4fa3-b1db-ed3d2977354d
required: true
schema:
type: string
/api/v2/groups:
get:
summary: 'List Groups'
operationId: listGroups
description: "Returns a list of all Groups. The Groups are sorted by creation date, with\nthe most recent Groups appearing first."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 023c282c-6513-420a-a36b-a654312ab229
name: 'Example Group'
monitoring: true
enabled: true
hour_of_day: 0
interval_in_h: 24
alert_emails: 'hello@example.com,test@foobar.com'
css: null
js: null
cms: wordpress
threshold: 0.2
urls_count: 42
selected_urls_count: 37
links:
first: 'http://api.webchangedetector.test/api/v2/groups?page=1'
last: 'http://api.webchangedetector.test/api/v2/groups?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/groups?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/groups'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 023c282c-6513-420a-a36b-a654312ab229
name: 'Example Group'
monitoring: true
enabled: true
hour_of_day: 0
interval_in_h: 24
alert_emails: 'hello@example.com,test@foobar.com'
css: null
js: null
cms: wordpress
threshold: 0.2
urls_count: 42
selected_urls_count: 37
items:
type: object
properties:
id:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
name:
type: string
example: 'Example Group'
monitoring:
type: boolean
example: true
enabled:
type: boolean
example: true
hour_of_day:
type: integer
example: 0
interval_in_h:
type: integer
example: 24
alert_emails:
type: string
example: 'hello@example.com,test@foobar.com'
css:
type: string
example: null
js:
type: string
example: null
cms:
type: string
example: wordpress
threshold:
type: number
example: 0.2
urls_count:
type: integer
example: 42
selected_urls_count:
type: integer
example: 37
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/groups?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/groups?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/groups?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/groups'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Group
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
per_page:
type: integer
description: ''
example: 10
nullable: false
monitoring:
type: boolean
description: ''
example: false
nullable: false
post:
summary: 'Create Group'
operationId: createGroup
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 023c282c-6513-420a-a36b-a654312ab229
name: 'Example Group'
monitoring: true
enabled: true
hour_of_day: 0
interval_in_h: 24
alert_emails: 'hello@example.com,test@foobar.com'
css: '.btn {visibility: none;}'
js: ''
cms: wordpress
threshold: 0.2
urls_count: 42
selected_urls_count: 37
properties:
data:
type: object
properties:
id:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
name:
type: string
example: 'Example Group'
monitoring:
type: boolean
example: true
enabled:
type: boolean
example: true
hour_of_day:
type: integer
example: 0
interval_in_h:
type: integer
example: 24
alert_emails:
type: string
example: 'hello@example.com,test@foobar.com'
css:
type: string
example: '.btn {visibility: none;}'
js:
type: string
example: ''
cms:
type: string
example: wordpress
threshold:
type: number
example: 0.2
urls_count:
type: integer
example: 42
selected_urls_count:
type: integer
example: 37
tags:
- Group
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the Group.'
example: 'Example Group'
nullable: false
monitoring:
type: boolean
description: 'Defaults to false.'
example: true
nullable: false
enum:
- 'true'
- 'false'
enabled:
type: boolean
description: 'Defaults to true.'
example: true
nullable: false
enum:
- 'true'
- 'false'
hour_of_day:
type: integer
description: 'Which hour of the day are the auto updates executed. Defaults to 0'
example: 0
nullable: false
interval_in_h:
type: number
description: 'One of the following intervals of the hour. Defaults to 24'
example: 24
nullable: false
enum:
- 0.25
- 0.5
- 3
- 6
- 12
- 24
alert_emails:
type: array
description: 'A list of emails to notify. Defaults to the account email.'
example:
- hello@example.com
- mail@example.com
items:
type: string
css:
type: string
description: 'CSS to be injected before the screenshot is taken for all URLs in this group'
example: '.btn {visibility: none;}'
nullable: false
js:
type: string
description: 'JavaScript to be injected before the screenshot is taken for all URLs in this group'
example: ''
nullable: false
threshold:
type: numeric
description: 'Difference in percent of when this counts as a change detection for all URLs in this group'
example: 0.4
nullable: false
required:
- name
'/api/v2/groups/{id}':
get:
summary: 'Get Group'
operationId: getGroup
description: 'Retrieves a Group object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 023c282c-6513-420a-a36b-a654312ab229
name: 'Example Group'
monitoring: true
enabled: true
hour_of_day: 0
interval_in_h: 24
alert_emails: 'hello@example.com,test@foobar.com'
css: null
js: null
cms: wordpress
threshold: 0.2
urls_count: 42
selected_urls_count: 37
properties:
data:
type: object
properties:
id:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
name:
type: string
example: 'Example Group'
monitoring:
type: boolean
example: true
enabled:
type: boolean
example: true
hour_of_day:
type: integer
example: 0
interval_in_h:
type: integer
example: 24
alert_emails:
type: string
example: 'hello@example.com,test@foobar.com'
css:
type: string
example: null
js:
type: string
example: null
cms:
type: string
example: wordpress
threshold:
type: number
example: 0.2
urls_count:
type: integer
example: 42
selected_urls_count:
type: integer
example: 37
tags:
- Group
put:
summary: 'Update Group'
operationId: updateGroup
description: "Updates the specified `Group` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 023c282c-6513-420a-a36b-a654312ab229
name: 'Example Group'
monitoring: true
enabled: true
hour_of_day: 0
interval_in_h: 24
alert_emails: 'hello@example.com,test@foobar.com'
css: '.btn {visibility: none;}'
js: ''
cms: wordpress
threshold: 0.2
urls_count: 42
selected_urls_count: 37
properties:
data:
type: object
properties:
id:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
name:
type: string
example: 'Example Group'
monitoring:
type: boolean
example: true
enabled:
type: boolean
example: true
hour_of_day:
type: integer
example: 0
interval_in_h:
type: integer
example: 24
alert_emails:
type: string
example: 'hello@example.com,test@foobar.com'
css:
type: string
example: '.btn {visibility: none;}'
js:
type: string
example: ''
cms:
type: string
example: wordpress
threshold:
type: number
example: 0.2
urls_count:
type: integer
example: 42
selected_urls_count:
type: integer
example: 37
tags:
- Group
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Name of the Group.'
example: 'Example Group'
nullable: false
monitoring:
type: boolean
description: 'Defaults to false.'
example: true
nullable: false
enum:
- 'true'
- 'false'
enabled:
type: boolean
description: 'Defaults to true.'
example: true
nullable: false
enum:
- 'true'
- 'false'
hour_of_day:
type: integer
description: 'Which hour of the day are the auto updates executed. Defaults to 0'
example: 0
nullable: false
interval_in_h:
type: number
description: 'One of the following intervals of the hour. Defaults to 24'
example: 24
nullable: false
enum:
- 0.25
- 0.5
- 3
- 6
- 12
- 24
alert_emails:
type: array
description: 'A list of emails to notify. Defaults to the account email.'
example:
- hello@example.com
- mail@example.com
items:
type: string
css:
type: string
description: 'CSS to be injected before the screenshot is taken for all URLs in this group'
example: '.btn {visibility: none;}'
nullable: false
js:
type: string
description: 'JavaScript to be injected before the screenshot is taken for all URLs in this group'
example: ''
nullable: false
threshold:
type: numeric
description: 'Difference in percent of when this counts as a change detection for all URLs in this group'
example: 0.4
nullable: false
delete:
summary: 'Delete Group'
operationId: deleteGroup
description: "Permanently deletes a `Group`. This cannot be undone.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '{ID} deleted'
properties:
message:
type: string
example: '{ID} deleted'
tags:
- Group
parameters:
-
in: path
name: id
description: 'The ID of the Group.'
example: 023c282c-6513-420a-a36b-a654312ab229
required: true
schema:
type: string
'/api/v2/groups/{id}/add-urls':
post:
summary: 'Add Urls To Group'
operationId: addUrlsToGroup
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
count: '{Amount of URLs added}'
properties:
count:
type: string
example: '{Amount of URLs added}'
tags:
- Group
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
urls:
type: array
description: 'Array of URLs with their settings in this Group'
example:
-
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
desktop: true
-
id: 418e0748-a9cf-480b-86d6-88b00bac00c1
mobile: false
items:
type: string
required:
- urls
parameters:
-
in: path
name: id
description: 'The ID of the Group.'
example: 023c282c-6513-420a-a36b-a654312ab229
required: true
schema:
type: string
'/api/v2/groups/{id}/remove-urls':
post:
summary: 'Remove Urls From Group'
operationId: removeUrlsFromGroup
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
count: '{Amount of URLs removed}'
properties:
count:
type: string
example: '{Amount of URLs removed}'
tags:
- Group
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
urls:
type: array
description: 'Array of URL IDs'
example:
- 418e0748-a9cf-480b-86d6-88b00bac00b9
- 418e0748-a9cf-480b-86d6-88b00bac00c1
items:
type: string
required:
- urls
parameters:
-
in: path
name: id
description: 'The ID of the Group.'
example: 023c282c-6513-420a-a36b-a654312ab229
required: true
schema:
type: string
'/api/v2/groups/{id}/urls':
get:
summary: 'List Urls For Group'
operationId: listUrlsForGroup
description: 'Returns a list of all `Urls`. The `Urls` are sorted by creation date, with the most recent `Urls` appearing first.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
desktop: true
mobile: true
css: null
js: null
threshold: null
group: 023c282c-6513-420a-a36b-a654312ab229
links:
first: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls?page=1'
last: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls'
per_page: 15
to: 1
total: 1
selected_urls_count: 1
properties:
data:
type: array
example:
-
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
desktop: true
mobile: true
css: null
js: null
threshold: null
group: 023c282c-6513-420a-a36b-a654312ab229
items:
type: object
properties:
id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title:
type: string
example: 'Example Title'
url:
type: string
example: example.com/foobar
last_crawled_at:
type: string
example: '2025-01-01 13:37:42'
desktop:
type: boolean
example: true
mobile:
type: boolean
example: true
css:
type: string
example: null
js:
type: string
example: null
threshold:
type: string
example: null
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/groups/023c282c-6513-420a-a36b-a654312ab229/urls'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
selected_urls_count:
type: integer
example: 1
tags:
- Group
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
per_page:
type: integer
description: ''
example: 1
nullable: false
type:
type: string
description: ''
example: adipisci
nullable: false
category:
type: string
description: ''
example: est
nullable: false
search:
type: string
description: ''
example: qui
nullable: false
url_ids:
type: string
description: ''
example: quasi
nullable: false
parameters:
-
in: path
name: id
description: 'The ID of the Group.'
example: 023c282c-6513-420a-a36b-a654312ab229
required: true
schema:
type: string
-
in: path
name: type
description: 'URL Type.'
example: foobar
required: true
schema:
type: string
-
in: path
name: category
description: Category.
example: barfoo
required: true
schema:
type: string
-
in: path
name: search
description: 'Search in html_title and url.'
example: loremipsum
required: true
schema:
type: string
-
in: path
name: url_ids
description: 'Comma separated list of URL UUIDs'
example: doloribus
required: true
schema:
type: string
'/api/v2/groups/{group_id}/urls/{url_id}':
put:
summary: 'Update Url In Group'
operationId: updateUrlInGroup
description: 'Updates a URL within a group.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
desktop: true
mobile: true
css: '.btn {visibility: none;}'
js: null
threshold: null
group: 023c282c-6513-420a-a36b-a654312ab229
meta:
selected_urls_count: 1
properties:
data:
type: object
properties:
id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title:
type: string
example: 'Example Title'
url:
type: string
example: example.com/foobar
last_crawled_at:
type: string
example: '2025-01-01 13:37:42'
desktop:
type: boolean
example: true
mobile:
type: boolean
example: true
css:
type: string
example: '.btn {visibility: none;}'
js:
type: string
example: null
threshold:
type: string
example: null
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
meta:
type: object
properties:
selected_urls_count:
type: integer
example: 1
tags:
- Group
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
desktop:
type: boolean
description: 'Should a desktop screenshot be taken'
example: true
nullable: false
enum:
- 'true'
- 'false'
mobile:
type: boolean
description: 'Should a mobile screenshot be taken'
example: true
nullable: false
enum:
- 'true'
- 'false'
css:
type: string
description: 'CSS to be injected before the screenshot is taken'
example: '.btn {visibility: none;}'
nullable: false
js:
type: string
description: 'JavaScript to be injected before the screenshot is taken'
example: quae
nullable: false
threshold:
type: numeric
description: 'Difference in percent of when this counts as a change detection'
example: 0.4
nullable: false
parameters:
-
in: path
name: group_id
description: 'The ID of the Group.'
example: 023c282c-6513-420a-a36b-a654312ab229
required: true
schema:
type: string
-
in: path
name: url_id
description: 'The ID of the URL in that Group.'
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
required: true
schema:
type: string
'/api/v2/groups/{group_id}/urls':
put:
summary: 'Update All Urls In Group'
operationId: updateAllUrlsInGroup
description: 'Updates all URLs within a group.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '42 URLs in Group 023c282c-6513-420a-a36b-a654312ab229 changed'
properties:
message:
type: string
example: '42 URLs in Group 023c282c-6513-420a-a36b-a654312ab229 changed'
tags:
- Group
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
urls:
type: array
description: 'Array of URLs with settings'
example:
-
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
desktop: true
mobile: true
css: null
js: null
threshold: 0.4
items:
type: string
parameters:
-
in: path
name: group_id
description: 'The ID of the Group.'
example: 023c282c-6513-420a-a36b-a654312ab229
required: true
schema:
type: string
/api/v2/queues:
get:
summary: 'List Queues'
operationId: listQueues
description: 'Returns a list of all `Queues`. The `Queues` are sorted by creation date, with the most recent `Queues` appearing first.'
parameters:
-
in: query
name: status
description: 'Comma separated list of status to filter for.'
example: 'done,failed'
required: false
schema:
type: string
description: 'Comma separated list of status to filter for.'
example: 'done,failed'
nullable: false
-
in: query
name: groups
description: 'Comma separated list of Group UUIDs to filter for.'
example: '023c282c-6513-420a-a36b-a654312ab229,023c282c-6513-420a-a36b-a654312ab230'
required: false
schema:
type: string
description: 'Comma separated list of Group UUIDs to filter for.'
example: '023c282c-6513-420a-a36b-a654312ab229,023c282c-6513-420a-a36b-a654312ab230'
nullable: false
-
in: query
name: batches
description: 'Comma separated list of Batch UUIDs to filter for.'
example: '0d5f8108-51f1-4961-939a-2d33c7145918,1d5f8108-51f1-4961-939a-2d33c7145918'
required: false
schema:
type: string
description: 'Comma separated list of Batch UUIDs to filter for.'
example: '0d5f8108-51f1-4961-939a-2d33c7145918,1d5f8108-51f1-4961-939a-2d33c7145918'
nullable: false
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 3bf0cec1-e8ee-49ba-804e-0db5ed93a7e3
url: 418e0748-a9cf-480b-86d6-88b00bac00b9
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
group: 023c282c-6513-420a-a36b-a654312ab229
device: desktop
status: open
error_msg: null
sc_type: pre
css: null
js: null
monitoring: true
url_link: 'https://example.com'
html_title: 'Example Title'
image_link: 'https://images.webchangedetector.com/image.jpg'
created_at: '2024-08-08 13:37:42'
updated_at: '2024-08-08 13:37:42'
links:
first: 'http://api.webchangedetector.test/api/v2/queues?page=1'
last: 'http://api.webchangedetector.test/api/v2/queues?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/queues?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/queues'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 3bf0cec1-e8ee-49ba-804e-0db5ed93a7e3
url: 418e0748-a9cf-480b-86d6-88b00bac00b9
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
group: 023c282c-6513-420a-a36b-a654312ab229
device: desktop
status: open
error_msg: null
sc_type: pre
css: null
js: null
monitoring: true
url_link: 'https://example.com'
html_title: 'Example Title'
image_link: 'https://images.webchangedetector.com/image.jpg'
created_at: '2024-08-08 13:37:42'
updated_at: '2024-08-08 13:37:42'
items:
type: object
properties:
id:
type: string
example: 3bf0cec1-e8ee-49ba-804e-0db5ed93a7e3
url:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
batch:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
device:
type: string
example: desktop
status:
type: string
example: open
error_msg:
type: string
example: null
sc_type:
type: string
example: pre
css:
type: string
example: null
js:
type: string
example: null
monitoring:
type: boolean
example: true
url_link:
type: string
example: 'https://example.com'
html_title:
type: string
example: 'Example Title'
image_link:
type: string
example: 'https://images.webchangedetector.com/image.jpg'
created_at:
type: string
example: '2024-08-08 13:37:42'
updated_at:
type: string
example: '2024-08-08 13:37:42'
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/queues?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/queues?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/queues?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/queues'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Queue
'/api/v2/queues/{id}':
get:
summary: 'Get Queue'
operationId: getQueue
description: 'Retrieves a `Queue` object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 3bf0cec1-e8ee-49ba-804e-0db5ed93a7e3
url: 418e0748-a9cf-480b-86d6-88b00bac00b9
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
group: 023c282c-6513-420a-a36b-a654312ab229
device: desktop
status: open
sc_type: pre
css: null
js: null
monitoring: true
url_link: 'https://example.com'
html_title: 'Example Title'
image_link: 'https://images.webchangedetector.com/image.jpg'
created_at: '2024-08-08 13:37:42'
updated_at: '2024-08-08 13:37:42'
properties:
data:
type: object
properties:
id:
type: string
example: 3bf0cec1-e8ee-49ba-804e-0db5ed93a7e3
url:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
batch:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
device:
type: string
example: desktop
status:
type: string
example: open
sc_type:
type: string
example: pre
css:
type: string
example: null
js:
type: string
example: null
monitoring:
type: boolean
example: true
url_link:
type: string
example: 'https://example.com'
html_title:
type: string
example: 'Example Title'
image_link:
type: string
example: 'https://images.webchangedetector.com/image.jpg'
created_at:
type: string
example: '2024-08-08 13:37:42'
updated_at:
type: string
example: '2024-08-08 13:37:42'
tags:
- Queue
parameters:
-
in: path
name: id
description: 'The ID of the Queue.'
example: 3bf0cec1-e8ee-49ba-804e-0db5ed93a7e3
required: true
schema:
type: string
/api/v2/screenshots:
get:
summary: 'List Screenshots'
operationId: listScreenshots
description: "Returns a list of all `Screenshots`. The `Screenshots` are sorted by creation date, with\nthe most recent `Screenshots` appearing first."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
domain: example.com
url: example.com/foobar
link: 'https://images.webchangedetector.com/example.jpg'
device: desktop
sc_type: pre
monitoring: true
browser_console:
text: 'Failed to load resource: the server responded with a status of 404 ()'
type: error
location:
url: 'https://example.com.com/favicon.ico'
links:
first: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
last: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/screenshots'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
domain: example.com
url: example.com/foobar
link: 'https://images.webchangedetector.com/example.jpg'
device: desktop
sc_type: pre
monitoring: true
browser_console:
text: 'Failed to load resource: the server responded with a status of 404 ()'
type: error
location:
url: 'https://example.com.com/favicon.ico'
items:
type: object
properties:
id:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
queue:
type: string
example: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
domain:
type: string
example: example.com
url:
type: string
example: example.com/foobar
link:
type: string
example: 'https://images.webchangedetector.com/example.jpg'
device:
type: string
example: desktop
sc_type:
type: string
example: pre
monitoring:
type: boolean
example: true
browser_console:
type: object
properties:
text:
type: string
example: 'Failed to load resource: the server responded with a status of 404 ()'
type:
type: string
example: error
location:
type: object
properties:
url:
type: string
example: 'https://example.com.com/favicon.ico'
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/screenshots'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Screenshot
'/api/v2/screenshots/{id}':
get:
summary: 'Get Screenshot'
operationId: getScreenshot
description: 'Retrieves a `Screenshot` object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
queue: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
domain: example.com
url: example.com/foobar
link: 'https://images.webchangedetector.com/example.jpg'
device: desktop
sc_type: pre
monitoring: true
browser_console:
text: 'Failed to load resource: the server responded with a status of 404 ()'
type: error
location:
url: 'https://example.com.com/favicon.ico'
properties:
data:
type: object
properties:
id:
type: string
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
queue:
type: string
example: 8ea7b88d-b5c6-4fad-8e9d-1497a54d9266
domain:
type: string
example: example.com
url:
type: string
example: example.com/foobar
link:
type: string
example: 'https://images.webchangedetector.com/example.jpg'
device:
type: string
example: desktop
sc_type:
type: string
example: pre
monitoring:
type: boolean
example: true
browser_console:
type: object
properties:
text:
type: string
example: 'Failed to load resource: the server responded with a status of 404 ()'
type:
type: string
example: error
location:
type: object
properties:
url:
type: string
example: 'https://example.com.com/favicon.ico'
tags:
- Screenshot
parameters:
-
in: path
name: id
description: 'The ID of the Screenshot.'
example: 958dce2c-8468-47d3-8bc2-7dc6bf0aadae
required: true
schema:
type: string
/api/v2/screenshots/take:
post:
summary: 'Take Screenshot'
operationId: takeScreenshot
description: "Adds screenshots of URLs in the passed groups to the queue. The parameter sc_type indicates if\npre-update screenshots are taken (pre) or post-update screenshots and comparisons are taken (post).\nWhen post-update screenshots are done, a comparison is automatically triggered."
parameters: []
responses:
200:
description: Success
content:
application/json:
schema:
type: object
example:
batch: 0d5f8108-51f1-4961-939a-2d33c7145918
amount_screenshots: 42
groups:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
properties:
batch:
type: string
example: 0d5f8108-51f1-4961-939a-2d33c7145918
amount_screenshots:
type: integer
example: 42
groups:
type: array
example:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
items:
type: string
402:
description: 'Not enough credits'
content:
application/json:
schema:
type: object
example:
message: 'Bummer, you used your credit already. Please upgrade your account to a bigger plan.'
properties:
message:
type: string
example: 'Bummer, you used your credit already. Please upgrade your account to a bigger plan.'
tags:
- Screenshot
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
group_ids:
type: array
description: 'A list of Groups.'
example: '["023c282c-6513-420a-a36b-a654312ab229", "023c282c-6513-420a-a36b-a654312ab230"]'
items:
type: string
sc_type:
type: string
description: ''
example: post
nullable: false
enum:
- pre
- post
required:
- group_ids
/api/v2/subaccounts:
get:
summary: 'List Subaccounts'
operationId: listSubaccounts
description: "Returns a list of all `Subaccounts`. The `Subaccounts` are sorted by creation date, with\nthe most recent `Subaccounts` appearing first."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first: Jane
name_last: Doe
email: mail@example.com
checks_done: 42
checks_left: 1337
timezone: UTC
is_subaccount: true
links:
first: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
last: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/subaccounts'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first: Jane
name_last: Doe
email: mail@example.com
checks_done: 42
checks_left: 1337
timezone: UTC
is_subaccount: true
items:
type: object
properties:
id:
type: string
example: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first:
type: string
example: Jane
name_last:
type: string
example: Doe
email:
type: string
example: mail@example.com
checks_done:
type: integer
example: 42
checks_left:
type: integer
example: 1337
timezone:
type: string
example: UTC
is_subaccount:
type: boolean
example: true
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/subaccounts'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Subaccount
post:
summary: 'Create Subaccount'
operationId: createSubaccount
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first: Jane
name_last: Doe
email: mail@example.com
checks_done: 42
checks_left: 1337
timezone: UTC
api_token: V82abQfqPA3hBXL9ZHfMAt94Ta23VUdYt691D7GO
is_subaccount: true
properties:
data:
type: object
properties:
id:
type: string
example: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first:
type: string
example: Jane
name_last:
type: string
example: Doe
email:
type: string
example: mail@example.com
checks_done:
type: integer
example: 42
checks_left:
type: integer
example: 1337
timezone:
type: string
example: UTC
api_token:
type: string
example: V82abQfqPA3hBXL9ZHfMAt94Ta23VUdYt691D7GO
is_subaccount:
type: boolean
example: true
tags:
- Subaccount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name_first:
type: string
description: 'First Name'
example: Hans
nullable: false
name_last:
type: string
description: 'Last Name'
example: Hacker
nullable: false
email:
type: string
description: 'Must be a valid email'
example: mail@example.com
nullable: false
limit_checks:
type: number
description: ''
example: 9834574.393096
nullable: false
required:
- name_first
- name_last
- email
- limit_checks
'/api/v2/subaccounts/{id}':
get:
summary: 'Get Subaccount'
operationId: getSubaccount
description: 'Retrieves a `Subaccount` object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first: Jane
name_last: Doe
email: mail@example.com
checks_done: 42
checks_left: 1337
timezone: UTC
is_subaccount: true
properties:
data:
type: object
properties:
id:
type: string
example: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first:
type: string
example: Jane
name_last:
type: string
example: Doe
email:
type: string
example: mail@example.com
checks_done:
type: integer
example: 42
checks_left:
type: integer
example: 1337
timezone:
type: string
example: UTC
is_subaccount:
type: boolean
example: true
tags:
- Subaccount
put:
summary: 'Update Subaccount'
operationId: updateSubaccount
description: "Updates the specified `Subaccount` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first: Jane
name_last: Doe
email: mail@example.com
checks_done: 42
checks_left: 1337
timezone: UTC
is_subaccount: true
properties:
data:
type: object
properties:
id:
type: string
example: 17482316-2398-4374-9f70-e0e3e2bf292a
name_first:
type: string
example: Jane
name_last:
type: string
example: Doe
email:
type: string
example: mail@example.com
checks_done:
type: integer
example: 42
checks_left:
type: integer
example: 1337
timezone:
type: string
example: UTC
is_subaccount:
type: boolean
example: true
tags:
- Subaccount
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name_first:
type: string
description: 'First Name'
example: Hans
nullable: false
name_last:
type: string
description: 'Last Name'
example: Hacker
nullable: false
limit_checks:
type: number
description: ''
example: 55039678.9
nullable: false
required:
- name_first
- name_last
delete:
summary: 'Delete Subaccount'
operationId: deleteSubaccount
description: "Permanently deletes a `Subaccount`. This cannot be undone.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Subaccount deleted'
properties:
message:
type: string
example: 'Subaccount deleted'
tags:
- Subaccount
parameters:
-
in: path
name: id
description: 'The ID of the Subaccount.'
example: 17482316-2398-4374-9f70-e0e3e2bf292a
required: true
schema:
type: string
/api/v2/urls:
get:
summary: 'List Urls'
operationId: listUrls
description: "Returns a list of all `Urls`. The `Urls` are sorted by creation date, with\nthe most recent `Urls` appearing first."
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
type: types
category: Seiten
website: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
groups:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
status_code: 200
error_count: 0
links:
first: 'http://api.webchangedetector.test/api/v2/urls?page=1'
last: 'http://api.webchangedetector.test/api/v2/urls?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/urls?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/urls'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
type: types
category: Seiten
website: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
groups:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
status_code: 200
error_count: 0
items:
type: object
properties:
id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title:
type: string
example: 'Example Title'
url:
type: string
example: example.com/foobar
last_crawled_at:
type: string
example: '2025-01-01 13:37:42'
type:
type: string
example: types
category:
type: string
example: Seiten
website:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
groups:
type: array
example:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
items:
type: string
status_code:
type: integer
example: 200
error_count:
type: integer
example: 0
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/urls?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/urls?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/urls?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/urls'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Url
post:
summary: 'Create Url'
operationId: createUrl
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
type: null
category: null
website: null
groups: []
status_code: 200
error_count: 0
properties:
data:
type: object
properties:
id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title:
type: string
example: 'Example Title'
url:
type: string
example: example.com/foobar
last_crawled_at:
type: string
example: '2025-01-01 13:37:42'
type:
type: string
example: null
category:
type: string
example: null
website:
type: string
example: null
groups:
type: array
example: []
status_code:
type: integer
example: 200
error_count:
type: integer
example: 0
tags:
- Url
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: 'Must be a valid URL'
example: 'https://example.com'
nullable: false
required:
- url
'/api/v2/urls/{id}':
get:
summary: 'Get Url'
operationId: getUrl
description: 'Retrieves a `Url` object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
type: types
category: Seiten
website: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
groups:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
status_code: 200
error_count: 0
properties:
data:
type: object
properties:
id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title:
type: string
example: 'Example Title'
url:
type: string
example: example.com/foobar
last_crawled_at:
type: string
example: '2025-01-01 13:37:42'
type:
type: string
example: types
category:
type: string
example: Seiten
website:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
groups:
type: array
example:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
items:
type: string
status_code:
type: integer
example: 200
error_count:
type: integer
example: 0
tags:
- Url
put:
summary: 'Update Url'
operationId: updateUrl
description: "Updates the specified `Url` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title: 'Example Title'
url: example.com/foobar
last_crawled_at: '2025-01-01 13:37:42'
type: types
category: Seiten
website: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
status_code: 200
error_count: 0
groups:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
properties:
data:
type: object
properties:
id:
type: string
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
html_title:
type: string
example: 'Example Title'
url:
type: string
example: example.com/foobar
last_crawled_at:
type: string
example: '2025-01-01 13:37:42'
type:
type: string
example: types
category:
type: string
example: Seiten
website:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
status_code:
type: integer
example: 200
error_count:
type: integer
example: 0
groups:
type: array
example:
- 023c282c-6513-420a-a36b-a654312ab229
- 023c282c-6513-420a-a36b-a654312ab230
items:
type: string
tags:
- Url
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: 'Must be a valid URL'
example: 'https://example.com'
nullable: false
required:
- url
delete:
summary: 'Delete Url'
operationId: deleteUrl
description: "Permanently deletes a `Url`. This cannot be undone.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'URL deleted'
properties:
message:
type: string
example: 'URL deleted'
tags:
- Url
parameters:
-
in: path
name: id
description: 'The ID of the Url.'
example: 418e0748-a9cf-480b-86d6-88b00bac00b9
required: true
schema:
type: string
/api/v2/urls/add-from-sitemap:
post:
summary: 'Add From Sitemap'
operationId: addFromSitemap
description: "Adds all the URLs found in a sitemap for a given domain.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Sitemap parsing started.'
properties:
message:
type: string
example: 'Sitemap parsing started.'
tags:
- Url
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain to parse the sitemap from'
example: example.com
nullable: false
required:
- domain
/api/v2/webhooks:
get:
summary: 'List Webhooks'
operationId: listWebhooks
description: "Returns a list of all Webhooks. The Webhooks are sorted by creation date, with\nthe most recent Webhooks appearing first."
parameters:
-
in: query
name: event
description: 'Event of the Queue.'
example: comparison_status_new
required: false
schema:
type: string
description: 'Event of the Queue.'
example: comparison_status_new
nullable: false
enum:
- batch_finished
- comparison_status_new
- queue_status_done
- queue_status_failed
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: d86e9245-3524-4f8d-b5d9-e4a472136d27
event: comparison_status_new
url: 'https://example.com'
links:
first: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
last: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/webhooks'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: d86e9245-3524-4f8d-b5d9-e4a472136d27
event: comparison_status_new
url: 'https://example.com'
items:
type: object
properties:
id:
type: string
example: d86e9245-3524-4f8d-b5d9-e4a472136d27
event:
type: string
example: comparison_status_new
url:
type: string
example: 'https://example.com'
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/webhooks'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Webhook
post:
summary: 'Create Webhook'
operationId: createWebhook
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: d86e9245-3524-4f8d-b5d9-e4a472136d27
event: comparison_status_new
url: 'https://example.com'
properties:
data:
type: object
properties:
id:
type: string
example: d86e9245-3524-4f8d-b5d9-e4a472136d27
event:
type: string
example: comparison_status_new
url:
type: string
example: 'https://example.com'
tags:
- Webhook
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: 'Must be a valid URL.'
example: 'http://www.veum.org/'
nullable: false
event:
type: string
description: ''
example: comparison_summary
nullable: false
enum:
- batch_finished
- comparison_status_new
- comparison_status_new_collection
- comparison_summary
- queue_status_done
- queue_status_failed
- wordpress_cron
required:
- url
- event
'/api/v2/webhooks/{id}':
get:
summary: 'Get Webhook'
operationId: getWebhook
description: 'Retrieves a Webhook object identfied by their ID'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: d86e9245-3524-4f8d-b5d9-e4a472136d27
event: comparison_status_new
url: 'https://example.com'
properties:
data:
type: object
properties:
id:
type: string
example: d86e9245-3524-4f8d-b5d9-e4a472136d27
event:
type: string
example: comparison_status_new
url:
type: string
example: 'https://example.com'
tags:
- Webhook
put:
summary: 'Update Webhook'
operationId: updateWebhook
description: "Updates the specified `Webhook` by setting the values of the parameters passed.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: d86e9245-3524-4f8d-b5d9-e4a472136d27
event: comparison_status_new
url: 'https://example.com'
properties:
data:
type: object
properties:
id:
type: string
example: d86e9245-3524-4f8d-b5d9-e4a472136d27
event:
type: string
example: comparison_status_new
url:
type: string
example: 'https://example.com'
tags:
- Webhook
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: 'Must be a valid URL'
example: 'https://example.com'
nullable: false
required:
- url
delete:
summary: 'Delete Webhook'
operationId: deleteWebhook
description: 'Permanently deletes a `Webhook`. This cannot be undone.'
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: '{ID} deleted'
properties:
message:
type: string
example: '{ID} deleted'
tags:
- Webhook
parameters:
-
in: path
name: id
description: 'The ID of the Webhook.'
example: d86e9245-3524-4f8d-b5d9-e4a472136d27
required: true
schema:
type: string
/api/v2/websites:
get:
summary: 'List Websites'
operationId: listWebsites
description: "Returns a list of all `Website`. The `Websites` are sorted by creation date, with\nthe most recent `Websites` appearing first.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
-
id: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
manual_detection_group: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group: 023c282c-6513-420a-a36b-a654312ab230
domain: example.com
sync_url_types:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
auto_update_settings:
auto_update_checks_enabled: '0'
auto_update_checks_from: '13:37'
auto_update_checks_to: '13:42'
auto_update_checks_monday: '1'
auto_update_checks_tuesday: '1'
auto_update_checks_wednesday: '1'
auto_update_checks_thursday: '1'
auto_update_checks_friday: '1'
auto_update_checks_saturday: '0'
auto_update_checks_sunday: '0'
auto_update_checks_emails: mail@example.com
allowances:
change_detections_view: 1
manual_checks_view: 1
manual_checks_start: 1
manual_checks_settings: 1
manual_checks_urls: 1
monitoring_checks_view: 1
monitoring_checks_settings: 1
monitoring_checks_urls: 1
logs_view: 1
settings_view: 1
settings_add_urls: 1
settings_account_settings: 1
upgrade_account: 1
wizard_start: 1
only_frontpage: 0
links:
first: 'http://api.webchangedetector.test/api/v2/websites?page=1'
last: 'http://api.webchangedetector.test/api/v2/websites?page=1'
prev: null
next: null
meta:
current_page: 1
from: 1
last_page: 1
links:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/websites?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
path: 'http://api.webchangedetector.test/api/v2/websites'
per_page: 15
to: 1
total: 1
properties:
data:
type: array
example:
-
id: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
manual_detection_group: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group: 023c282c-6513-420a-a36b-a654312ab230
domain: example.com
sync_url_types:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
auto_update_settings:
auto_update_checks_enabled: '0'
auto_update_checks_from: '13:37'
auto_update_checks_to: '13:42'
auto_update_checks_monday: '1'
auto_update_checks_tuesday: '1'
auto_update_checks_wednesday: '1'
auto_update_checks_thursday: '1'
auto_update_checks_friday: '1'
auto_update_checks_saturday: '0'
auto_update_checks_sunday: '0'
auto_update_checks_emails: mail@example.com
allowances:
change_detections_view: 1
manual_checks_view: 1
manual_checks_start: 1
manual_checks_settings: 1
manual_checks_urls: 1
monitoring_checks_view: 1
monitoring_checks_settings: 1
monitoring_checks_urls: 1
logs_view: 1
settings_view: 1
settings_add_urls: 1
settings_account_settings: 1
upgrade_account: 1
wizard_start: 1
only_frontpage: 0
items:
type: object
properties:
id:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
manual_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab230
domain:
type: string
example: example.com
sync_url_types:
type: array
example:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
items:
type: object
properties:
url_type_slug:
type: string
example: types
url_type_name:
type: string
example: 'Post Types'
post_type_slug:
type: string
example: posts
post_type_name:
type: string
example: Posts
auto_update_settings:
type: object
properties:
auto_update_checks_enabled:
type: string
example: '0'
auto_update_checks_from:
type: string
example: '13:37'
auto_update_checks_to:
type: string
example: '13:42'
auto_update_checks_monday:
type: string
example: '1'
auto_update_checks_tuesday:
type: string
example: '1'
auto_update_checks_wednesday:
type: string
example: '1'
auto_update_checks_thursday:
type: string
example: '1'
auto_update_checks_friday:
type: string
example: '1'
auto_update_checks_saturday:
type: string
example: '0'
auto_update_checks_sunday:
type: string
example: '0'
auto_update_checks_emails:
type: string
example: mail@example.com
allowances:
type: object
properties:
change_detections_view:
type: integer
example: 1
manual_checks_view:
type: integer
example: 1
manual_checks_start:
type: integer
example: 1
manual_checks_settings:
type: integer
example: 1
manual_checks_urls:
type: integer
example: 1
monitoring_checks_view:
type: integer
example: 1
monitoring_checks_settings:
type: integer
example: 1
monitoring_checks_urls:
type: integer
example: 1
logs_view:
type: integer
example: 1
settings_view:
type: integer
example: 1
settings_add_urls:
type: integer
example: 1
settings_account_settings:
type: integer
example: 1
upgrade_account:
type: integer
example: 1
wizard_start:
type: integer
example: 1
only_frontpage:
type: integer
example: 0
links:
type: object
properties:
first:
type: string
example: 'http://api.webchangedetector.test/api/v2/websites?page=1'
last:
type: string
example: 'http://api.webchangedetector.test/api/v2/websites?page=1'
prev:
type: string
example: null
next:
type: string
example: null
meta:
type: object
properties:
current_page:
type: integer
example: 1
from:
type: integer
example: 1
last_page:
type: integer
example: 1
links:
type: array
example:
-
url: null
label: '« Previous'
active: false
-
url: 'http://api.webchangedetector.test/api/v2/websites?page=1'
label: '1'
active: true
-
url: null
label: 'Next »'
active: false
items:
type: object
properties:
url:
type: string
example: null
label:
type: string
example: '« Previous'
active:
type: boolean
example: false
path:
type: string
example: 'http://api.webchangedetector.test/api/v2/websites'
per_page:
type: integer
example: 15
to:
type: integer
example: 1
total:
type: integer
example: 1
tags:
- Website
post:
summary: 'Create Website'
operationId: createWebsite
description: "Creates a `Website` by setting the values of the parameters passed.\nTypically only done by the WordPress plugin.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
domain: example.com
manual_detection_group: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group: 023c282c-6513-420a-a36b-a654312ab230
allowances:
change_detections_view: 1
manual_checks_view: 1
manual_checks_start: 1
manual_checks_settings: 1
manual_checks_urls: 1
monitoring_checks_view: 1
monitoring_checks_settings: 1
monitoring_checks_urls: 1
logs_view: 1
settings_view: 1
settings_add_urls: 1
settings_account_settings: 1
upgrade_account: 1
wizard_start: 1
only_frontpage: 0
sync_url_types:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: pages
post_type_name: Pages
auto_update_settings:
auto_update_checks_enabled: null
auto_update_checks_from: '13:37'
auto_update_checks_to: '13:42'
auto_update_checks_monday: 1
auto_update_checks_tuesday: 1
auto_update_checks_wednesday: 1
auto_update_checks_thursday: 1
auto_update_checks_friday: 1
auto_update_checks_saturday: 0
auto_update_checks_sunday: 0
auto_update_checks_emails: mail@example.com
properties:
id:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
domain:
type: string
example: example.com
manual_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab230
allowances:
type: object
properties:
change_detections_view:
type: integer
example: 1
manual_checks_view:
type: integer
example: 1
manual_checks_start:
type: integer
example: 1
manual_checks_settings:
type: integer
example: 1
manual_checks_urls:
type: integer
example: 1
monitoring_checks_view:
type: integer
example: 1
monitoring_checks_settings:
type: integer
example: 1
monitoring_checks_urls:
type: integer
example: 1
logs_view:
type: integer
example: 1
settings_view:
type: integer
example: 1
settings_add_urls:
type: integer
example: 1
settings_account_settings:
type: integer
example: 1
upgrade_account:
type: integer
example: 1
wizard_start:
type: integer
example: 1
only_frontpage:
type: integer
example: 0
sync_url_types:
type: array
example:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: pages
post_type_name: Pages
items:
type: object
properties:
url_type_slug:
type: string
example: types
url_type_name:
type: string
example: 'Post Types'
post_type_slug:
type: string
example: posts
post_type_name:
type: string
example: Posts
auto_update_settings:
type: object
properties:
auto_update_checks_enabled:
type: string
example: null
auto_update_checks_from:
type: string
example: '13:37'
auto_update_checks_to:
type: string
example: '13:42'
auto_update_checks_monday:
type: integer
example: 1
auto_update_checks_tuesday:
type: integer
example: 1
auto_update_checks_wednesday:
type: integer
example: 1
auto_update_checks_thursday:
type: integer
example: 1
auto_update_checks_friday:
type: integer
example: 1
auto_update_checks_saturday:
type: integer
example: 0
auto_update_checks_sunday:
type: integer
example: 0
auto_update_checks_emails:
type: string
example: mail@example.com
tags:
- Website
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain:
type: string
description: 'The domain of the Website.'
example: example.com
nullable: false
manual_detection_group_id:
type: string
description: 'The ID of the Manual Detection Group.'
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
nullable: false
auto_detection_group_id:
type: string
description: 'The ID of the Auto Detection Group.'
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
nullable: false
allowances:
type: array
description: 'The allowances of the Website.'
example: '[]'
items:
type: string
sync_url_types:
type: array
description: 'The sync url types of the Website.'
example: '[]'
items:
type: string
auto_update_settings:
type: array
description: 'The auto update settings of the Website.'
example: '[]'
items:
type: string
required:
- domain
- manual_detection_group_id
- auto_detection_group_id
- allowances
- sync_url_types
- auto_update_settings
'/api/v2/websites/{id}':
get:
summary: 'Get Website'
operationId: getWebsite
description: "Retrieves a `Website` object identfied by their ID\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
data:
id: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
manual_detection_group: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group: 023c282c-6513-420a-a36b-a654312ab230
domain: example.com
sync_url_types:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
auto_update_settings:
auto_update_checks_enabled: '0'
auto_update_checks_from: '13:37'
auto_update_checks_to: '13:42'
auto_update_checks_monday: '1'
auto_update_checks_tuesday: '1'
auto_update_checks_wednesday: '1'
auto_update_checks_thursday: '1'
auto_update_checks_friday: '1'
auto_update_checks_saturday: '0'
auto_update_checks_sunday: '0'
auto_update_checks_emails: mail@example.com
allowances:
change_detections_view: 1
manual_checks_view: 1
manual_checks_start: 1
manual_checks_settings: 1
manual_checks_urls: 1
monitoring_checks_view: 1
monitoring_checks_settings: 1
monitoring_checks_urls: 1
logs_view: 1
settings_view: 1
settings_add_urls: 1
settings_account_settings: 1
upgrade_account: 1
wizard_start: 1
only_frontpage: 0
properties:
data:
type: object
properties:
id:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
manual_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab230
domain:
type: string
example: example.com
sync_url_types:
type: array
example:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
items:
type: object
properties:
url_type_slug:
type: string
example: types
url_type_name:
type: string
example: 'Post Types'
post_type_slug:
type: string
example: posts
post_type_name:
type: string
example: Posts
auto_update_settings:
type: object
properties:
auto_update_checks_enabled:
type: string
example: '0'
auto_update_checks_from:
type: string
example: '13:37'
auto_update_checks_to:
type: string
example: '13:42'
auto_update_checks_monday:
type: string
example: '1'
auto_update_checks_tuesday:
type: string
example: '1'
auto_update_checks_wednesday:
type: string
example: '1'
auto_update_checks_thursday:
type: string
example: '1'
auto_update_checks_friday:
type: string
example: '1'
auto_update_checks_saturday:
type: string
example: '0'
auto_update_checks_sunday:
type: string
example: '0'
auto_update_checks_emails:
type: string
example: mail@example.com
allowances:
type: object
properties:
change_detections_view:
type: integer
example: 1
manual_checks_view:
type: integer
example: 1
manual_checks_start:
type: integer
example: 1
manual_checks_settings:
type: integer
example: 1
manual_checks_urls:
type: integer
example: 1
monitoring_checks_view:
type: integer
example: 1
monitoring_checks_settings:
type: integer
example: 1
monitoring_checks_urls:
type: integer
example: 1
logs_view:
type: integer
example: 1
settings_view:
type: integer
example: 1
settings_add_urls:
type: integer
example: 1
settings_account_settings:
type: integer
example: 1
upgrade_account:
type: integer
example: 1
wizard_start:
type: integer
example: 1
only_frontpage:
type: integer
example: 0
tags:
- Website
put:
summary: 'Update Website'
operationId: updateWebsite
description: "Updates the specified `Website` by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged.\n"
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
id: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
domain: example.com
manual_detection_group: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group: 023c282c-6513-420a-a36b-a654312ab230
allowances:
change_detections_view: 1
manual_checks_view: 1
manual_checks_start: 1
manual_checks_settings: 1
manual_checks_urls: 1
monitoring_checks_view: 1
monitoring_checks_settings: 1
monitoring_checks_urls: 1
logs_view: 1
settings_view: 1
settings_add_urls: 1
settings_account_settings: 1
upgrade_account: 1
wizard_start: 1
only_frontpage: 0
sync_url_types:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: pages
post_type_name: Pages
auto_update_settings:
auto_update_checks_enabled: null
auto_update_checks_from: '13:37'
auto_update_checks_to: '13:42'
auto_update_checks_monday: 1
auto_update_checks_tuesday: 1
auto_update_checks_wednesday: 1
auto_update_checks_thursday: 1
auto_update_checks_friday: 1
auto_update_checks_saturday: 0
auto_update_checks_sunday: 0
auto_update_checks_emails: mail@example.com
properties:
id:
type: string
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
domain:
type: string
example: example.com
manual_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab229
auto_detection_group:
type: string
example: 023c282c-6513-420a-a36b-a654312ab230
allowances:
type: object
properties:
change_detections_view:
type: integer
example: 1
manual_checks_view:
type: integer
example: 1
manual_checks_start:
type: integer
example: 1
manual_checks_settings:
type: integer
example: 1
manual_checks_urls:
type: integer
example: 1
monitoring_checks_view:
type: integer
example: 1
monitoring_checks_settings:
type: integer
example: 1
monitoring_checks_urls:
type: integer
example: 1
logs_view:
type: integer
example: 1
settings_view:
type: integer
example: 1
settings_add_urls:
type: integer
example: 1
settings_account_settings:
type: integer
example: 1
upgrade_account:
type: integer
example: 1
wizard_start:
type: integer
example: 1
only_frontpage:
type: integer
example: 0
sync_url_types:
type: array
example:
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: posts
post_type_name: Posts
-
url_type_slug: types
url_type_name: 'Post Types'
post_type_slug: pages
post_type_name: Pages
items:
type: object
properties:
url_type_slug:
type: string
example: types
url_type_name:
type: string
example: 'Post Types'
post_type_slug:
type: string
example: posts
post_type_name:
type: string
example: Posts
auto_update_settings:
type: object
properties:
auto_update_checks_enabled:
type: string
example: null
auto_update_checks_from:
type: string
example: '13:37'
auto_update_checks_to:
type: string
example: '13:42'
auto_update_checks_monday:
type: integer
example: 1
auto_update_checks_tuesday:
type: integer
example: 1
auto_update_checks_wednesday:
type: integer
example: 1
auto_update_checks_thursday:
type: integer
example: 1
auto_update_checks_friday:
type: integer
example: 1
auto_update_checks_saturday:
type: integer
example: 0
auto_update_checks_sunday:
type: integer
example: 0
auto_update_checks_emails:
type: string
example: mail@example.com
tags:
- Website
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
sync_url_types:
type: array
description: 'The sync url types of the Website.'
example: '[]'
items:
type: string
auto_update_settings:
type: array
description: 'The auto update settings of the Website.'
example: '[]'
items:
type: string
allowances:
type: array
description: 'The allowances of the Website.'
example: '[]'
items:
type: string
domain:
type: string
description: 'The domain of the Website.'
example: example.com
nullable: false
manual_detection_group_id:
type: string
description: 'The ID of the Manual Detection Group.'
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
nullable: false
auto_detection_group_id:
type: string
description: 'The ID of the Auto Detection Group.'
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
nullable: false
required:
- sync_url_types
- auto_update_settings
- allowances
- domain
- manual_detection_group_id
- auto_detection_group_id
parameters:
-
in: path
name: id
description: 'The ID of the Website.'
example: 91e9c9fd-b86f-4269-a3f4-f02810167a6d
required: true
schema:
type: string