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: mollitia
          required: false
          schema:
            type: string
            description: ''
            example: mollitia
            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: 13
                  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<aside class=\"notice\">This does not delete the URLs inside a Group</aside>"
      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: '&laquo; 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 &raquo;'
                        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: '&laquo; 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 &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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: 4
                  nullable: false
                type:
                  type: string
                  description: ''
                  example: sit
                  nullable: false
                category:
                  type: string
                  description: ''
                  example: distinctio
                  nullable: false
                search:
                  type: string
                  description: ''
                  example: sed
                  nullable: false
                url_ids:
                  type: string
                  description: ''
                  example: maxime
                  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: repudiandae
        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: cupiditate
                  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: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://api.webchangedetector.test/api/v2/queues?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        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: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://api.webchangedetector.test/api/v2/queues?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        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: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://api.webchangedetector.test/api/v2/screenshots?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        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: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://api.webchangedetector.test/api/v2/subaccounts?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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: 161.42008
                  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<aside class=\"notice\">This request accepts mostly the same arguments as the `Subaccount` creation call</aside>"
      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: 4.2
                  nullable: false
              required:
                - name_first
                - name_last
    delete:
      summary: 'Delete Subaccount'
      operationId: deleteSubaccount
      description: "Permanently deletes a `Subaccount`. This cannot be undone.\n<aside class=\"notice\">This is only possible if the Subaccount doesn't have any Groups and URLs anymore</aside>"
      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: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://api.webchangedetector.test/api/v2/urls?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        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: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://api.webchangedetector.test/api/v2/urls?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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<aside class=\"notice\">This request accepts mostly the same arguments as the `Url` creation call</aside>"
      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<aside class=\"notice\">This might leave an empty Group</aside>"
      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<aside class=\"warning\">This is an alpha feature and possibly unstable!</aside>"
      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: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        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: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://api.webchangedetector.test/api/v2/webhooks?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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://johns.net/est-consequuntur-consequatur-laborum-aut'
                  nullable: false
                event:
                  type: string
                  description: ''
                  example: queue_status_done
                  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<aside class=\"notice\">This request accepts mostly the same arguments as the `Webhook` creation call</aside>"
      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<aside class=\"warning\">This is an alpha feature, the API might change!</aside>"
      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: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://api.webchangedetector.test/api/v2/websites?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        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: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://api.webchangedetector.test/api/v2/websites?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; 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<aside class=\"warning\">This is an alpha feature, the API might change!</aside>"
      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<aside class=\"warning\">This is an alpha feature, the API might change!</aside>"
      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<aside class=\"warning\">This is an alpha feature, the API might change!</aside>"
      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