openapi: 3.0.0
info:
  title: V3 API
  description: >-
    This section documents the V3 API endpoints that provide access to
    comprehensive audit and journey data from ObservePoint. Use these endpoints
    to retrieve detailed reports, export data, manage alerts, configure scans
    and privacy settings, and analyze web performance metrics from your
    ObservePoint scans.
  version: null
  contact:
    name: Observepoint
    url: https://www.observepoint.com/contact-us
servers:
  - url: https://api.observepoint.com
    description: ObservePoint Production API
tags:
  - name: web-audits
    x-displayName: Audit Run Data
    description: >-
      Retrieve audit run data including pages, cookies, geo-locations, network
      requests, JS variables and failures for web audit runs
  - name: page-details-report
    x-displayName: Page Details Report
    description: >-
      Detailed information about specific pages including tags, cookies, request
      logs, and console logs
  - name: page-summary-report
    x-displayName: Page Summary Report
    description: Page Summary report endpoints
  - name: audit-summary-report
    x-displayName: Audit Summary Report
    description: Audit Summary report endpoints
  - name: alert-summary-report
    x-displayName: Alert Summary Report
    description: Alert Summary report endpoints
  - name: rule-summary-report
    x-displayName: Rule Summary Report
    description: Rule Summary report endpoints
  - name: tag-inventory-report
    x-displayName: Tag Inventory Report
    description: Tag Inventory report endpoints
  - name: tag-health-report
    x-displayName: Tag Health Report
    description: Tag Health report endpoints
  - name: tag-duplicates-and-multiples-report
    x-displayName: Tag Duplicates and Multiples Report
    description: Tag Duplicates and Multiples report endpoints
  - name: variable-inventory-report
    x-displayName: Variable Inventory Report
    description: Variable Inventory report endpoints
  - name: cookie-inventory-report
    x-displayName: Cookie Inventory Report
    description: Cookie Inventory report endpoints
  - name: browser-logs-report
    x-displayName: Browser Logs Report
    description: Browser Logs report endpoints
  - name: file-changes-report
    x-displayName: File Changes Report
    description: File changes report endpoints
  - name: cookie-privacy-report
    x-displayName: Cookie Privacy report endpoints
    description: Cookie privacy report
  - name: tag-privacy-report
    x-displayName: Tag Privacy Report
    description: Tag privacy report endpoints
  - name: request-privacy-report
    x-displayName: Request Privacy Report
    description: Request Privacy report endpoints
  - name: exports
    x-displayName: Exports Center
    description: Access requested exports status/information
  - name: scheduled-exports
    x-displayName: Scheduled Exports
    description: Manage scheduled grid report data exports
  - name: audit-run-export
    x-displayName: Audit Run Export
    description: Export audit run data
  - name: web-journey-run-export
    x-displayName: Web Journey Run Export
    description: Export web journey run data
  - name: manual-journey-run-export
    x-displayName: Manual Journey Run Export
    description: Export manual journey run data
  - name: consent-category-export
    x-displayName: Consent Category Export
    description: Export consent category data
  - name: alerts
    x-displayName: Alerts
    description: Alert management and configuration
  - name: account-triggered-alerts
    x-displayName: Account's Triggered Alerts
    description: Account-level triggered alerts
  - name: alert-export
    x-displayName: Alert Export
    description: Export alert data
  - name: account-usage-v2
    x-displayName: Account Usage
    description: Account usage data
  - name: account-usage-alerts
    x-displayName: Account Usage Alerts
    description: Alerts related to account usage
  - name: account-usage-export
    x-displayName: Account Usage Export
    description: Export account usage data
  - name: web-journey-cookie-report
    x-displayName: Web Journey Cookie Report
    description: Cookie analysis and reporting for web journeys
  - name: notification-center
    x-displayName: Notification Center
    description: Find and manage email subscriptions
  - name: email-inbox-messages
    x-displayName: Email Inbox Messages
    description: Get Email Inbox message details
  - name: email-inbox-message-alerts
    x-displayName: Email Inbox Message Alerts
    description: Email inbox message alerts
  - name: action-sets
    x-displayName: Action Sets
    description: APIs for managing Action Sets
  - name: action-set-actions
    x-displayName: Action Set Actions
    description: APIs for managing Action Set Actions
  - name: action-set-action-rules
    x-displayName: Action Set Action Rules
    description: APIs for managing Action Set Action Rules
  - name: consent-categories
    x-displayName: Consent Categories
    description: APIs for managing Consent Categories
  - name: data-sources
    x-displayName: Data Sources
    description: APIs for managing Data Sources
  - name: geo-locations
    x-displayName: Geo Locations
    description: APIs for geo locations
  - name: site-censuses
    x-displayName: Site Censuses
    description: APIs for managing Site Census
  - name: user-events
    x-displayName: User Events
    description: APIs for managing User Events
  - name: audits-management
    x-displayName: Audits Management
    description: APIs for managing audits
  - name: audits-consent-category
    x-displayName: Audits Consent Category
    description: APIs for managing audit consent categories
  - name: web-journeys-management
    x-displayName: Web Journeys Management
    description: APIs for managing Web Journeys
  - name: audit-blocking-config
    x-displayName: Audit Blocking Config
    description: APIs for managing audit request blocking configuration
  - name: audit-actions
    x-displayName: Audit Actions
    description: APIs for managing audit actions
  - name: audit-login-actions
    x-displayName: Audit Login Actions
    description: APIs for managing audit login actions
  - name: web-journey-blocking-config
    x-displayName: Web Journey Blocking Config
    description: APIs for managing web journey request blocking configuration
  - name: remote-file-mappings
    x-displayName: Remote File Mappings
    description: APIs for managing Remote File Mappings
  - name: web-journey-custom-headers
    x-displayName: Web Journey Custom Headers
    description: APIs for managing web journey custom headers
  - name: custom-headers
    x-displayName: Custom Headers
    description: APIs for managing custom HTTP header groups
  - name: rules
    x-displayName: Rules
    description: APIs for managing rules
  - name: schedules
    x-displayName: Schedules
    description: APIs for item schedules and calendars
  - name: email-inboxes
    x-displayName: Email Inboxes
    description: APIs for getting email messages and results from email inboxes
  - name: email-inbox-configuration
    x-displayName: Email Inbox Configuration
    description: APIs for managing email inbox configurations and setting
  - name: web-journeys-internal
    x-displayName: web-journeys-internal
paths:
  /v3/web-audits/{auditId}/runs/{runId}/scores:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - web-audits
      summary: Get scores for specified audit run
      operationId: getAuditRunScores
      responses:
        '200':
          description: Audit scores data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_ScoresDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/scores</div>
  /v3/web-audits/{auditId}/runs/{runId}/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_PagesSort'
      - $ref: '#/components/parameters/SortDescendingParam'
    get:
      tags:
        - web-audits
      operationId: getAuditRunPages
      summary: Return pages found in the run
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages</div>


        Get all the pages in a given audit run
      responses:
        '200':
          description: OK, return a list of unique pages found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_Pages_DTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/cookies:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - web-audits
      operationId: getCookies
      summary: Return a list of unique cookies
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/cookies</div>


        Get all unique cookie name and domain found on all the pages in a given
        audit run
      responses:
        '200':
          description: OK, return a list of unique cookies found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CookieDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}/actions/{actionSequenceId}/cookies:
    get:
      tags:
        - web-journey-cookie-report
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/actions/<span
        class="op-path-parameter">{actionSequenceId}</span>/cookies</div>


        Get all cookies affected by the given action
      summary: Get cookies for action
      operationId: getWebJourneyActionCookies
      parameters:
        - $ref: '#/components/parameters/WebJourneyId'
        - $ref: '#/components/parameters/RunId'
        - $ref: '#/components/parameters/ActionSequenceId'
      responses:
        '200':
          description: Cookies
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyActionCookiesDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/cookies/origin:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    post:
      tags:
        - page-details-report
      operationId: getAuditCookieOriginStory
      deprecated: true
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/cookies/origin</div>


        Get the origin story for a cookie
      summary: Get cookie origin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CookieOriginRequestDTO'
      responses:
        '200':
          description: OK, return a list of story actions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditPageCookieOriginResponseDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}/cookies/origin:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - web-journey-cookie-report
      operationId: getWebJourneyRunCookieOriginStory
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/cookies/origin</div>


        Get the origin story for a cookie
      summary: Get cookie origin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CookieOriginRequestDTO'
      responses:
        '200':
          description: OK, return a list of origin story actions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyRunCookieOrigin'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}/actions/{actionId}/cookies/origin:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/ActionId'
    post:
      tags:
        - web-journey-cookie-report
      operationId: getWebJourneyActionCookieOriginStory
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span>/cookies/origin</div>


        Get the origin story for a cookie
      summary: Get cookie origin
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CookieOriginRequestDTO'
      responses:
        '200':
          description: OK, return a list of story actions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyResponseCookieOriginDto'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/geo-locations:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - web-audits
      operationId: getGeoLocation
      summary: Return a list of unique geo-locations
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/geo-locations</div>


        Get all unique geo-locations found on all the pages in a given audit run
      responses:
        '200':
          description: OK, return a list of unique geo-locations found
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GeoLocationDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/request-domains:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - web-audits
      operationId: getRequestDomain
      summary: Return a list of unique request-domains
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/request-domains</div>


        Get all unique request domains found on all the pages in a given audit
        run
      responses:
        '200':
          description: OK, return a list of request-domains found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestDomainDTO'
        '400':
          $ref: '#/components/responses/responses-BadRequest'
        '401':
          $ref: '#/components/responses/responses-UnAuthorized'
        '404':
          $ref: '#/components/responses/responses-NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/javascript-variables:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - name: size
        in: query
        required: false
        description: Number of items to be returned at once
        schema:
          type: integer
          maximum: 1000
          default: 50
          minimum: 50
      - name: startAfterPageId
        in: query
        required: false
        description: >
          Offset result, start from pageId next to `startAfterPageId`.

          To fetch first page, don't supply this parameter. 

          To fetch subsequent pages, supply `metadata.pagination.lastPageId`
          from previous response
        schema:
          $ref: '#/components/schemas/PageId'
    get:
      tags:
        - web-audits
      operationId: getJavaScriptVariables
      summary: Return a list of pages with JS variables
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/javascript-variables</div>


        Get all JS variables found on all the pages in a given audit run
      responses:
        '200':
          description: Pages with JS variables
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagesWithJsVariablesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/reports/failures:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - web-audits
      operationId: getAuditFailureResults
      description: >
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/failures</div>


        Returns a summary of failures for the given run. 

        Failures summary includes details for Pre-Audit Actions, On-Page
        Actions, all found links excluded and starting URLs navigation results.
      summary: Get run failures summary
      responses:
        '200':
          description: The result of the execution of the Audit Pre-Audit Actions if any
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditFailureResults'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/internal/audit-run/{runId}/pages:
    parameters:
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/AfterParam'
  /v3/web-audits/{auditId}/runs/{runId}/filter-validation/urls-matching-audit-configuration:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
  /v3/web-audits/{auditId}/runs/{runId}/screenshots/thumbnail:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
  /v3/web-journeys/{webJourneyId}/runs/{runId}/screenshots/thumbnail:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/info:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - name: withLinkSummary
        in: query
        required: false
        description: Parameter to request inclusion of `links` in response
        schema:
          type: boolean
          default: false
      - name: withParentPage
        in: query
        required: false
        description: Parameter to request inclusion of `parent` in response
        schema:
          type: boolean
          default: false
      - name: withScreenshotUrl
        in: query
        required: false
        description: Parameter to request inclusion of `screenshot` in response
        schema:
          type: boolean
          default: false
    get:
      tags:
        - page-details-report
      operationId: getPageInfo
      summary: Return specific page information
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/info</div>


        Get page information from specified audit run on a given page
      responses:
        '200':
          description: Page Info by page Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageInfo'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/links/{linkDirection}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - $ref: '#/components/parameters/AuditRun_PageInfo_LinkDirection'
      - $ref: '#/components/parameters/AuditRun_PageInfo_LinkDownloadOptions'
      - $ref: '#/components/parameters/AuditRun_PageInfo_ThisUrlType'
    get:
      tags:
        - page-details-report
      operationId: getPageLinks
      summary: Get page links
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/links/<span
        class="op-path-parameter">{linkDirection}</span></div>


        Get up to 1000 page links with specified direction (from/to this page),
        use `downloadPageLinks` to get all items
      responses:
        '200':
          description: Page links
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_PageInfo_LinksDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/links/{linkDirection}/download:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - $ref: '#/components/parameters/AuditRun_PageInfo_LinkDirection'
      - $ref: '#/components/parameters/AuditRun_PageInfo_LinkDownloadOptions'
      - $ref: '#/components/parameters/AuditRun_PageInfo_ThisUrlType'
    get:
      tags:
        - page-details-report
      operationId: downloadPageLinks
      summary: Download page links
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/links/<span
        class="op-path-parameter">{linkDirection}</span>/download</div>


        Download page links with specified direction (from/to this page)
      responses:
        '200':
          description: Page links
          content:
            text/csv:
              schema:
                type: string
                format: csv
                description: See `AuditRun_PageInfo_LinkItem` for single row schema
          headers:
            content-disposition:
              description: >-
                Controls the name of the downloaded file (in case of `text/csv`
                content)
              schema:
                type: string
                example: >-
                  attachment;
                  filename="page-summary-links-to-this-page-My_Audit-2022-03-22_15-16-17.csv"
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/file-mapping:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    get:
      tags:
        - page-details-report
      operationId: getFileMapping
      summary: Return remote file mapping results
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/file-mapping</div>


        Get remote file mapping results from specified audit run on a given page
      responses:
        '200':
          description: Page Info by page Id
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FileMappingResultsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - in: query
        name: getInsights
        schema:
          type: boolean
        required: false
        example: true
    get:
      tags:
        - page-details-report
      operationId: getPageTags
      summary: Return page tag information
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/tags</div>


        Get tags from specified audit run on a given page, getting summary
        insight is optional
      responses:
        '200':
          description: Tag Info by page Id, pageTagInsights object is optional
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagInfoDTOWithInsights'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/cookies:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - $ref: '#/components/parameters/Cookies_GetInsightsParam'
      - $ref: '#/components/parameters/Cookies_GetOriginsParam'
      - $ref: '#/components/parameters/Cookies_HidePreAuditActionOnlyCookiesParam'
    get:
      tags:
        - page-details-report
      operationId: getPageCookies
      summary: Return page cookie information
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/cookies</div>


        Get cookies from specified audit run on a given page, getting summary
        insight is optional
      responses:
        '200':
          description: OK, return cookies found on a page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditPageCookiesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/request-log:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_Page_RequestLog_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_PageDetails_RequestLogSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
      - $ref: '#/components/parameters/searchParam'
      - $ref: '#/components/parameters/showPreAuditActionRequests'
      - in: query
        name: showFileChanges
        schema:
          type: boolean
          default: false
        required: false
        description: >-
          For privacy customers, when file changes are requested, we show the
          changes of the files between previous run and current run.
    get:
      tags:
        - page-details-report
      operationId: getPageRequestLog
      summary: Return network requests fired on a given page
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/request-log</div>


        Get request logs from specified audit run on a given page
      responses:
        '200':
          description: OK, return a list of network requests send
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestLogDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/initiators:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    post:
      tags:
        - page-details-report
      operationId: getPageInitiators
      summary: Get request initiators info for a given page
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/initiators</div>


        Get request initiators info for specified audit run page
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRunPage_InitiatorsTree_RequestDTO'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRunPage_InitiatorsTree_ResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/initiators/request-log:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    post:
      tags:
        - page-details-report
      operationId: getPageRequestsByHarEntryIndices
      summary: Get requests by HAR entry indices
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/initiators/request-log</div>
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QueryByHarEntryIndices_RequestDto'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRequestsByHarEntryIndices_ResponseDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/initiators/cookies:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    get:
      tags:
        - page-details-report
      operationId: getPageCookiesByHarEntryIndices
      summary: Get cookies for all HAR entries on a page
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/initiators/cookies</div>


        Get cookies for all HAR entries on a page
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCookiesByHarEntryIndices_ResponseDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/console-log-summary:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    post:
      tags:
        - page-details-report
      operationId: getPageConsoleLogSummary
      summary: Return console logs summary on a given page
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/console-log-summary</div>


        Get browser console logs summary for specified audit run page
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRunPage_ConsoleLogs_RequestDTO'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsoleLogSummary'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/console-log:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
      - $ref: '#/components/parameters/pageParam'
      - in: query
        name: size
        required: false
        schema:
          type: integer
          maximum: 200
          default: 50
          minimum: 50
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRunPage_BrowserLogs_MessagesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - page-details-report
      operationId: getPageConsoleLog
      summary: Return console logs generated on a given page
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/console-log</div>


        Get browser console logs for specified audit run page
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRunPage_ConsoleLogs_RequestDTO'
      responses:
        '200':
          description: OK, return a list of console logs generated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRunPage_ConsoleLogsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/sparklines:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    get:
      tags:
        - page-details-report
      summary: Return insights on a given page for all runs in the given days
      operationId: getPageSparklines
      responses:
        '200':
          description: Page Insights by page Id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SparkLinesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/sparklines</div>
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/trends/web-vitals:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    get:
      tags:
        - page-details-report
      summary: Get Page Details Web Vitals trends relative to specified audit run
      operationId: getPageDetailsPageWebVitalsTrends
      responses:
        '200':
          description: Page Details Web Vitals trends data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_PageDetails_WebVitalsTrends_Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/trends/web-vitals</div>
  /v3/web-audits/{auditId}/pages/{pageId}/insight-trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/PageId'
      - in: path
        name: trendName
        description: name of the insight trend type
        schema:
          $ref: '#/components/schemas/AuditRun_PageDetails_TrendsEnum'
        required: true
      - in: query
        name: day
        description: how many days of run records should be included
        schema:
          type: integer
          minimum: 1
          maximum: 390
          example: 120
        required: true
    get:
      tags:
        - page-details-report
      summary: >-
        Return specific insight trend on a given page for all runs in the given
        duration (days)
      operationId: getPageInsightTrend
      responses:
        '200':
          description: A array of page insights
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageTrendsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/insight-trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/pages/{pageId}/trends/web-vitals/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/PageId'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
      - in: path
        name: trendName
        schema:
          $ref: '#/components/schemas/AuditRun_WebVitalsTrends_Enum'
        required: true
    get:
      tags:
        - page-details-report
      summary: >-
        Get Page Details Web Vitals specific trend values relative to current
        day
      operationId: getPageDetailsPageWebVitalsTrend
      responses:
        '200':
          description: Page Details Web Vitals specific trend values
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_PageDetails_SpecificWebVitalsTrend_Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/trends/web-vitals/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/screenshot:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PageId'
    get:
      tags:
        - web-audits
      operationId: generateAuditRunPageScreenshot
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/pages/<span
        class="op-path-parameter">{pageId}</span>/screenshot</div>


        Returns an pre-signed S3 URL for audit run page card
      summary: Get audit run page screenshot URL
      responses:
        '302':
          description: >-
            redirect with pre-signed S3 URL for screenshot of a page of an audit
            run
          headers:
            Location:
              description: The URL to which the client will be redirected
              schema:
                type: string
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - page-summary-report
      summary: get page summary insights
      operationId: getPageSummary
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PageSummaryRequestDTO'
      responses:
        '200':
          description: OK, return page summary insights
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageInsightsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/page-summary</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PageSummary_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_PageSummary_PageSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - page-summary-report
      summary: Get insights by page
      operationId: getPageSummaryByPage
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PageSummaryRequestDTO'
      responses:
        '200':
          description: OK, return insights by page
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageSummaryPagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/page-summary/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - page-summary-report
      summary: Return insights for all runs in the given duration
      operationId: getPageSummaryTrends
      responses:
        '200':
          description: Insights by runId
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageSummarySparkLinesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/page-summary/trends</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary/trends/web-vitals:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - page-summary-report
      summary: Get Page Summary Web Vitals trends relative to specified audit run
      operationId: getPageSummaryWebVitalsTrends
      responses:
        '200':
          description: Page Summary Web Vitals trends data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_PageSummary_WebVitalsTrends_Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/page-summary/trends/web-vitals</div>
  /v3/web-audits/{auditId}/reports/page-summary/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - in: path
        name: trendName
        description: name of the insight
        schema:
          $ref: '#/components/schemas/AuditRun_PageSummary_TrendsEnum'
        required: true
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - page-summary-report
      operationId: getPageSummaryTrend
      summary: Return insights on a given page for all runs in the given duration
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/page-summary/trends/<span
        class="op-path-parameter">{trendName}</span></div>


        Get page trend insight from specified time span of audit runs
      responses:
        '200':
          description: list of page insight
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/reports/page-summary/trends/web-vitals/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - in: path
        name: trendName
        schema:
          $ref: '#/components/schemas/AuditRun_WebVitalsTrends_Enum'
        required: true
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - page-summary-report
      summary: >-
        Get Page Summary Web Vitals specific trend values relative to current
        day
      operationId: getPageSummaryWebVitalsTrend
      responses:
        '200':
          description: Page Summary Web Vitals specific trend values
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_PageSummary_SpecificWebVitalsTrend_Response
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/page-summary/trends/web-vitals/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/audit-summary:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - audit-summary-report
      summary: Get Audit Summary data for specified audit run
      operationId: getAuditRunAuditSummary
      requestBody:
        description: Filters applicable to Audit Summary report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
      responses:
        '200':
          description: Audit Summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/audit-summary</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/audit-summary/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - audit-summary-report
      summary: Get Audit Summary trends relative to specified audit run
      operationId: getAuditRunAuditSummaryTrends
      responses:
        '200':
          description: Audit Summary trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_TrendsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/audit-summary/trends</div>
  /v3/web-audits/{auditId}/reports/audit-summary/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_AuditSummary_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - audit-summary-report
      summary: Get Audit Summary specific trend values relative to current day
      operationId: getAuditSummaryTrend
      responses:
        '200':
          description: Audit Summary specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/audit-summary/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/audit-summary/primary-tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - audit-summary-report
      summary: Get Audit Summary all primary tags data for specified audit run
      operationId: getAuditRunAuditSummaryPrimaryTags
      requestBody:
        description: Filters applicable to Audit Summary report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
      responses:
        '200':
          description: Audit Summary all primary tags data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_PrimaryTagsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '424':
          $ref: '#/components/responses/FailedDependency'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/audit-summary/primary-tags</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/audit-summary/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - audit-summary-report
      summary: Get Audit Summary all detected tags data for specified audit run
      operationId: getAuditRunAuditSummaryDetectedTags
      requestBody:
        description: Filters applicable to Audit Summary report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
      responses:
        '200':
          description: Audit Summary all detected tags data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_DetectedTagsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/audit-summary/tags</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/audit-summary/scores:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - audit-summary-report
      summary: Get Audit Summary scores for specified audit run
      operationId: getAuditRunAuditSummaryScores
      responses:
        '200':
          description: Audit Summary scores data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_ScoresDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/audit-summary/scores</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/audit-summary/scores/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - audit-summary-report
      summary: Get Audit Summary scores trends relative to specified audit run
      operationId: getAuditRunAuditSummaryScoresTrends
      responses:
        '200':
          description: Audit Summary all scores trends data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_AuditSummary_AllScoresTrendValuesDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/audit-summary/scores/trends</div>
  /v3/web-audits/{auditId}/reports/audit-summary/scores/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_AuditSummary_ScoreTrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - audit-summary-report
      summary: Get Audit Summary specific score trend values relative to current time
      operationId: getAuditRunAuditScoreTrend
      responses:
        '200':
          description: Audit Score specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_ScoreTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/audit-summary/scores/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/alert-summary/overview:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - alert-summary-report
      summary: Get Alerts statuses overview for specified audit run
      operationId: getAuditRunAlertSummaryAlertsOverview
      responses:
        '200':
          description: Alert Summary alerts overview data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_AlertSummary_AlertsOverviewResponseDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/alert-summary/overview</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/alert-summary/alerts:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - name: size
        in: query
        required: false
        allowEmptyValue: false
        schema:
          type: integer
          maximum: 1000
          default: 50
          minimum: 50
      - name: sortBy
        in: query
        required: false
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - alert-summary-report
      summary: Get Alert Summary alerts table data for specified audit run
      operationId: getAuditRunAlertSummaryAlerts
      requestBody:
        description: Filters applicable to Alert Summary report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_AlertSummary_SummaryRequestDTO'
      responses:
        '200':
          description: Alert Summary alerts data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/alert-summary/alerts</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/alert-summary/alerts/{alertId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/PathParamAlertId'
    get:
      tags:
        - alert-summary-report
      summary: Get specific alert data (config + result) for specified audit run
      operationId: getAuditRunAlertSummaryAlertById
      responses:
        '200':
          description: Alert Summary specific alert data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_AuditSummary_SpecificAlertResponseDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/alert-summary/alerts/<span
        class="op-path-parameter">{alertId}</span></div>
  /v3/account-triggered-alerts/summary:
    post:
      operationId: getAccountTriggeredAlertsSummary
      tags:
        - account-triggered-alerts
      summary: Get summary for all triggered alerts for the account
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountTriggeredAlertsRequestDTO'
      responses:
        '200':
          description: Returns account triggered alerts summary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTriggeredAlerts_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/account-triggered-alerts/summary</div>
  /v3/account-triggered-alerts/alerts:
    parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/QueryParamAlertsSearchPageSize'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/GetAccountTriggeredAlertsSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      operationId: getAccountTriggeredAlerts
      tags:
        - account-triggered-alerts
      summary: Get all triggered alerts for the account
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountTriggeredAlertsRequestDTO'
      responses:
        '200':
          description: Returns account triggered alerts list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTriggeredAlerts_AlertsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/account-triggered-alerts/alerts</div>
  /v3/account-triggered-alerts/alerts/{alertId}:
    parameters:
      - $ref: '#/components/parameters/PathParamAlertId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/QueryParamAlertsSearchPageSize'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/GetAccountTriggeredAlertSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      operationId: getAccountTriggeredSpecificAlert
      tags:
        - account-triggered-alerts
      summary: >-
        Get information about specific alert from all triggered alerts for the
        account
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AccountTriggeredAlertsSpecificAlertRequestDTO
      responses:
        '200':
          description: Returns account triggered alerts specific alert details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountTriggeredAlerts_DataSourcesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/account-triggered-alerts/alerts/<span
        class="op-path-parameter">{alertId}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      operationId: getAuditRunRuleResultsSummary
      tags:
        - rule-summary-report
      summary: Get rule summary for specified audit run
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
      responses:
        '200':
          description: >-
            `Total Pages` + `Rules Applied` + `Rule Instances by Status` +
            `Pages by Rule Status`
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RuleResultsSummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/rule-summary</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      operationId: getAuditRunRuleResultsTrends
      tags:
        - rule-summary-report
      summary: Get rule status trends for specified audit run
      responses:
        '200':
          description: >-
            Audit rule results trends overview (a.k.a. trendlines a.k.a.
            sparklines) for both `Rule Instances by Status` + `Pages by Rule
            Status`
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RuleSummary_RuleResults_AllTrendsDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/rule-summary/trends</div>
  /v3/web-audits/{auditId}/reports/rule-summary/trends/rule-results:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysQP'
    get:
      operationId: getAuditRunRuleResultsTrend
      tags:
        - rule-summary-report
      summary: >-
        Get rule results trend values for specified audit run relative to
        current day
      responses:
        '200':
          description: Audit rule results trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RuleSummary_RuleResultsTrendDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/rule-summary/trends/rule-results</div>
  /v3/web-audits/{auditId}/reports/rule-summary/trends/page-count:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysQP'
    get:
      operationId: getAuditRunRuleResultsPageCountTrend
      tags:
        - rule-summary-report
      summary: >-
        Get rule results page count trend values for specified audit run
        relative to current day
      responses:
        '200':
          description: Audit rule results page count trend values
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RuleSummary_RuleResults_PageCountTrendDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/rule-summary/trends/page-count</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/rule-results:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      operationId: getAuditRunAllRuleResultsOverview
      tags:
        - rule-summary-report
      summary: Get all rules overview for specified audit run
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_RuleSummary_AllRuleResultsRequestDTO
      responses:
        '200':
          description: '`Rule Details by Page` - all rules overview'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RuleSummary_AllRuleResultsOverviewDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/rule-summary/rule-results</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/rule-results/{ruleSnapshotId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/RuleSnapshotId'
    post:
      operationId: getAuditRunSpecificRuleResults
      tags:
        - rule-summary-report
      summary: Get rule details for specified rule within specified audit run
      requestBody:
        description: Filters (page filtering supported only)
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_RuleSummary_SpecificRuleResultsRequestDTO
      responses:
        '200':
          description: '`Rule Details by Page` - single rule details'
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RuleSummary_SpecificRuleResultsDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/rule-summary/rule-results/<span
        class="op-path-parameter">{ruleSnapshotId}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/page-rule-results:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_RuleSummary_AllRules_PagesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      operationId: getAuditRunPageRuleResults
      tags:
        - rule-summary-report
      summary: Get page rule results within specified audit run
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_RuleSummary_AllRuleResultsRequestDTO
      responses:
        '200':
          description: >-
            Pages list with rule failures (when no specific rule
            condition/outcome selected)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RuleSummary_PageRuleResultsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/rule-summary/page-rule-results</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/page-rule-results/{ruleSnapshotId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/RuleSnapshotId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: >-
            #/components/schemas/AuditRun_RuleSummary_SpecificRule_PagesSortColumn
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      operationId: getAuditRunSpecificRulePageRuleResults
      tags:
        - rule-summary-report
      summary: Get specific rule page results within specified audit run
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_RuleSummary_SpecificRulePagesRequestDTO
      responses:
        '200':
          description: >-
            Pages list with rule condition details (when specific rule
            condition/outcome is selected)
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RuleSummary_SpecificRulePageRuleResultsDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/rule-summary/page-rule-results/<span
        class="op-path-parameter">{ruleSnapshotId}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-inventory:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory summary for specified audit run
      operationId: getAuditRunTagInventorySummary
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
      responses:
        '200':
          description: Tag Inventory summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagInventory_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-inventory</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-inventory/tag-categories:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory tag categories summary for specified audit run
      operationId: getAuditRunTagInventoryTagCategories
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
      responses:
        '200':
          description: Tag Inventory tag categories summary data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagInventory_TagCategoriesSummaryDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-inventory/tag-categories</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-inventory/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory trends relative to specified audit run
      operationId: getAuditRunTagInventoryTrends
      responses:
        '200':
          description: Tag Inventory trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagInventory_TrendsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-inventory/trends</div>
  /v3/web-audits/{auditId}/reports/tag-inventory/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_TagInventory_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory specific trend values relative to current time
      operationId: getAuditRunTagInventoryTrend
      responses:
        '200':
          description: Tag Inventory specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/tag-inventory/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-inventory/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory tag presence for specified audit run
      operationId: getAuditRunTagInventoryTagPresence
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
      responses:
        '200':
          description: Tag Inventory tag presence data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagInventory_TagPresenceDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-inventory/tags</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-inventory/tags/{tagId}/accounts:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/TagId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_TagAccountList_PageSizeParam'
    post:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory tag accounts presence for specified audit run
      operationId: getAuditRunTagInventoryTagAccountPresence
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagInventory_FilteredRequestDTO'
      responses:
        '200':
          description: Tag Inventory specific tag accounts presence data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagInventory_TagAccountPresenceDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-inventory/tags/<span
        class="op-path-parameter">{tagId}</span>/accounts</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-inventory/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_TagInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-inventory-report
      summary: Get Tag Inventory page info for specified audit run
      operationId: getAuditRunTagInventoryPages
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
      responses:
        '200':
          description: Tag Inventory page tag presence data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagInventory_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-inventory/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-health:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-health-report
      summary: Get Tag Health summary for specified audit run
      operationId: getAuditRunTagHealthSummary
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
      responses:
        '200':
          description: Tag Health summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagHealth_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-health</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-health/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - tag-health-report
      summary: Get Tag Health trends relative to for specified audit run
      operationId: getAuditRunTagHealthTrends
      responses:
        '200':
          description: Tag Health trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagHealth_TrendsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-health/trends</div>
  /v3/web-audits/{auditId}/reports/tag-health/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_TagHealth_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - tag-health-report
      summary: Get Tag Health specific trend values relative to current day
      operationId: getAuditRunTagHealthTrend
      responses:
        '200':
          description: Tag Health specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/tag-health/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-health/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-health-report
      summary: Get Tag Health all tags list for specified audit run
      operationId: getAuditRunTagHealthTags
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
      responses:
        '200':
          description: Tag Health all tags data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagHealth_TagListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-health/tags</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-health/tags/{tagId}/accounts:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/TagId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_TagAccountList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_TagHealth_TagAccountsSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-health-report
      summary: Get Tag Health tag accounts list for specified audit run
      operationId: getAuditRunTagHealthTagAccounts
      requestBody:
        description: Filters applicable to Tag Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagHealth_FilteredRequestDTO'
      responses:
        '200':
          description: Tag Health tag accounts data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagHealth_TagAccountListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-health/tags/<span
        class="op-path-parameter">{tagId}</span>/accounts</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-health/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_TagHealth_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-health-report
      summary: Get Tag Health page list for specified audit run
      operationId: getAuditRunTagHealthPages
      requestBody:
        description: Filters applicable to Tag Health report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
      responses:
        '200':
          description: Tag Health pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagHealth_PageListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-health/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-duplicates-and-multiples:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-duplicates-and-multiples-report
      summary: Get Tag Duplicates & Multiples summary for specified audit run
      operationId: getAuditRunTagDuplicatesAndMultiplesSummary
      requestBody:
        description: Filters applicable to Tag Duplicates & Multiples report
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO
      responses:
        '200':
          description: Tag Duplicates & Multiples summary data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagDuplicatesAndMultiples_SummaryDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-duplicates-and-multiples</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-duplicates-and-multiples/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - tag-duplicates-and-multiples-report
      summary: Get Tag Duplicates & Multiples trends relative to specified audit run
      operationId: getAuditRunTagDuplicatesAndMultiplesTrends
      responses:
        '200':
          description: Tag Duplicates & Multiples trends data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TrendsDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-duplicates-and-multiples/trends</div>
  /v3/web-audits/{auditId}/reports/tag-duplicates-and-multiples/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - tag-duplicates-and-multiples-report
      summary: >-
        Get Tag Duplicates & Multiples specific trend values relative to current
        date
      operationId: getAuditRunTagDuplicatesAndMultiplesTrend
      responses:
        '200':
          description: >-
            Tag Duplicates & Multiples specific trend data relative to current
            date
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/tag-duplicates-and-multiples/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-duplicates-and-multiples/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-duplicates-and-multiples-report
      summary: Get Tag Duplicates & Multiples all tags data for specified audit run
      operationId: getAuditRunTagDuplicatesAndMultiplesSummaryTags
      requestBody:
        description: Filters applicable to Tag Duplicates & Multiples report
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO
      responses:
        '200':
          description: Tag Duplicates & Multiples all tags data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagsDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-duplicates-and-multiples/tags</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-duplicates-and-multiples/tags/{tagId}/accounts:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/TagId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_TagAccountList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: >-
            #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagAccountsSortColumn
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-duplicates-and-multiples-report
      summary: Get Tag Duplicates & Multiples tag accounts for specified audit run
      operationId: getAuditRunTagDuplicatesAndMultiplesSummaryTagAccounts
      requestBody:
        description: Filters applicable to Tag Duplicates & Multiples report
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_TagDuplicatesAndMultiples_FilteredRequestDTO
      responses:
        '200':
          description: Tag Duplicates & Multiples summary data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagAccountsDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-duplicates-and-multiples/tags/<span
        class="op-path-parameter">{tagId}</span>/accounts</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-duplicates-and-multiples/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: >-
          #/components/parameters/AuditRun_TagDuplicatesAndMultiples_PagesSortParam
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-duplicates-and-multiples-report
      summary: Get Tag Duplicates & Multiples pages for specified audit run
      operationId: getAuditRunTagDuplicatesAndMultiplesPages
      requestBody:
        description: Filters applicable to Tag Duplicates & Multiples report
        required: false
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_TagDuplicatesAndMultiples_PagesRequestDTO
      responses:
        '200':
          description: Tag Duplicates & Multiples page data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_TagDuplicatesAndMultiples_PagesDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-duplicates-and-multiples/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - variable-inventory-report
      summary: Get Variable Inventory summary for specified audit run
      operationId: getAuditRunVariableInventorySummary
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
      responses:
        '200':
          description: Variable Inventory summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_VariableInventory_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - variable-inventory-report
      summary: Get Variable Inventory trends relative to specified audit run
      operationId: getAuditRunVariableInventoryTrends
      responses:
        '200':
          description: Variable Inventory summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_VariableInventory_TrendsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/trends</div>
  /v3/web-audits/{auditId}/reports/variable-inventory/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_VariableInventory_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - variable-inventory-report
      summary: Get Variable Inventory specific trend values relative to current day
      operationId: getAuditRunVariableInventoryTrend
      responses:
        '200':
          description: Variable Inventory specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/variable-inventory/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_TagAccountList_PageSizeParam'
    post:
      tags:
        - variable-inventory-report
      summary: Get Variable Inventory tag accounts list for specified audit run
      operationId: getAuditRunVariableInventoryTagAccounts
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
      responses:
        '200':
          description: Variable Inventory tag accounts list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_VariableInventory_TagsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tags</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tag-account-variables:
    description: >-
      This endpoint will return top 500 variables with highest
      variableSetPageCount (Desc).
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - variable-inventory-report
      operationId: getAuditRunVariableInventoryTagAccountVariables
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tag-account-variables</div>


        This endpoint will only return top 500 variables which are sort by
        variableSetPageCount (Desc).
      summary: Get top 500 variables sorted by variableSetPageCount
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_VariableInventory_TagAccountRequestDTO
      responses:
        '200':
          description: Variable Inventory tag account variables list
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_VariableInventory_TagAccountVariablesDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tag-account-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_VariableInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - variable-inventory-report
      summary: >-
        Get Variable Inventory page list for specific tag account in specified
        audit run
      operationId: getAuditRunVariableInventoryTagAccountPages
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_VariableInventory_TagAccountRequestDTO
      responses:
        '200':
          description: Variable Inventory - page list for specified tag account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_VariableInventory_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tag-account-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tag-account-variable-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_VariableInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - variable-inventory-report
      summary: >-
        Get Variable Inventory page list for specific tag account variable in
        specified audit run
      operationId: getAuditRunVariableInventoryTagAccountVariablePages
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
      responses:
        '200':
          description: Variable Inventory - page list for specified tag account variable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_VariableInventory_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tag-account-variable-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tag-account-variable-not-set-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_VariableInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - variable-inventory-report
      summary: >-
        Get Variable Inventory page list where variable is not set for specific
        tag account variable in specified audit run. This endpoint does not
        support sorting by `variable_count` because we retrieve pages that do
        NOT have that specific variable
      operationId: getAuditRunVariableInventoryTagAccountVariableNotSetPages
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
      responses:
        '200':
          description: Variable Inventory tag account variable not set pages list
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_VariableInventory_VariableNotSetPagesDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tag-account-variable-not-set-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tag-account-variable-values:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: >-
          #/components/parameters/AuditRun_TagAccountVariableValueList_PageSizeParam
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: >-
            #/components/schemas/AuditRun_VariableInventory_VariableValuesSortColumn
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - variable-inventory-report
      summary: >-
        Get Variable Inventory unique values list for specific tag account
        variable in specified audit run
      operationId: getAuditRunVariableInventoryTagAccountVariableUniqueValues
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
      responses:
        '200':
          description: Variable Inventory tag account variable unique values list
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_VariableInventory_UniqueVariableValuesDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tag-account-variable-values</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/variable-inventory/tag-account-variable-value-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_VariableInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - variable-inventory-report
      summary: >-
        Get Variable Inventory page list for specific tag account variable value
        in specified audit run
      operationId: getAuditRunVariableInventoryTagAccountVariableValuePages
      requestBody:
        description: Filters applicable to Variable Inventory report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_VariableInventory_TagAccountVariableValueRequestDTO
      responses:
        '200':
          description: >-
            Variable Inventory tag account variable pages list with unique
            variable values
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_VariableInventory_VariableValuePagesDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/variable-inventory/tag-account-variable-value-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-inventory:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - cookie-inventory-report
      summary: Get Cookie Inventory summary for specified audit run
      operationId: getAuditRunCookieInventorySummary
      requestBody:
        description: Filters applicable to Cookie Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
      responses:
        '200':
          description: Cookie Inventory summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookieInventory_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-inventory</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-inventory/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - cookie-inventory-report
      summary: Get Cookie Inventory trends relative to specified audit run
      operationId: getAuditRunCookieInventoryTrends
      responses:
        '200':
          description: Cookie Inventory trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookieInventory_TrendsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-inventory/trends</div>
  /v3/web-audits/{auditId}/reports/cookie-inventory/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_CookieInventory_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - cookie-inventory-report
      summary: Get Cookie Inventory specific trend values relative to current time
      operationId: getAuditRunCookieInventoryTrend
      responses:
        '200':
          description: Cookie Inventory specific trend values data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/cookie-inventory/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-inventory/cookies:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_CookieList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_CookieInventory_CookiesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-inventory-report
      summary: Get Cookie Inventory cookie list for specified audit run
      operationId: getAuditRunCookieInventoryCookies
      requestBody:
        description: Filters applicable to Cookie Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
      responses:
        '200':
          description: Cookie Inventory cookies data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookieInventory_CookiesListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-inventory/cookies</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-inventory/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_CookieInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-inventory-report
      summary: Get Cookie Inventory page list for specified audit run
      operationId: getAuditRunCookieInventoryPages
      requestBody:
        description: Filters applicable to Cookie Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
      responses:
        '200':
          description: Cookie Inventory pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookieInventory_PagesListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-inventory/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-inventory/cookie-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_CookieInventory_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-inventory-report
      summary: >-
        Get Cookie Inventory page list for specific cookie in specified audit
        run
      operationId: getAuditRunCookieInventoryCookiePages
      requestBody:
        description: >-
          Filters applicable to Cookie Inventory report + specific cookie to
          check out its pages
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_CookieInventory_CookiePagesRequestDTO
      responses:
        '200':
          description: Cookie Inventory specific cookie pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookieInventory_PagesListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-inventory/cookie-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-inventory/domains:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_CookieInventory_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_CookieInventory_DomainsSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-inventory-report
      summary: Get Cookie Domains list in specified audit run
      operationId: getAuditRunCookieInventoryCookieDomains
      requestBody:
        description: Filters applicable to Cookie Inventory report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
      responses:
        '200':
          description: Cookie Inventory domains data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookieInventory_DomainsListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-inventory/domains</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/browser-logs:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - browser-logs-report
      summary: Get Browser Logs summary for specified audit run
      operationId: getAuditRunBrowserLogsSummary
      requestBody:
        description: Filters applicable to Browser Logs report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
      responses:
        '200':
          description: Browser Logs summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_BrowserLogs_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/browser-logs</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/browser-logs/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - browser-logs-report
      summary: Get Browser Logs trends relative to specified audit run
      operationId: getAuditRunBrowserLogsTrends
      responses:
        '200':
          description: Browser Logs trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_BrowserLogs_TrendsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/browser-logs/trends</div>
  /v3/web-audits/{auditId}/reports/browser-logs/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_BrowserLogs_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - browser-logs-report
      summary: Get Browser Logs specific trend values relative to current time
      operationId: getAuditRunBrowserLogsTrend
      responses:
        '200':
          description: Browser Logs specific trend values data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/browser-logs/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/browser-logs/messages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_BrowserLogs_MessagesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - browser-logs-report
      summary: Get Browser Logs most common messages list for specified audit run
      operationId: getAuditRunBrowserLogsMessages
      requestBody:
        description: Filters applicable to Browser Logs report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
      responses:
        '200':
          description: Browser Logs most common messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_BrowserLogs_MessagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/browser-logs/messages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/browser-logs/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_BrowserLogs_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - browser-logs-report
      summary: Get Browser Logs page list for specified audit run
      operationId: getAuditRunBrowserLogsPages
      requestBody:
        description: Filters applicable to Browser Logs report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_BrowserLogs_PagesRequestDTO'
      responses:
        '200':
          description: Browser Logs pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_BrowserLogs_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/browser-logs/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/file-changes:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - file-changes-report
      summary: Get File Changes summary for specified audit run
      operationId: getAuditRunFileChangesSummary
      requestBody:
        description: Filters applicable to File Changes report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
      responses:
        '200':
          description: File Changes summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_FileChanges_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/file-changes</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/file-changes/files:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_FileChangesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_FileChanges_FilesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - file-changes-report
      summary: Get File Changes files for specified audit run
      operationId: getAuditRunFileChangesFiles
      requestBody:
        description: Filters applicable to File Changes report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
      responses:
        '200':
          description: File Changes summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_FileChanges_FilesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/file-changes/files</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/file-changes/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_FileChanges_PagesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - file-changes-report
      summary: Get File Changes pages for specified audit run
      operationId: getAuditRunFileChangesPages
      requestBody:
        description: Filters applicable to File Changes report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
      responses:
        '200':
          description: File Changes pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_FileChanges_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/file-changes/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/file-changes/file-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_FileChanges_PagesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - file-changes-report
      summary: Get File Changes pages for specific file in specified audit run
      operationId: getAuditRunFileChangesPagesForFile
      requestBody:
        description: Filters applicable to File Changes report
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_FileChanges_FilePagesRequestDTO'
      responses:
        '200':
          description: File Changes pages data for specific file
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_FileChanges_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/file-changes/file-pages</div>
  /v3/runs/tags:
    parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/RunData_PageSizeParam'
      - $ref: '#/components/parameters/searchParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/RunData_Tags_SortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/runs/cookies:
    parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/RunData_PageSizeParam'
      - $ref: '#/components/parameters/searchParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/RunData_Cookies_SortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/runs/request-domains:
    parameters:
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/RunData_PageSizeParam'
      - $ref: '#/components/parameters/searchParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/RunData_Request_Domains_SortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-privacy:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - cookie-privacy-report
      summary: Get Cookie Privacy summary for specified audit run
      operationId: getAuditRunCookiePrivacySummary
      requestBody:
        description: Filters applicable to Cookie Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
      responses:
        '200':
          description: Cookie Privacy summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookiePrivacy_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-privacy</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-privacy/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - cookie-privacy-report
      summary: Get Cookie Privacy trends relative to specified audit run
      operationId: getAuditRunCookiePrivacyTrends
      responses:
        '200':
          description: Cookie Privacy trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookiePrivacy_TrendsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-privacy/trends</div>
  /v3/web-audits/{auditId}/reports/cookie-privacy/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_CookiePrivacy_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - cookie-privacy-report
      summary: Get Cookie Privacy specific trend values relative to current day
      operationId: getAuditRunCookiePrivacyTrend
      responses:
        '200':
          description: Cookie Privacy specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/cookie-privacy/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-privacy/compliance:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_CookieList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_CookiePrivacy_CookiesSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-privacy-report
      summary: Get Cookie Privacy compliance for specified audit run
      operationId: getAuditRunCookiePrivacyCompliance
      requestBody:
        description: Filters applicable to Cookie Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
      responses:
        '200':
          description: Cookie Privacy compliance data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_CookiePrivacy_CookiesComplianceDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-privacy/compliance</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-privacy/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_CookiePrivacy_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-privacy-report
      summary: Get Cookie Privacy pages data for specified audit run
      operationId: getAuditRunCookiePrivacyPages
      requestBody:
        description: Filters applicable to Cookie Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
      responses:
        '200':
          description: Cookie Privacy pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookiePrivacy_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-privacy/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/cookie-privacy/cookie-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_CookiePrivacy_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - cookie-privacy-report
      summary: >-
        Get Cookie Privacy pages data for specific cookie name+domain in
        specified audit run
      operationId: getAuditRunCookiePrivacyCookiePages
      requestBody:
        description: Filters applicable to Cookie Privacy report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_CookiePrivacy_CookiePagesRequestDTO
      responses:
        '200':
          description: Cookie Privacy pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_CookiePrivacy_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/cookie-privacy/cookie-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-privacy:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - tag-privacy-report
      summary: Get Tag Privacy summary for specified audit run
      operationId: getAuditRunTagPrivacySummary
      requestBody:
        description: Filters applicable to Tag Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
      responses:
        '200':
          description: Tag Privacy summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagPrivacy_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-privacy</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-privacy/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - tag-privacy-report
      summary: Get Tag Privacy trends relative to specified audit run
      operationId: getAuditRunTagPrivacyTrends
      responses:
        '200':
          description: Tag Privacy trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagPrivacy_TrendsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-privacy/trends</div>
  /v3/web-audits/{auditId}/reports/tag-privacy/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_TagPrivacy_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - tag-privacy-report
      summary: Get Tag Privacy specific trend values relative to current day
      operationId: getAuditRunTagPrivacyTrend
      responses:
        '200':
          description: Tag Privacy specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/tag-privacy/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-privacy/compliance:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_TagAccountList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_TagPrivacy_TagsSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-privacy-report
      summary: Get Tag Privacy compliance for specified audit run
      operationId: getAuditRunTagPrivacyCompliance
      requestBody:
        description: Filters applicable to Tag Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
      responses:
        '200':
          description: Tag Privacy compliance data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagPrivacy_TagsComplianceDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-privacy/compliance</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-privacy/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_TagPrivacy_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-privacy-report
      summary: Get Tag Privacy pages data for specified audit run
      operationId: getAuditRunTagPrivacyPages
      requestBody:
        description: Filters applicable to Tag Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
      responses:
        '200':
          description: Tag Privacy pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagPrivacy_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-privacy/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/tag-privacy/tag-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_TagPrivacy_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - tag-privacy-report
      summary: Get Tag Privacy pages data for specific tag in specified audit run
      operationId: getAuditRunTagPrivacyTagPages
      requestBody:
        description: Filters applicable to Tag Privacy report
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_TagPrivacy_TagPagesRequestDTO'
      responses:
        '200':
          description: Tag Privacy pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_TagPrivacy_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/tag-privacy/tag-pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/request-privacy:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - request-privacy-report
      summary: Get Request Privacy summary for specified audit run
      operationId: getAuditRunRequestPrivacySummary
      requestBody:
        description: Filters applicable to Request Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
      responses:
        '200':
          description: Request Privacy summary data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RequestPrivacy_SummaryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/request-privacy</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/request-privacy/trends:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - request-privacy-report
      summary: Get Request Privacy trends relative to specified audit run
      operationId: getAuditRunRequestPrivacyTrends
      responses:
        '200':
          description: Request Privacy trends data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RequestPrivacy_TrendsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/request-privacy/trends</div>
  /v3/web-audits/{auditId}/reports/request-privacy/trends/{trendName}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - name: trendName
        in: path
        required: true
        description: name of requested trend
        schema:
          $ref: '#/components/schemas/AuditRun_RequestPrivacy_TrendsEnum'
      - $ref: '#/components/parameters/AuditRun_Trends_DaysParam'
    get:
      tags:
        - request-privacy-report
      summary: Get Request Privacy specific trend values relative to current day
      operationId: getAuditRunRequestPrivacyTrend
      responses:
        '200':
          description: Request Privacy specific trend values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemRun_SpecificTrendValuesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/reports/request-privacy/trends/<span
        class="op-path-parameter">{trendName}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/request-privacy/locations:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - request-privacy-report
      summary: Get Request Privacy locations for specified audit run
      operationId: getAuditRunRequestPrivacyLocations
      requestBody:
        description: >-
          Filters applicable to Request Privacy report. `countryCode` filter is
          not abided by this endpoint.
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
      responses:
        '200':
          description: Request Privacy locations data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RequestPrivacy_RequestLocationsDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/request-privacy/locations</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/request-privacy/compliance:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_RequestDomainGeoList_PageSizeParam'
      - name: sortBy
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestsSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - request-privacy-report
      summary: Get Request Privacy compliance for specified audit run
      operationId: getAuditRunRequestPrivacyCompliance
      requestBody:
        description: Filters applicable to Request Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
      responses:
        '200':
          description: Request Privacy compliance data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AuditRun_RequestPrivacy_RequestsComplianceDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/request-privacy/compliance</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/request-privacy/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_RequestPrivacy_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - request-privacy-report
      summary: Get Request Privacy pages data for specified audit run
      operationId: getAuditRunRequestPrivacyPages
      requestBody:
        description: Filters applicable to Request Privacy report
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
      responses:
        '200':
          description: Request Privacy pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RequestPrivacy_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/request-privacy/pages</div>
  /v3/web-audits/{auditId}/runs/{runId}/reports/request-privacy/request-pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/AuditRun_PagesList_PageSizeParam'
      - $ref: '#/components/parameters/AuditRun_RequestPrivacy_PagesSortParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - request-privacy-report
      summary: >-
        Get Request Privacy pages data for specific request in specified audit
        run
      operationId: getAuditRunRequestPrivacyRequestPages
      requestBody:
        description: Filters applicable to Request Privacy report
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/AuditRun_RequestPrivacy_RequestPagesRequestDTO
      responses:
        '200':
          description: Request Privacy pages data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_RequestPrivacy_PagesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/reports/request-privacy/request-pages</div>
  /v3/manual-journeys/{manualJourneyId}/runs/{runId}/exports/{exportType}:
    parameters:
      - $ref: '#/components/parameters/ManualJourneyId'
      - $ref: '#/components/parameters/RunId'
      - name: exportType
        in: path
        required: true
        description: Controls accepted values
        schema:
          $ref: '#/components/schemas/ManualJourneyRun_ExportTypeEnum'
    post:
      tags:
        - manual-journey-run-export
      operationId: requestManualJourneyRunExport
      summary: Create export for manual journey run
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManualJourneyRun_ExportRequestDTO'
      responses:
        '201':
          description: Details of created export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportResultDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/manual-journeys/<span
        class="op-path-parameter">{manualJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/exports/<span
        class="op-path-parameter">{exportType}</span></div>
  /v3/web-journeys/{webJourneyId}/runs/{runId}/exports/{exportType}:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
      - name: exportType
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/WebJourneyRun_ExportTypeEnum'
    post:
      tags:
        - web-journey-run-export
      operationId: requestWebJourneyRunExport
      summary: Create export for web journey run
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              type: object
              description: >-
                Exact type depends on `exportType` param, see mapping in
                `WebJourneyRun_ExportTypeToFilterMapping`
      responses:
        '201':
          description: Details of created export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportResultDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/exports/<span
        class="op-path-parameter">{exportType}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/exports/{exportType}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - name: exportType
        in: path
        required: true
        description: >-
          Controls accepted values and their bytes for page `size`, `sortBy` and
          request body
        schema:
          $ref: '#/components/schemas/AuditRun_ExportTypeEnum'
      - $ref: '#/components/parameters/pageParam'
      - name: size
        in: query
        required: false
        schema:
          type: integer
          description: >-
            Same constraints applied as on regular "get items list" endpoint,
            depends on `exportType`
      - name: sortBy
        in: query
        required: false
        description: Controls sorting
        schema:
          type: string
          description: >
            Must correspond to sort column enum appropriate for given export
            type, see mapping in `AuditRun_ExportTypeToSortColumnMapping`
      - $ref: '#/components/parameters/SortDescendingParam'
      - $ref: '#/components/parameters/Export_AllDataParam'
      - $ref: '#/components/parameters/Export_NoLimitParam'
    post:
      tags:
        - audit-run-export
      operationId: requestAuditRunExport
      summary: Create export for web audit run
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              type: object
              description: >-
                Exact type depends on `exportType` param, see mapping in
                `AuditRun_ExportTypeToFilterMapping`
      responses:
        '201':
          description: Details of created export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportResultDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/exports/<span
        class="op-path-parameter">{exportType}</span></div>
  /v3/consent-categories/exports/{exportType}:
    parameters:
      - name: exportType
        in: path
        required: true
        description: Controls accepted values
        schema:
          $ref: '#/components/schemas/ConsentCategory_ExportTypeEnum'
    post:
      tags:
        - consent-category-export
      operationId: requestConsentCategoryExport
      summary: Create export for consent category
      responses:
        '201':
          description: Details of created export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportResultDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/consent-categories/exports/<span
        class="op-path-parameter">{exportType}</span></div>
  /v3/alerts/exports/{exportType}:
    parameters:
      - name: exportType
        in: path
        required: true
        description: Controls accepted values
        schema:
          $ref: '#/components/schemas/AlertExportTypeEnum'
      - $ref: '#/components/parameters/pageParam'
      - name: size
        in: query
        required: false
        schema:
          type: integer
          description: >-
            Same constraints applied as on regular "get items list" endpoint,
            depends on `exportType`
          default: 50
      - name: sortBy
        in: query
        required: false
        description: Controls sorting
        schema:
          type: string
          description: >
            Must correspond to sort column enum appropriate for given export
            type, see mapping in `AlertExportTypeToSortColumnMapping`
      - $ref: '#/components/parameters/SortDescendingParam'
      - $ref: '#/components/parameters/Export_AllDataParam'
    post:
      tags:
        - alert-export
      operationId: requestAlertExport
      summary: Create export for alert
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              type: object
              description: >-
                Exact type depends on `exportType` param, see mapping in
                `AlertExportTypeToFilterMapping`
      responses:
        '201':
          description: Details of created export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportResultDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/alerts/exports/<span
        class="op-path-parameter">{exportType}</span></div>
  /v3/usage/exports/{exportType}:
    parameters:
      - name: exportType
        in: path
        required: true
        description: Controls accepted values
        schema:
          $ref: '#/components/schemas/AccountUsageExportTypeEnum'
    post:
      tags:
        - account-usage-export
      operationId: requestUsageExport
      summary: Create export for account usage
      requestBody:
        description: Filters
        required: false
        content:
          application/json:
            schema:
              type: object
              description: >-
                Exact type depends on `exportType` param, see mapping in
                `AccountUsageExportTypeToFilterMapping`
      responses:
        '201':
          description: Details of created export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportResultDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/usage/exports/<span
        class="op-path-parameter">{exportType}</span></div>
  /v3/exports:
    parameters:
      - $ref: '#/components/parameters/pageParam'
      - name: size
        in: query
        required: false
        schema:
          type: integer
          default: 20
          minimum: 20
          maximum: 200
      - name: sortBy
        in: query
        required: false
        description: Controls sorting
        schema:
          $ref: '#/components/schemas/ExportCenter_ExportsSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
      - name: exportedItemType
        in: query
        description: aggregate filter for different export types and item types
        required: false
        schema:
          $ref: '#/components/schemas/ExportCenter_ExportedItemTypeEnum'
      - name: search
        in: query
        required: false
        description: Filter by item or export name in "contains" mode
        schema:
          type: string
          example: my audit
      - name: requestedByUserId
        in: query
        required: false
        description: Filter by user ID of export requestor
        schema:
          $ref: '#/components/schemas/UserId'
      - name: exportIds
        style: form
        explode: false
        in: query
        required: false
        description: >-
          Filter by a list of one or more export IDs, comma separated (example
          exportIds=1,2 or exportIds=1)
        schema:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/ExportId'
    get:
      tags:
        - exports
      operationId: getExportCenterExports
      summary: Get export center exports
      responses:
        '200':
          description: Export Center exports
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExportCenter_ExportsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/exports</div>
  /v3/exports/{exportUuid}:
    parameters:
      - name: exportUuid
        in: path
        required: true
        description: UUID of the export file
        schema:
          $ref: '#/components/schemas/ExportUuid'
    get:
      tags:
        - exports
      operationId: getExportDownload
      summary: Download export
      responses:
        '302':
          description: Redirect to presigned export link
          headers:
            Location:
              schema:
                type: string
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/exports/<span class="op-path-parameter">{exportUuid}</span></div>
  /v3/exports/{exportId}/email:
    parameters:
      - name: exportId
        in: path
        required: true
        description: ID of an export
        schema:
          $ref: '#/components/schemas/ExportId'
  /v3/exports/scheduled:
    get:
      parameters:
        - name: search
          description: >
            Return Scheduled Exports which contain the provided text in their
            name, 

            schedule description, owner user name, or exported item name.
          in: query
          required: false
          allowEmptyValue: false
          schema:
            type: string
        - name: exportedItemType
          description: Return Scheduled Exports with specified exported item type.
          in: query
          required: false
          allowEmptyValue: false
          schema:
            $ref: '#/components/schemas/ScheduledExports_ExportedItemType'
        - name: exportedItemId
          description: |
            Return Scheduled Exports for a specific exported item.
            Should be used together with `exportedItemType` parameter.
          in: query
          required: false
          allowEmptyValue: false
          schema:
            $ref: '#/components/schemas/ScheduledExports_ExportedItemId'
        - name: size
          in: query
          required: false
          allowEmptyValue: false
          schema:
            type: integer
            maximum: 1000
            default: 50
            minimum: 50
        - name: sortBy
          in: query
          required: false
          allowEmptyValue: false
          schema:
            $ref: '#/components/schemas/ScheduledExports_SortColumn'
        - $ref: '#/components/parameters/pageParam'
        - $ref: '#/components/parameters/SortDescendingParam'
      tags:
        - scheduled-exports
      operationId: getScheduledExports
      summary: Get Scheduled Exports
      responses:
        '200':
          description: Paginated list of Scheduled Exports
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledExportListDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/responses-Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/exports/scheduled</div>
    post:
      tags:
        - scheduled-exports
      operationId: createScheduledExport
      summary: Create scheduled export
      requestBody:
        description: Scheduled Export definition
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateScheduledExportRequestDTO'
      responses:
        '201':
          description: Created Scheduled Export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledExportDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/responses-Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/exports/scheduled</div>
  /v3/exports/scheduled/{scheduledExportId}:
    parameters:
      - name: scheduledExportId
        in: path
        required: true
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/ScheduledExportId'
    get:
      tags:
        - scheduled-exports
      operationId: getScheduledExportById
      summary: Get specific Scheduled Export
      responses:
        '200':
          description: Scheduled Export definition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledExportDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/responses-Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/exports/scheduled/<span
        class="op-path-parameter">{scheduledExportId}</span></div>
    put:
      tags:
        - scheduled-exports
      operationId: updateScheduledExportById
      summary: Update specific Scheduled Export
      requestBody:
        description: Scheduled Export definition
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateScheduledExportRequestDTO'
      responses:
        '200':
          description: Updated Scheduled Export
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledExportDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/responses-Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/exports/scheduled/<span
        class="op-path-parameter">{scheduledExportId}</span></div>
    delete:
      tags:
        - scheduled-exports
      operationId: deleteScheduledExportById
      summary: Delete specific Scheduled Export
      responses:
        '204':
          description: Deleted successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/responses-Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/exports/scheduled/<span
        class="op-path-parameter">{scheduledExportId}</span></div>
  /v3/web-audits/{auditId}/runs/{runId}/alerts:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
  /v3/alerts:
    post:
      tags:
        - alerts
      operationId: createAlert
      summary: Create Alert
      requestBody:
        description: Alert definition
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAlertRequestDTO'
      responses:
        '201':
          description: created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAlertResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/alerts</div>
  /v3/alerts/{alertId}:
    parameters:
      - $ref: '#/components/parameters/PathParamAlertId'
    get:
      tags:
        - alerts
      operationId: getAlertById
      summary: Get specific Alert by ID
      responses:
        '200':
          description: alert definition
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAlertDefinitionResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/alerts/<span class="op-path-parameter">{alertId}</span></div>
    put:
      tags:
        - alerts
      operationId: updateAlertById
      summary: Update specific Alert
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAlertRequestDTO'
      responses:
        '204':
          description: updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/alerts/<span class="op-path-parameter">{alertId}</span></div>
    delete:
      tags:
        - alerts
      operationId: deleteAlertById
      summary: Delete specific Alert
      responses:
        '204':
          description: deleted successfully
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/alerts/<span
        class="op-path-parameter">{alertId}</span></div>
  /v3/alerts/{alertId}/labels:
    parameters:
      - $ref: '#/components/parameters/PathParamAlertId'
    put:
      tags:
        - alerts
      operationId: updateAlertLabels
      summary: Update labels for an Alert
      requestBody:
        content:
          application/json:
            schema:
              title: AlertSetLabelsRequestDTO
              description: existing labels will be overwritten by labels listed here
              type: object
              properties:
                labels:
                  type: array
                  items:
                    $ref: '#/components/schemas/LabelId'
      responses:
        '204':
          description: alert labels updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/alerts/<span class="op-path-parameter">{alertId}</span>/labels</div>
  /v3/alerts/library:
    parameters:
      - $ref: '#/components/parameters/QueryParamAlertsSearchPageSize'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/SortDescendingParam'
      - name: sortBy
        in: query
        required: false
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/GetAlertsLibrarySortColumn'
    post:
      tags:
        - alerts
      operationId: getAlertsForLibrary
      summary: Get Alerts Library items
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetAlertsLibraryRequestDTO'
      responses:
        '200':
          description: Alerts Library items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAlertsLibraryResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/alerts/library</div>
  /v3/alerts/metrics/{metricType}:
    parameters:
      - name: metricType
        in: path
        required: true
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/AlertMetricTypeEnum'
      - $ref: '#/components/parameters/QueryParamAlertsSearchPageSize'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/SortDescendingParam'
      - name: sortBy
        in: query
        required: false
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/GetAlertsByMetricSortColumn'
    get:
      tags:
        - alerts
      operationId: getAlertsByMetric
      summary: Get Alerts by metric
      responses:
        '200':
          description: All alerts in an account with the same metric
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAlertsByMetricResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/alerts/metrics/<span
        class="op-path-parameter">{metricType}</span></div>
  /v3/alerts/target-items/{itemType}/search:
    parameters:
      - $ref: '#/components/parameters/PathParamAlertAssignmentItemType'
      - $ref: '#/components/parameters/QueryParamAlertAssignmentsPageSize'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/QueryParamAlertAssignmentsSort'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - alerts
      operationId: searchTargetItemsForAlert
      summary: >-
        Search target items (data sources - audits, journeys etc) that may have
        specified Alert assigned or not assigned
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAlertAssignmentsRequestDTO'
      responses:
        '200':
          description: >-
            Items (data sources) that may have specified Alert assigned or not
            assigned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAlertAssignmentsResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/alerts/target-items/<span
        class="op-path-parameter">{itemType}</span>/search</div>
  /v3/alerts/{alertId}/target-items:
    parameters:
      - $ref: '#/components/parameters/PathParamAlertId'
    patch:
      tags:
        - alerts
      operationId: updateTargetItemsOfAlert
      summary: Update target items (data sources) that have specified Alert assigned
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSpecificAlertAssignmentsRequestDTO'
      responses:
        '204':
          description: Updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/alerts/<span
        class="op-path-parameter">{alertId}</span>/target-items</div>
  /v3/alerts/search/assignments:
    parameters:
      - $ref: '#/components/parameters/QueryParamAlertsSearchPageSize'
      - $ref: '#/components/parameters/pageParam'
      - name: sortBy
        in: query
        required: false
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/SearchAlertsForAssignmentSortColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - alerts
      operationId: searchAlertsForAssignment
      summary: Search Alerts for assigning them to other items (audits, WJs etc)
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAlertsForAssignmentRequestDTO'
      responses:
        '200':
          description: Assignments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAlertsForAssignmentResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/alerts/search/assignments</div>
  /v3/alerts/assignments/{itemType}/{itemId}:
    parameters:
      - $ref: '#/components/parameters/PathParamAlertAssignmentItemType'
      - $ref: '#/components/parameters/PathParamAlertAssignmentItemId'
    patch:
      tags:
        - alerts
      operationId: updateAlertsAssignedToItem
      summary: Update Alerts assigned to specified item (audit, journey etc)
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSpecificItemAlertsRequestDTO'
      responses:
        '204':
          description: updated successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/alerts/assignments/<span
        class="op-path-parameter">{itemType}</span>/<span
        class="op-path-parameter">{itemId}</span></div>
  /v3/usage/alert-summary/alerts:
    get:
      tags:
        - account-usage-alerts
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/usage/alert-summary/alerts</div>


        Get Alert Summary alerts data for account usage
      operationId: getAccountUsageAlertSummaryAlerts
      summary: Get Alert Summary alerts data for account usage
      responses:
        '200':
          description: Alert Summary alerts data
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AccountUsage_AlertSummary_AlertsResponseDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
      security:
        - API_Key: []
  /v3/usage/overview:
    get:
      tags:
        - account-usage-v2
      operationId: getAccountUsageV2Overview
      summary: Get brief usage overview for account
      responses:
        '200':
          description: Usage overview
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageV2_Overview_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/usage/overview</div>
  /v3/usage/summary:
    get:
      tags:
        - account-usage-v2
      operationId: getAccountUsageV2NotFilterableSummary
      summary: Get not filterable usage summary for account
      responses:
        '200':
          description: Basic usage summary
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageV2_Summary_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/usage/summary</div>
  /v3/usage/{itemType}/summary:
    parameters:
      - $ref: '#/components/parameters/AccountUsageV2_ItemType'
    post:
      tags:
        - account-usage-v2
      operationId: getAccountUsageV2SpecificItemTypeSummary
      summary: >-
        Get filterable specific item type usage summary for account. If web
        journeys are not included in contract, 404 status code will be returned
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUsageV2_RequestDTO'
      responses:
        '200':
          description: Specific item type usage summary
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_ResponseDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/usage/<span
        class="op-path-parameter">{itemType}</span>/summary</div>
  /v3/usage/{itemType}/trends:
    parameters:
      - $ref: '#/components/parameters/AccountUsageV2_ItemType'
    post:
      tags:
        - account-usage-v2
      operationId: getAccountUsageV2Trends
      summary: Get usage trends for specified item type
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountUsageV2_RequestDTO'
      responses:
        '200':
          description: Usage trends
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageV2_Trends_ResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/usage/<span class="op-path-parameter">{itemType}</span>/trends</div>
  /v3/usage/{itemType}/daily-trends:
    parameters:
      - $ref: '#/components/parameters/AccountUsageV2_ItemType'
    get:
      tags:
        - account-usage-v2
      operationId: getAccountUsageV2DailyTrends
      summary: Get usage trends for rolling week, for specified item type
      responses:
        '200':
          description: Usage trends
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageV2_DailyTrends_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/usage/<span
        class="op-path-parameter">{itemType}</span>/daily-trends</div>
  /v3/notification-center/emails:
    get:
      tags:
        - notification-center
      operationId: getNotificationCenterEmails
      summary: Get all emails in an account
      responses:
        '200':
          description: All emails in account, their usage and corresponding users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationCenter_GetEmails_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/notification-center/emails</div>
    post:
      tags:
        - notification-center
      operationId: getNotificationCenterEmailsSubscribedToItems
      summary: Get emails subscribed to given items
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationCenter_GetEmails_RequestDTO'
      responses:
        '200':
          description: List of emails subscribed to given items that accessible by user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationCenter_GetEmails_ResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/notification-center/emails</div>
  /v3/notification-center/target-items/{itemType}/search:
    parameters:
      - in: path
        name: itemType
        required: true
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/NotificationCenter_AssignmentItemTypeEnum'
      - in: query
        name: size
        required: false
        allowEmptyValue: false
        schema:
          type: integer
          maximum: 1000
          default: 50
          minimum: 50
      - in: query
        name: sortBy
        required: false
        allowEmptyValue: false
        schema:
          $ref: '#/components/schemas/NotificationCenter_AssignmentsSortColumn'
      - $ref: '#/components/parameters/pageParam'
      - $ref: '#/components/parameters/SortDescendingParam'
    post:
      tags:
        - notification-center
      operationId: searchTargetItemsForEmails
      summary: >-
        Search assignable items (audits, journeys, rules etc) for specified
        email
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/NotificationCenter_SearchForAssignments_RequestDTO
      responses:
        '200':
          description: Items that have specified email both assigned and not assigned
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/NotificationCenter_SearchForAssignments_ResponseDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/notification-center/target-items/<span
        class="op-path-parameter">{itemType}</span>/search</div>
  /v3/email-inbox-message-alerts:
    post:
      tags:
        - email-inbox-message-alerts
      operationId: getEmailInboxMessageAlerts
      summary: Get all alerts for selected for email inbox message
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailInboxMessageAlertsRequestDTO'
      responses:
        '200':
          description: All alerts for selected email inbox messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailInboxMessageAlertsResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/email-inbox-message-alerts</div>
  /v3/web-audits/{auditId}/runs/{runId}/live-results/pages:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/QueryParamLiveResultsSortByPageColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/pages/{requestId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/AthenaQueryRequestId'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/tags:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/QueryParamLiveResultsSortByTagColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/tags/{requestId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/AthenaQueryRequestId'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/cookies:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/QueryParamLiveResultsSortByCookieColumn'
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/cookies/{requestId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/AthenaQueryRequestId'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/accessibility-issues:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: >-
          #/components/parameters/QueryParamLiveResultsSortByAccessibilityIssuesColumn
      - $ref: '#/components/parameters/SortDescendingParam'
  /v3/web-audits/{auditId}/runs/{runId}/live-results/accessibility-issues/{requestId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - $ref: '#/components/parameters/AthenaQueryRequestId'
  /v3/email-inbox-messages/{messageId}:
    parameters:
      - $ref: '#/components/parameters/EmailInboxMessageId'
    get:
      tags:
        - email-inbox-messages
      operationId: getEmailInboxMessageDetails
      summary: Get all the details of an email inbox message
      responses:
        '200':
          description: The details of the email inbox message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailInboxMessageDetailsResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/email-inbox-messages/<span
        class="op-path-parameter">{messageId}</span></div>
  /v3/user-events:
    get:
      tags:
        - user-events
      summary: Get user events in the account
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/user-events</div>


        This endpoint will get all the changes made by users in the account.
        This endpoint is only for Admins
      operationId: getUserEvents
      parameters:
        - in: query
          name: userId
          description: filter events by UserId
          required: false
          schema:
            $ref: '#/components/schemas/UserId'
        - in: query
          name: eventType
          description: filter events by event type
          required: false
          schema:
            $ref: '#/components/schemas/UserEventTypeApi'
        - in: query
          name: itemType
          description: filter events by event item type
          required: true
          schema:
            $ref: '#/components/schemas/UserEventItemTypeApi'
        - in: query
          name: itemName
          description: filter events that matches the itemName
          required: false
          schema:
            type: string
        - in: query
          name: itemId
          description: filter events by itemId
          required: false
          schema:
            type: integer
        - in: query
          name: fromTimeStamp
          description: filter events from this timeStamp
          required: false
          schema:
            type: string
            format: date-time
            example: '2021-06-01T01:30:00.000-05:00'
        - in: query
          name: toTimeStamp
          description: filter events up to this timeStamp
          required: false
          schema:
            type: string
            format: date-time
            example: '2021-06-01T01:30:00.000-05:00'
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PageSize'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/UserEventSortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
      responses:
        '200':
          description: Retrieve user events in the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserEvents_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/action-sets:
    get:
      tags:
        - action-sets
      summary: Get action sets
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/action-sets</div>


        Retrieve all action sets in the account
      operationId: getActionSets
      parameters:
        - in: query
          name: accountId
          required: false
          schema:
            type: integer
          description: Filter action sets by account ID
      responses:
        '200':
          description: Action sets retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ActionSetDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
    post:
      tags:
        - action-sets
      summary: Create action set
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/action-sets</div>


        Create a new action set
      operationId: createActionSet
      parameters:
        - in: query
          name: accountId
          required: false
          schema:
            type: integer
          description: Account ID to create action set in
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionSetDto'
      responses:
        '200':
          description: Action set created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/action-sets/{actionSetId}:
    get:
      tags:
        - action-sets
      summary: Get action set by ID
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span></div>


        Retrieve a specific action set by its ID
      operationId: getActionSet
      parameters:
        - name: actionSetId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action set to retrieve
      responses:
        '200':
          description: Action set retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - action-sets
      summary: Update action set
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span></div>


        Update an existing action set
      operationId: updateActionSet
      parameters:
        - name: actionSetId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action set to update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionSetDto'
      responses:
        '200':
          description: Action set updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    delete:
      tags:
        - action-sets
      summary: Delete action set
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span></div>


        Delete an existing action set
      operationId: deleteActionSet
      parameters:
        - name: actionSetId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action set to delete
      responses:
        '204':
          description: Action set deleted successfully
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/action-sets/{actionSetId}/actions/{actionId}:
    get:
      tags:
        - action-set-actions
      summary: Get action set action
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span></div>


        Retrieve a specific action from an action set
      operationId: getActionSetAction
      parameters:
        - name: actionSetId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action set
        - name: actionId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action to retrieve
      responses:
        '200':
          description: Action retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetActionDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - action-set-actions
      summary: Update action set action
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span></div>


        Update a specific action in an action set
      operationId: updateActionSetAction
      parameters:
        - name: actionSetId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action set
        - name: actionId
          in: path
          required: true
          schema:
            type: integer
            format: int64
          description: ID of the action to update
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionSetActionDto'
      responses:
        '200':
          description: Action updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetActionDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/data-sources:
    get:
      tags:
        - data-sources
      summary: Get all data sources in the account
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/data-sources</div>


        this endpoint is get all the data sources in the account with their
        labels
      operationId: getDataSources
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PageSize'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/DataSourceSortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
        - in: query
          name: itemName
          required: false
          schema:
            type: string
          description: filter the items by a given name
        - in: query
          name: labelIds
          required: false
          schema:
            type: array
            items:
              type: integer
          description: filter the items by label ids
        - in: query
          name: itemType
          required: false
          schema:
            $ref: '#/components/schemas/DataSourceItemType'
          description: filter the items by a given item type
        - in: query
          name: withRuns
          required: false
          schema:
            type: boolean
          description: >-
            if true - response will only include data sources that have at least
            one run, if false - only data sources that have no runs. All data
            sources if not set.
        - in: query
          name: withLabels
          required: false
          schema:
            type: boolean
            default: true
          description: >-
            if true - response will include labels for each data source, if
            false - only the data source id. All data sources if not set.
            Disabling labels will improve performance.
        - in: query
          name: withConsentCategories
          required: false
          schema:
            type: boolean
            default: true
          description: >-
            if true - response will include consent categories. Disabling this
            will improve performance.
      responses:
        '200':
          description: Retrieve user events in the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSourcesResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/data-sources/search:
    post:
      tags:
        - data-sources
      summary: Search data sources with specific item IDs
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/data-sources/search</div>


        This endpoint retrieves all the data sources in the account with their
        labels.
      operationId: getDataSourcesWithItemIds
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PageSize'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/DataSourceSortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                itemName:
                  type: string
                  description: filter the items by a given name
                labelIds:
                  type: array
                  items:
                    type: integer
                  description: filter the items by label ids
                itemIds:
                  type: array
                  items:
                    type: integer
                  description: filter the items by IDs (itemName & labelIds are ignored)
                itemType:
                  $ref: '#/components/schemas/DataSourceItemType'
                withRuns:
                  type: boolean
                  description: >-
                    If true - response includes only data sources with at least
                    one run. If false - only those without runs. All if not set.
      responses:
        '200':
          description: Retrieve user events in the account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSourcesResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/data-sources/target-items/{itemType}/search:
    post:
      tags:
        - data-sources
      summary: >-
        Search for target items (audits or web journeys) for data source
        assignment based on searched item type (ALERT, CUSTOM_HEADER,
        EMAIL_INBOX, RULE)
      operationId: searchDataSourcesTargetItems
      parameters:
        - name: itemType
          in: path
          required: true
          description: Type of items to search for (AUDIT or WEB_JOURNEY)
          schema:
            $ref: '#/components/schemas/DataSourceItemTypeCap'
        - $ref: '#/components/parameters/DataSourceTargetItemSortByParam'
        - $ref: '#/components/parameters/SortDescendingParam'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/PageParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataSourcesTargetItemsSearchRequest'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataSourcesTargetItemsSearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/data-sources/target-items/<span
        class="op-path-parameter">{itemType}</span>/search</div>
  /v3/web-audits:
    get:
      tags:
        - audits-management
      summary: Get list of web audits
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits</div>


        Retrieve all web audits accessible to the authenticated user based on
        their permissions
      operationId: getWebAudits
      responses:
        '200':
          description: List of web audits
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebAuditDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/web-audits/latest-runs:
    get:
      tags:
        - audits-management
      summary: Get latest runs for web audits
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/latest-runs</div>


        Retrieve latest run information for web audits with optional account
        filtering
      operationId: getWebAuditLatestRuns
      parameters:
        - in: query
          name: accountId
          description: Optional account ID to filter results
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: List of latest run items
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LatestRunItemDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}:
    parameters:
      - $ref: '#/components/parameters/AuditId'
    get:
      tags:
        - audits-management
      summary: Get audit notes by ID
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span class="op-path-parameter">{auditId}</span></div>


        Retrieve notes for a specific audit
      operationId: getWebAuditNotes
      responses:
        '200':
          description: Audit notes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditNotesDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - audits-management
      summary: Update audit notes
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-audits/<span class="op-path-parameter">{auditId}</span></div>


        Update notes for a specific audit
      operationId: updateWebAuditNotes
      requestBody:
        description: Updated audit notes
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditNotesDTO'
      responses:
        '200':
          description: Updated audit notes
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditNotesDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/actions:
    parameters:
      - $ref: '#/components/parameters/AuditId'
    get:
      tags:
        - audit-actions
      summary: Get actions for an audit
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/actions</div>


        Retrieve all actions configured for the specified audit
      operationId: getAuditActions
      responses:
        '200':
          description: List of audit actions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ActionSetActionDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - audit-actions
      summary: Update actions for an audit
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/actions</div>


        Update the actions configured for the specified audit
      operationId: updateAuditActions
      requestBody:
        description: List of audit actions to update
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ActionSetActionDto'
      responses:
        '200':
          description: Successfully updated audit actions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ActionSetActionDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/login-actions:
    parameters:
      - $ref: '#/components/parameters/AuditId'
    get:
      tags:
        - audit-login-actions
      summary: Get login actions for an audit
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/login-actions</div>


        Retrieve all login actions configured for the specified audit
      operationId: getAuditLoginActions
      responses:
        '200':
          description: List of audit login actions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuditLoginSequencedAction'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - audit-login-actions
      summary: Update login actions for an audit
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/login-actions</div>


        Update the login actions configured for the specified audit
      operationId: updateAuditLoginActions
      requestBody:
        description: List of audit login actions to update
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/AuditLoginSequencedAction'
      responses:
        '200':
          description: Successfully updated audit login actions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuditLoginSequencedAction'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/action-snapshots:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
  /v3/web-audits/{auditId}/blocking-configuration:
    parameters:
      - $ref: '#/components/parameters/AuditId'
    get:
      tags:
        - audit-blocking-config
      summary: Get blocking configuration for an Audit
      operationId: getAuditBlockingConfig
      responses:
        '200':
          description: Audit request blocking configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockingConfig_DTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/blocking-configuration</div>
    put:
      tags:
        - audit-blocking-config
      summary: Create blocking configuration for an Audit
      operationId: createAuditBlockingConfig
      requestBody:
        description: The Audit Blocking configuration to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlockingConfig_DTO'
      responses:
        '200':
          description: Successfully returned the created Audit Blocking Configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockingConfig_DTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/blocking-configuration</div>
  /v3/web-audits/{auditId}/runs:
    parameters:
      - $ref: '#/components/parameters/AuditId'
    post:
      tags:
        - audits-management
      summary: run audit now
      operationId: runAuditNow
      requestBody:
        description: >
          Run the audit now. The request must contain the web-audit ID.

          Unlike v2 "run now" API, this API does not reject run requests if
          there is an active run.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditRun_RunNowRequestDTO'
      responses:
        '201':
          description: Run started successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs</div>
  /v3/web-audits/{auditId}/runs/{runId}/info:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
      - in: query
        name: includeFilters
        description: Include filters in the response
        required: false
        schema:
          type: boolean
          default: false
    get:
      tags:
        - audits-management
      summary: Get audit configuration info for specified audit run
      operationId: getAuditRunInfo
      responses:
        '200':
          description: Audit run configuration info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRun_ConfigurationInfoResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/info</div>
  /v3/web-audits/{auditId}/consent-categories:
    parameters:
      - $ref: '#/components/parameters/AuditId'
    get:
      tags:
        - audits-consent-category
        - audits-management
        - consent-categories
      summary: Get all the consent categories assigned to an audit
      operationId: getAuditConsentCategories
      responses:
        '200':
          description: OK, return a list of consent-categories assigned to an audit
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebAudit_ConsentCategories_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/consent-categories</div>
    patch:
      tags:
        - audits-consent-category
        - audits-management
        - consent-categories
      summary: Update the consent categories assigned to an audit
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/consent-categories</div>


        Update the consent categories assigned to an audit. The request will be
        rejected if trying to assign conflicting consent category types to the
        same audit
      operationId: patchAuditConsentCategories
      requestBody:
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AttachmentPatchDocument_RequestDTO'
      responses:
        '200':
          description: OK, return the modified consent category assignments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebAudit_ConsentCategories_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-audits/{auditId}/runs/{runId}/consent-categories:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - audits-consent-category
        - audits-management
        - consent-categories
      summary: >-
        Retrieve all consent categories snapshots that are applied to a specific
        audit run. 
      operationId: getAuditRunConsentCategories
      responses:
        '200':
          description: OK, return a list of consent category snapshots assigned to this run
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebAudit_ConsentCategorySnapshots_ResponseDTO
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/consent-categories</div>
  /v3/consent-categories/upload:
    post:
      tags:
        - consent-categories
      summary: upload categories found in the csv file uploaded previously
      operationId: uploadConsentCategories
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentCategoriesUploadRequest'
      responses:
        '200':
          description: OK, return a list of consent-categories assigned to this run
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConsentCategoryDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/consent-categories/upload</div>
  /v3/consent-categories/upload/preview:
    post:
      tags:
        - consent-categories
      summary: See preview of file content of consent categories uploaded in csv file
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/consent-categories/upload/preview</div>


        File uploaded must be a text/csv file and cannot be larger than 1MB
      operationId: uploadConsentCategoriesPreview
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                upload:
                  type: string
                  format: binary
          text/csv:
            schema:
              type: string
              format: text
      responses:
        '200':
          description: Processed Results from File
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategoryUploadPreviewResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/consent-categories/library:
    get:
      tags:
        - consent-categories
      summary: Get all consent categories in the account
      operationId: getConsentCategoryLibrary
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PageSize'
        - in: query
          name: name
          required: false
          schema:
            type: string
          description: filter the consent categories by name
        - in: query
          name: labels
          required: false
          schema:
            type: array
            items:
              type: integer
          style: form
          explode: false
          description: filter the items by labels
        - in: query
          name: type
          required: false
          schema:
            $ref: '#/components/schemas/ConsentCategory_TypeEnum'
          description: filter the items by a given item type
        - in: query
          name: cmpVendor
          required: false
          description: filter the items by a given CMP vendor
          schema:
            $ref: '#/components/schemas/ConsentCategory_VendorTypeEnum'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/ConsentCategoryLibrarySortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
      responses:
        '200':
          description: Successfully returned a list of consent categories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_LibraryResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/library</div>
  /v3/consent-categories/export:
    post:
      tags:
        - consent-categories
      summary: request an export of all consent categories in the account
      deprecated: true
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/consent-categories/export</div>


        Please, use
        /v3/consent-categories/exports/ACCOUNT_CONSENT_CATEGORY_CONFIGS_EXPORT
        instead
      operationId: exportConsentCategories
      responses:
        '204':
          description: Successfully requested an export of consent categories
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/consent-categories:
    post:
      tags:
        - consent-categories
      summary: Create a consent category
      operationId: createConsentCategories
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentCategory_CreateRequestDTO'
      responses:
        '200':
          description: Successfully created a consent category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategoryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/consent-categories</div>
  /v3/consent-categories/{consentCategoryId}:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    get:
      tags:
        - consent-categories
      summary: Get a consent category
      operationId: getConsentCategory
      responses:
        '200':
          description: Successfully retrieved a consent category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategoryDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span></div>
    put:
      tags:
        - consent-categories
      summary: Update a consent category
      operationId: updateConsentCategory
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsentCategory_UpdateRequestDTO'
      responses:
        '200':
          description: Successfully updated a consent category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategoryDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span></div>
    delete:
      tags:
        - consent-categories
      summary: Delete a consent category
      operationId: deleteConsentCategory
      responses:
        '204':
          description: Successfully deleted a consent category
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span></div>
  /v3/consent-categories/{consentCategoryId}/notes:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    put:
      tags:
        - consent-categories
      summary: Upsert notes for the given Consent Category
      operationId: updateConsentCategoriesNotes
      requestBody:
        description: Update notes for a given Consent Categories
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '204':
          description: Successful operation
          content:
            text/plain:
              schema:
                type: string
                example: My notes for this Consent Category.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/notes</div>
  /v3/consent-categories/{consentCategoryId}/tags:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    get:
      tags:
        - consent-categories
      summary: Get all tag entries of a consent category
      operationId: getConsentCategoryTags
      responses:
        '200':
          description: Successfully returned a list of consent category tag entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_TagEntryResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/tags</div>
    patch:
      tags:
        - consent-categories
      summary: Patch consent category tag entries
      operationId: patchConsentCategoryTagEntries
      requestBody:
        description: Patch Document
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PatchDocument_RequestDTO'
      responses:
        '200':
          description: Successfully patched consent category tag entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_TagEntryResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/tags</div>
  /v3/consent-categories/{consentCategoryId}/request-domains:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    get:
      tags:
        - consent-categories
      summary: Get all request domains of a consent category
      operationId: getConsentCategoryRequestDomains
      responses:
        '200':
          description: Successfully returned a list of consent category request domains
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_RequestDomainResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/request-domains</div>
    patch:
      tags:
        - consent-categories
      summary: Patch consent category request domains
      operationId: patchConsentCategoryRequestDomains
      requestBody:
        description: Patch Document
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PatchDocument_RequestDTO'
      responses:
        '200':
          description: Successfully patched consent category tag entries
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_RequestDomainResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/request-domains</div>
  /v3/web-audits/{auditId}/runs/{runId}/consent-categories/reprocess:
    parameters:
      - $ref: '#/components/parameters/AuditId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - audits-consent-category
        - audits-management
        - consent-categories
      summary: Reprocess consent-category for the selected auditId and runIds
      operationId: reprocessConsentCategories
      responses:
        '200':
          description: >-
            OK, start reprocessing specified audit with specified consent
            category
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-audits/<span
        class="op-path-parameter">{auditId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/consent-categories/reprocess</div>
  /v3/consent-categories/{consentCategoryId}/cookies:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    get:
      tags:
        - consent-categories
      summary: Get all cookies of a consent category
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/cookies</div>


        Get all cookies of a consent category
      operationId: getConsentCategoryCookieEntries
      responses:
        '200':
          description: Cookies setup in a consent category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_CookieEntryResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
    patch:
      tags:
        - consent-categories
      summary: Patch consent category cookie entries
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/cookies</div>


        patch a consent category cookie entry
      operationId: patchConsentCategoryCookieEntries
      requestBody:
        description: JSON Object of Consent Category
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/PatchDocument_RequestDTO'
      responses:
        '200':
          description: Successfully patched a Consent Preference Cookie Entry
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_CookieEntryResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/consent-categories/{consentCategoryId}/web-audits:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    get:
      tags:
        - consent-categories
      summary: Get audits assigned to the consent category
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/web-audits</div>


        Get audits assigned to the consent category
      operationId: getConsentCategoryAudits
      responses:
        '200':
          description: Web audits assigned to the consent category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_WebAudits_ResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    patch:
      tags:
        - consent-categories
      summary: Modify audit attachments
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/web-audits</div>


        Modify audit attachments
      operationId: patchConsentCategoryAudits
      requestBody:
        description: Patch Document
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AttachmentPatchDocument_RequestDTO'
      responses:
        '200':
          description: Web audits assigned to the consent category
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsentCategory_WebAudits_ResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/consent-categories/{consentCategoryId}/labels:
    parameters:
      - $ref: '#/components/parameters/ConsentCategoryId'
    get:
      tags:
        - consent-categories
      summary: Get all labels attached to specified consent category
      operationId: getConsentCategoryAssignedLabels
      responses:
        '200':
          description: Successfully returned a list of consent category assigned labels.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/labels</div>
    patch:
      tags:
        - consent-categories
      summary: Patch labels attached to specified consent category
      operationId: patchConsentCategoryAssignedLabels
      requestBody:
        description: Patch Document
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AttachmentPatchDocument_RequestDTO'
      responses:
        '200':
          description: Successfully patched consent category assigned labels.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/consent-categories/<span
        class="op-path-parameter">{consentCategoryId}</span>/labels</div>
  /v3/web-journeys:
    get:
      tags:
        - web-journeys-management
      summary: Get web journeys
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys</div>


        Retrieve all web journeys with optional filtering
      operationId: getWebJourneys
      parameters:
        - in: query
          name: domainId
          description: Filter by domain ID
          required: false
          schema:
            type: integer
            example: 123
        - in: query
          name: monitored
          description: Filter by monitored status
          required: false
          schema:
            type: boolean
            example: true
        - in: query
          name: accountId
          description: Filter by account ID
          required: false
          schema:
            type: integer
            example: 456
      responses:
        '200':
          description: List of web journeys retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebJourneyDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
    post:
      tags:
        - web-journeys-management
      summary: Create web journey
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/web-journeys</div>


        Create a new web journey
      operationId: createWebJourney
      requestBody:
        description: Web journey data for creation
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebJourneyUpdateDTO'
      responses:
        '200':
          description: Web journey created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
    delete:
      tags:
        - web-journeys-management
      summary: Delete web journeys by domain or folder
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/web-journeys</div>


        Delete web journeys by domain ID or folder ID
      operationId: deleteWebJourneys
      parameters:
        - in: query
          name: domainId
          description: Delete all web journeys in the specified domain
          required: false
          schema:
            type: integer
            example: 123
        - in: query
          name: folderId
          description: Delete all web journeys in the specified folder
          required: false
          schema:
            type: integer
            example: 456
      responses:
        '200':
          description: Web journeys deleted successfully
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get web journey by ID
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span></div>


        Retrieve a specific web journey by its ID
      operationId: getWebJourney
      responses:
        '200':
          description: Web journey retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span></div>


        Update an existing web journey
      operationId: updateWebJourney
      requestBody:
        description: Updated web journey data
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebJourneyUpdateDTO'
      responses:
        '200':
          description: Web journey updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    delete:
      tags:
        - web-journeys-management
      summary: Delete web journey
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span></div>


        Delete a specific web journey by its ID
      operationId: deleteWebJourney
      responses:
        '200':
          description: Web journey deleted successfully
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/status:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get web journey status
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/status</div>


        Retrieve the current status of a web journey
      operationId: getWebJourneyStatus
      responses:
        '200':
          description: Web journey status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyStatusDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/actions:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get web journey actions
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/actions</div>


        Retrieve all actions for a web journey
      operationId: getWebJourneyActions
      responses:
        '200':
          description: Web journey actions retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ActionSetActionDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey actions
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/actions</div>


        Update all actions for a web journey
      operationId: updateWebJourneyActions
      requestBody:
        description: List of actions to update
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/ActionSetActionDto'
      responses:
        '200':
          description: Web journey actions updated successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ActionSetActionDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/actions/{actionId}:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - in: path
        name: actionId
        description: The ID of the action
        required: true
        schema:
          type: integer
          format: int64
          example: 1001
    get:
      tags:
        - web-journeys-management
      summary: Get web journey action by ID
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span></div>


        Retrieve a specific action by its ID within a web journey
      operationId: getWebJourneyAction
      responses:
        '200':
          description: Web journey action retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetActionDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey action
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span></div>


        Update a specific action within a web journey
      operationId: updateWebJourneyAction
      requestBody:
        description: Action data to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActionSetActionDto'
      responses:
        '200':
          description: Web journey action updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActionSetActionDto'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}/status:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - in: path
        name: runId
        description: The ID of the web journey run
        required: true
        schema:
          type: integer
          format: int64
          example: 12345
    get:
      tags:
        - web-journeys-management
      summary: Get web journey run status
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/status</div>


        Retrieve the status of a specific web journey run
      operationId: getWebJourneyRunStatus
      responses:
        '200':
          description: Web journey run status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyRunStatusObject'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - in: path
        name: runId
        description: The ID of the web journey run
        required: true
        schema:
          type: integer
          format: int64
          example: 12345
    delete:
      tags:
        - web-journeys-management
      summary: Delete web journey run
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span></div>


        Stop/discard a specific web journey run
      operationId: deleteWebJourneyRun
      responses:
        '204':
          description: Web journey run deleted successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/current:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    delete:
      tags:
        - web-journeys-management
      summary: Delete current web journey run
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/current</div>


        Stop/discard the current web journey run
      operationId: deleteCurrentWebJourneyRun
      responses:
        '204':
          description: Current web journey run deleted successfully
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/notificationconfig:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get web journey notification configuration
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/notificationconfig</div>


        Retrieve notification settings for a web journey
      operationId: getWebJourneyNotificationConfig
      responses:
        '200':
          description: Notification configuration retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyNotificationConfig'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey notification configuration
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/notificationconfig</div>


        Update or create notification settings for a web journey
      operationId: updateWebJourneyNotificationConfig
      requestBody:
        description: Notification configuration to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebJourneyNotificationConfig'
      responses:
        '200':
          description: Notification configuration updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyNotificationConfig'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/rules:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get web journey rules
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/rules</div>


        Retrieve all rules associated with a web journey
      operationId: getWebJourneyRules
      responses:
        '200':
          description: Web journey rules retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyAndActionRules'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey rules
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/rules</div>


        Bind rules to a web journey and its actions
      operationId: updateWebJourneyRules
      requestBody:
        description: Rules configuration to bind
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebJourneyAndActionRulesRequest'
      responses:
        '200':
          description: Web journey rules updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyAndActionRules'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/actions/{actionId}/rules:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - in: path
        name: actionId
        description: The ID of the action
        required: true
        schema:
          type: integer
          format: int64
          example: 1001
    get:
      tags:
        - web-journeys-management
      summary: Get web journey action rules
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span>/rules</div>


        Retrieve rules for a specific action within a web journey
      operationId: getWebJourneyActionRules
      responses:
        '200':
          description: Action rules retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Rule'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey action rules
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span>/rules</div>


        Bind rules to a specific action within a web journey
      operationId: updateWebJourneyActionRules
      requestBody:
        description: Set of rule IDs to bind to the action
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: integer
              example:
                - 101
                - 102
                - 103
      responses:
        '200':
          description: Action rules updated successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Rule'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/remotefilemappings:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get web journey remote file mappings
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/remotefilemappings</div>


        Retrieve all remote file mappings associated with a web journey
      operationId: getWebJourneyRemoteFileMappings
      responses:
        '200':
          description: Remote file mappings retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteFileMapping'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - web-journeys-management
      summary: Update web journey remote file mappings
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/remotefilemappings</div>


        Bind remote file mappings to a web journey
      operationId: updateWebJourneyRemoteFileMappings
      requestBody:
        description: Set of remote file mapping IDs to bind
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: integer
                format: int64
              example:
                - 201
                - 202
                - 203
      responses:
        '200':
          description: Remote file mappings updated successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  type: integer
                  format: int64
                example:
                  - 201
                  - 202
                  - 203
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}/actions/{actionSequenceId}/requests:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - in: path
        name: runId
        description: The ID of the web journey run
        required: true
        schema:
          type: integer
          format: int64
          example: 12345
      - in: path
        name: actionSequenceId
        description: The sequence ID of the action
        required: true
        schema:
          type: integer
          format: int64
          example: 1
    get:
      tags:
        - web-journeys-management
      summary: Get action requests
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/actions/<span
        class="op-path-parameter">{actionSequenceId}</span>/requests</div>


        Retrieve all network requests made during an action execution
      operationId: getWebJourneyActionRequests
      responses:
        '200':
          description: Action requests retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WebJourneyActionRequestResponse'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/runs/{runId}/actions/{actionSequenceId}/logs:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - in: path
        name: runId
        description: The ID of the web journey run
        required: true
        schema:
          type: integer
          format: int64
          example: 12345
      - in: path
        name: actionSequenceId
        description: The sequence ID of the action
        required: true
        schema:
          type: integer
          format: int64
          example: 1
    get:
      tags:
        - web-journeys-management
      summary: Get action logs
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/actions/<span
        class="op-path-parameter">{actionSequenceId}</span>/logs</div>


        Retrieve console logs generated during an action execution
      operationId: getWebJourneyActionLogs
      responses:
        '200':
          description: Action logs retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConsoleLogDto'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/web-journeys/{webJourneyId}/blocking-configuration:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journey-blocking-config
      summary: Get blocking configuration for a web journey
      operationId: getWebJourneyBlockingConfig
      responses:
        '200':
          description: The Web Journey request blocking configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockingConfig_DTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/blocking-configuration</div>
    put:
      tags:
        - web-journey-blocking-config
      summary: Create blocking configuration for a web journey
      operationId: createWebJourneyBlockingConfig
      requestBody:
        description: The Web Journey Blocking configuration to create
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlockingConfig_DTO'
      responses:
        '200':
          description: >-
            Successfully returned the created Web journey Blocking
            Configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockingConfig_DTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/blocking-configuration</div>
  /v3/web-journeys/{webJourneyId}/labels:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journeys-management
      summary: Get all labels attached to specified web journey
      operationId: getWebJourneyAssignedLabels
      responses:
        '200':
          description: Successfully returned a list of web journey assigned labels.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/labels</div>
    patch:
      tags:
        - web-journeys-management
      summary: Patch labels attached to specified web journey
      operationId: patchWebJourneyAssignedLabels
      requestBody:
        description: Patch Document
        required: true
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/AttachmentPatchDocument_RequestDTO'
      responses:
        '200':
          description: Successfully patched web journey assigned labels.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabelResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-patch">PATCH</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/labels</div>
  /v3/web-journeys/{webJourneyId}/custom-headers:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
    get:
      tags:
        - web-journey-custom-headers
      summary: Get custom headers for a web journey
      operationId: getWebJourneyCustomHeaders
      responses:
        '200':
          description: Successfully returned a list of custom headers for the web journey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyCustomHeaderDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/custom-headers</div>
    put:
      tags:
        - web-journey-custom-headers
      summary: Update custom headers for a web journey
      operationId: updateWebJourneyCustomHeaders
      requestBody:
        description: The Web Journey Custom Headers to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebJourneyCustomHeaderDTO'
      responses:
        '200':
          description: Successfully updated the custom headers for the web journey
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyCustomHeaderDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/custom-headers</div>
  /v3/rule-library:
    post:
      tags:
        - rules
      summary: Get all rules in an account
      operationId: getRuleLibraryRules
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - in: query
          name: size
          required: false
          schema:
            type: integer
            maximum: 1000
            default: 50
            minimum: 50
        - name: sortBy
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/RuleLibrary_SortColumn'
        - $ref: '#/components/parameters/SortDescendingParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuleLibrary_RequestDTO'
      responses:
        '200':
          description: Rules
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleLibrary_ResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/rule-library</div>
  /v3/web-journeys/{webJourneyId}/runs/{runId}/info:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
    get:
      tags:
        - web-journeys-management
      summary: Get journey configuration info for specified journey run
      operationId: getWebJourneyRunInfo
      responses:
        '200':
          description: Web Journey run configuration info
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebJourneyRun_ConfigurationInfoResponseDTO
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/info</div>
  /v3/internal/web-journeys/{webJourneyId}/runs/{runId}/snapshots:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - web-journeys-internal
      summary: Create snapshot of journey run actions
      description: >
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/internal/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/snapshots</div>


        Reads the journey's current actions from the database. If any are
        ActionSets, it expands them

        into their individual actions. If any are MaskedInput, this decrypts
        them.


        **Note:** This endpoint has no authorization and is used by internal
        services only.
      operationId: snapshotRunActionsOnly
      responses:
        '200':
          description: Successful operation - returns list of engine actions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EngineActionDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
      security: []
  /v3/internal/web-journeys/{webJourneyId}/runs/{runId}/full-snapshots:
    parameters:
      - $ref: '#/components/parameters/WebJourneyId'
      - $ref: '#/components/parameters/RunId'
    post:
      tags:
        - web-journeys-internal
      summary: Create full snapshot of journey run configuration
      description: >
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/internal/web-journeys/<span
        class="op-path-parameter">{webJourneyId}</span>/runs/<span
        class="op-path-parameter">{runId}</span>/full-snapshots</div>


        Reads the journey's complete configuration including actions, options,
        RFM configs, and custom headers.

        This provides a complete snapshot of all settings needed to execute the
        journey run.


        **Note:** This endpoint has no authorization and is used by internal
        services only.
      operationId: fullSnapshotRun
      parameters:
        - in: query
          name: runStartReason
          description: Reason for starting the run (1=SCHEDULE, 2=RUN_NOW)
          required: false
          schema:
            $ref: '#/components/schemas/WebJourneyStartReason'
        - in: query
          name: runRequestedBy
          description: User ID who requested the run
          required: false
          schema:
            type: integer
      responses:
        '200':
          description: Successful operation - returns complete journey run configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebJourneyRunRequestDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
      security: []
  /v3/email-inboxes/library:
    post:
      tags:
        - email-inboxes
      summary: Return filtered email inboxes
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/email-inboxes/library</div>


        Get all email inboxes that meet the filtering criteria
      operationId: getEmailInboxes
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PageSize'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/EmailInboxLibrarySortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
      requestBody:
        description: Filter params
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailInboxLibraryRequestDTO'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailInboxLibraryResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/email-inboxes:
    post:
      tags:
        - email-inbox-configuration
      summary: Add a new Email Inbox
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/email-inboxes</div>


        Add a new Email Inbox
      operationId: addEmailInbox
      requestBody:
        description: Create a new Email Inbox
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailInboxRequestDTO'
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailInboxResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/email-inboxes/{emailInboxId}:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
    get:
      tags:
        - email-inboxes
      summary: Get Email Inbox by id
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span></div>


        Get a Email Inbox by id
      operationId: getEmailInbox
      responses:
        '200':
          description: Successful operation, resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailInboxResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - email-inbox-configuration
      summary: Update an existing Email Inbox
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span></div>


        Update an existing Email Inbox by Id
      operationId: updateEmailInbox
      requestBody:
        description: Update an existent Email Inbox
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmailInboxRequestDTO'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailInboxResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    delete:
      tags:
        - email-inbox-configuration
      summary: Delete an Email Inbox
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span></div>


        Delete an Email Inbox by Id
      operationId: deleteEmailInbox
      responses:
        '204':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/email-inboxes/{emailInboxId}/audit-configurations:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
    get:
      tags:
        - email-inboxes
      summary: Read the configurations for an Email Inbox by id
      operationId: getEmailInboxConfigurations
      responses:
        '200':
          description: Successful operation, resource found
          content:
            application/json:
              schema:
                type: array
                description: The collection of the audits associated to an Email Inbox
                items:
                  $ref: '#/components/schemas/EmailInboxConfigurationDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/audit-configurations</div>
    put:
      tags:
        - email-inbox-configuration
      summary: Associate audit configurations with an existing Email Inbox
      operationId: addEmailInboxConfigurations
      requestBody:
        description: Update configurations of an existent Email Inbox
        required: true
        content:
          application/json:
            schema:
              type: array
              uniqueItems: true
              items:
                $ref: '#/components/schemas/AuditId'
      responses:
        '200':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/audit-configurations</div>
  /v3/email-inboxes/{emailInboxId}/audit-configurations/{auditId}:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
      - $ref: '#/components/parameters/AuditId'
    put:
      tags:
        - email-inbox-configuration
      summary: Associate an audit configuration with an existing Email Inbox
      operationId: addEmailInboxConfiguration
      responses:
        '200':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/audit-configurations/<span
        class="op-path-parameter">{auditId}</span></div>
    delete:
      tags:
        - email-inbox-configuration
      summary: Delete an audit configuration from an Email Inbox
      operationId: deleteEmailInboxConfiguration
      responses:
        '204':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/audit-configurations/<span
        class="op-path-parameter">{auditId}</span></div>
  /v3/email-inboxes/{emailInboxId}/labels:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
    put:
      tags:
        - email-inbox-configuration
      summary: Upsert labels for an existing Email Inbox
      operationId: upsertInboxLabels
      requestBody:
        description: Update an existent Email Inbox labels
        content:
          application/json:
            schema:
              type: array
              uniqueItems: true
              items:
                $ref: '#/components/schemas/LabelId'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Label'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/labels</div>
  /v3/email-inboxes/{emailInboxId}/notes:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
    put:
      tags:
        - email-inbox-configuration
      summary: Upsert notes for the given Email Inbox
      operationId: updateEmailInboxNotes
      requestBody:
        description: Update notes for a given Email Inbox
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '204':
          description: Successful operation
          content:
            text/plain:
              schema:
                type: string
                example: >-
                  My notes for this inbox. This inbox will audit marketing
                  emails.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/notes</div>
  /v3/email-inboxes/{emailInboxId}/messages:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
    get:
      tags:
        - email-inboxes
      summary: Get all email messages associated with a given Email Inbox
      operationId: getEmailInboxMessages
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/QueryParamPageSize'
        - in: query
          name: emailSubject
          required: false
          schema:
            type: string
          description: filter Email Messages by email subject
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReceivedEmailMessageDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/messages</div>
  /v3/email-inboxes/{emailInboxId}/messages/{receivedEmailMessageId}/runs:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
      - $ref: '#/components/parameters/ReceivedEmailMessageId'
    delete:
      tags:
        - email-inbox-configuration
      summary: Cancel all audit runs associated with a given Email Message
      operationId: cancelEmailInboxMessageRuns
      responses:
        '202':
          description: Successful operation
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/messages/<span
        class="op-path-parameter">{receivedEmailMessageId}</span>/runs</div>
  /v3/email-inboxes/{emailInboxId}/messages/statuses:
    parameters:
      - $ref: '#/components/parameters/EmailInboxId'
    post:
      tags:
        - email-inboxes
      summary: Get all email messages statuses associated with a given Email Inbox
      operationId: getEmailInboxMessagesStatuses
      requestBody:
        description: List of email received message ids
        content:
          application/json:
            schema:
              type: array
              uniqueItems: true
              items:
                type: integer
                maxItems: 200
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReceivedEmailMessageBaseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/email-inboxes/<span
        class="op-path-parameter">{emailInboxId}</span>/messages/statuses</div>
  /v3/schedules/presets:
    get:
      tags:
        - schedules
      summary: Get all schedule presets
      operationId: getSchedulePresets
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SchedulePreset'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/schedules/presets</div>
  /v3/schedules/rule-description:
    post:
      tags:
        - schedules
      summary: Generate a description of a schedule's recurrence
      operationId: createRecurrenceRuleDescription
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduleRuleDescriptionRequest'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduleRuleDescriptionResponse'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/schedules/rule-description</div>
  /v3/schedules/calendar:
    get:
      parameters:
        - $ref: '#/components/parameters/LocalStartDateTime'
        - $ref: '#/components/parameters/LocalEndDate'
      tags:
        - schedules
      summary: >-
        Calculate future occurrences based on the new schedules and the old
        frequencies
      operationId: calendarGet
      responses:
        '200':
          description: >-
            Get all data sources scheduled and future occurrences for provided
            params.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScheduledItem'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/schedules/calendar</div>
    put:
      tags:
        - schedules
      summary: Update calendar items' schedules using this endpoint.
      operationId: calendarPut
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalendarUpdateRequestBody'
      responses:
        '204':
          description: Success
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/schedules/calendar</div>
  /v3/custom-headers:
    get:
      tags:
        - custom-headers
      summary: Get all custom header groups
      operationId: getCustomHeaderGroupSummary
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomHeaderGroupSummaryResponse'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/custom-headers</div>
    post:
      tags:
        - custom-headers
      summary: Create a custom header group
      operationId: createCustomHeaderGroup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomHeaderBody'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomHeaderBody'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/custom-headers</div>
  /v3/custom-headers/{customHeaderGroupId}:
    get:
      tags:
        - custom-headers
      summary: Get a custom header group by ID
      operationId: getCustomHeaderGroupById
      parameters:
        - $ref: '#/components/parameters/CustomHeaderGroupId'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomHeaderBody'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/custom-headers/<span
        class="op-path-parameter">{customHeaderGroupId}</span></div>
    put:
      tags:
        - custom-headers
      summary: Update a custom header group
      operationId: updateCustomHeaderGroup
      parameters:
        - $ref: '#/components/parameters/CustomHeaderGroupId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomHeaderBody'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomHeaderBody'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/custom-headers/<span
        class="op-path-parameter">{customHeaderGroupId}</span></div>
    delete:
      tags:
        - custom-headers
      summary: Delete a custom header group by ID
      operationId: deleteCustomHeaderGroupById
      parameters:
        - $ref: '#/components/parameters/CustomHeaderGroupId'
      responses:
        '204':
          description: Successful operation
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/custom-headers/<span
        class="op-path-parameter">{customHeaderGroupId}</span></div>
  /v3/custom-headers/target-items/{itemType}/search:
    post:
      tags:
        - custom-headers
      summary: >-
        Search for target items (audits or web journeys) for custom header
        assignment
      operationId: searchCustomHeaderTargetItems
      parameters:
        - name: itemType
          in: path
          required: true
          description: Type of items to search for (AUDIT or WEB_JOURNEY)
          schema:
            $ref: '#/components/schemas/DataSourceItemTypeCap'
        - $ref: '#/components/parameters/SortByParam'
        - $ref: '#/components/parameters/SortDescendingParam'
        - $ref: '#/components/parameters/PageSize'
        - $ref: '#/components/parameters/PageParam'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomHeaderTargetItemsSearchRequest'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomHeaderTargetItemsSearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/custom-headers/target-items/<span
        class="op-path-parameter">{itemType}</span>/search</div>
  /v3/site-censuses:
    get:
      tags:
        - site-censuses
      summary: Get all censuses for an account
      operationId: getSiteCensuses
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/SiteCensus_Get_PageSizeParam'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/SiteCensusSortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
        - $ref: '#/components/parameters/SiteCensus_Filter_ByName'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusSummariesResponseDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/site-censuses</div>
    post:
      tags:
        - site-censuses
      summary: Create a new site census
      operationId: createSiteCensus
      requestBody:
        description: Create a new site census
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteCensusBehaviorDTO'
        required: true
      responses:
        '200':
          description: Successful operation, resource created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusCompleteDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/site-censuses</div>
  /v3/site-censuses/{censusId}:
    parameters:
      - $ref: '#/components/parameters/SiteCensusId'
    get:
      tags:
        - site-censuses
      summary: Get a site census by ID
      operationId: getSiteCensusById
      responses:
        '200':
          description: Successful operation, resource found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusCompleteDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span></div>
    put:
      tags:
        - site-censuses
      summary: Update an existing site census
      operationId: updateSiteCensusById
      requestBody:
        description: Update an existing site census by ID
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteCensusCompleteDTO'
        required: true
      responses:
        '200':
          description: Successful operation, resource updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusCompleteDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span></div>
    delete:
      tags:
        - site-censuses
      summary: Delete a site census by ID
      operationId: deleteSiteCensusById
      responses:
        '204':
          description: Successful operation, resource deleted
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span> /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span></div>
  /v3/site-censuses/{censusId}/current-results:
    get:
      tags:
        - site-censuses
      summary: Returns a summary of the current census results data
      operationId: getSiteCensusCurrentResults
      parameters:
        - $ref: '#/components/parameters/SiteCensusId'
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/PageSize'
        - in: query
          name: sortBy
          required: false
          schema:
            $ref: '#/components/schemas/SiteCensusResultsSortByEnum'
        - $ref: '#/components/parameters/SortDescendingParam'
        - in: query
          name: searchPattern
          required: false
          description: Search grouping pattern to filter results
          schema:
            type: string
        - in: query
          name: returnExternalOnly
          required: false
          description: >-
            Indicates that the results will only contain patterns for excluded
            URLs that are found on external links from included pages
          schema:
            type: boolean
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusCurrentResultsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span>/current-results</div>
  /v3/site-censuses/{censusId}/current-results/url-preview:
    post:
      tags:
        - site-censuses
      summary: >-
        Returns a preview of the current census results data given specific path
        patterns
      operationId: getSiteCensusPatternUrlPreview
      parameters:
        - $ref: '#/components/parameters/SiteCensusId'
      requestBody:
        description: The URL pattern for which a preview is desired
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SiteCensusBaseUrlPattern'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusPatternPreviewResponse'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span>/current-results/url-preview</div>
  /v3/site-censuses/{censusId}/start:
    post:
      tags:
        - site-censuses
      summary: Starts data-collection for a given census
      operationId: startSiteCensusDataCollection
      parameters:
        - $ref: '#/components/parameters/SiteCensusId'
      responses:
        '200':
          description: Successful operation, census started
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusCompleteDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span>/start</div>
  /v3/site-censuses/{censusId}/stop:
    post:
      tags:
        - site-censuses
      summary: Stops data-collection for a given census
      operationId: stopSiteCensusDataCollection
      parameters:
        - $ref: '#/components/parameters/SiteCensusId'
      responses:
        '200':
          description: Successful operation, census stopped
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusCompleteDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/site-censuses/<span
        class="op-path-parameter">{censusId}</span>/stop</div>
  /v3/action-sets/{actionSetId}/actions/{actionId}/rules:
    get:
      tags:
        - action-set-action-rules
      summary: Get action set action rules
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span>/rules</div>


        Retrieve all rules for a specific action set and action
      operationId: getActionSetActionRules
      parameters:
        - name: actionSetId
          in: path
          description: Action set ID
          required: true
          schema:
            type: integer
            format: int64
        - name: actionId
          in: path
          description: Action ID
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Successfully retrieved rules
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Rule'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - action-set-action-rules
      summary: Update action set action rules
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/action-sets/<span
        class="op-path-parameter">{actionSetId}</span>/actions/<span
        class="op-path-parameter">{actionId}</span>/rules</div>


        Update the rules for a specific action set and action with a new set of
        rule IDs
      operationId: updateActionSetActionRules
      parameters:
        - name: actionSetId
          in: path
          description: Action set ID
          required: true
          schema:
            type: integer
            format: int64
        - name: actionId
          in: path
          description: Action ID
          required: true
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              uniqueItems: true
              type: array
              description: Set of rule IDs to associate with the action
              items:
                type: integer
                format: int32
        required: true
      responses:
        '200':
          description: Successfully updated rules
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Rule'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/geo-locations/countries:
    get:
      tags:
        - geo-locations
      summary: Get all available countries for geo-location filtering
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/geo-locations/countries</div>


        Retrieve a list of all available countries with their associated
        continent information for use in geo-location based filtering
      operationId: getGeoLocationCountries
      responses:
        '200':
          description: List of countries with geo-location information
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GeoLocationCountryDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
  /v3/remote-file-mappings:
    get:
      tags:
        - remote-file-mappings
      summary: Get remote file mappings
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/remote-file-mappings</div>


        Retrieve all remote file mappings with optional account filtering
      operationId: getRemoteFileMappings
      parameters:
        - in: query
          name: accountId
          description: Filter by account ID
          required: false
          schema:
            type: integer
            example: 123
      responses:
        '200':
          description: List of remote file mappings retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RemoteFileMapping'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - API_Key: []
    post:
      tags:
        - remote-file-mappings
      summary: Create remote file mapping
      description: >-
        <div class="op-path-box"><span class="op-http-method-post">POST</span>
        /v3/remote-file-mappings</div>


        Create a new remote file mapping configuration
      operationId: createRemoteFileMapping
      parameters:
        - in: query
          name: accountId
          description: Account ID to create the mapping for
          required: false
          schema:
            type: integer
            example: 123
      requestBody:
        description: Remote file mapping data for creation
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteFileMappingRequest'
      responses:
        '200':
          description: Remote file mapping created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteFileMapping'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
  /v3/remote-file-mappings/{rfmId}:
    parameters:
      - in: path
        name: rfmId
        description: The ID of the remote file mapping
        required: true
        schema:
          type: integer
          format: int64
          example: 123
    get:
      tags:
        - remote-file-mappings
      summary: Get remote file mapping by ID
      description: >-
        <div class="op-path-box"><span class="op-http-method-get">GET</span>
        /v3/remote-file-mappings/<span
        class="op-path-parameter">{rfmId}</span></div>


        Retrieve a specific remote file mapping by its ID
      operationId: getRemoteFileMapping
      responses:
        '200':
          description: Remote file mapping retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteFileMapping'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    put:
      tags:
        - remote-file-mappings
      summary: Update remote file mapping
      description: >-
        <div class="op-path-box"><span class="op-http-method-put">PUT</span>
        /v3/remote-file-mappings/<span
        class="op-path-parameter">{rfmId}</span></div>


        Update an existing remote file mapping
      operationId: updateRemoteFileMapping
      requestBody:
        description: Updated remote file mapping data
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoteFileMappingRequest'
      responses:
        '200':
          description: Remote file mapping updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoteFileMapping'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
    delete:
      tags:
        - remote-file-mappings
      summary: Delete remote file mapping
      description: >-
        <div class="op-path-box"><span
        class="op-http-method-delete">DELETE</span>
        /v3/remote-file-mappings/<span
        class="op-path-parameter">{rfmId}</span></div>


        Delete a specific remote file mapping by its ID
      operationId: deleteRemoteFileMapping
      responses:
        '204':
          description: Remote file mapping deleted successfully
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - API_Key: []
components:
  parameters:
    AuditId:
      name: auditId
      in: path
      required: true
      description: Unique identification number for web audit
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AuditId'
    WebJourneyId:
      name: webJourneyId
      in: path
      required: true
      description: Unique identification number for web journey item
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/WebJourneyId'
    ManualJourneyId:
      name: manualJourneyId
      in: path
      required: true
      description: Unique identification number for manual journey
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/ManualJourneyId'
    AthenaQueryRequestId:
      name: requestId
      in: path
      required: true
      description: Unique identification string for a live results query.
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AthenaQueryRequestId'
    RunId:
      name: runId
      in: path
      required: true
      description: Unique identification number for web audit or journey run
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/RunId'
    PageId:
      name: pageId
      in: path
      required: true
      description: >-
        Unique identification number for web audit run-page, it is different
        from dcUUID
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/PageId'
    ActionId:
      name: actionId
      in: path
      required: true
      description: Unique identification number for web-journey action
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/ActionId'
    ActionSequenceId:
      name: actionSequenceId
      in: path
      required: true
      description: Unique identification number for web-journey action
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/ActionSequenceId'
    TagId:
      name: tagId
      in: path
      required: true
      description: Tag ID
      schema:
        $ref: '#/components/schemas/TagId'
    pageParam:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 0
        default: 0
      description: Page number, starts with 0
    LimitParam:
      in: query
      name: limit
      description: Number of results per page of an endpoint with paginated results
      required: false
      schema:
        type: integer
        minimum: 1
        default: 50
        maximum: 1000
    AfterParam:
      in: query
      name: after
      description: Get items after this item
      required: false
      schema:
        type: string
    SortDescendingParam:
      name: sortDesc
      in: query
      description: Controls sorting order
      required: false
      schema:
        type: boolean
        default: false
    searchParam:
      in: query
      name: search
      description: Filters results by a search string
      required: false
      schema:
        type: string
    showPreAuditActionRequests:
      in: query
      name: showPreAuditActionRequests
      description: Filters results by cookie origin type
      required: false
      schema:
        type: boolean
        default: false
    AuditRun_PagesList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    AuditRun_CookieInventory_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    AuditRun_PageSummary_PagesList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 10000
        default: 50
        minimum: 50
    AuditRun_TagAccountList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 100
        minimum: 100
    AuditRun_TagAccountVariableList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 100
        default: 50
        minimum: 50
    AuditRun_TagAccountVariableValueList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 100
        minimum: 100
    AuditRun_PageSummary_PageSortParam:
      in: query
      name: sortBy
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_PageSummary_PagesSortColumn'
    AuditRun_TagInventory_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_TagInventory_PagesSortColumn'
    AuditRun_TagHealth_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_TagHealth_PageSortColumn'
    AuditRun_TagDuplicatesAndMultiples_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: >-
          #/components/schemas/AuditRun_TagDuplicatesAndMultiples_PagesSortColumn
    AuditRun_VariableInventory_PagesSortParam:
      in: query
      name: sortBy
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_VariableInventory_PagesSortColumn'
    AuditRun_Page_RequestLog_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    AuditRun_CookieList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 100
        minimum: 100
    AuditRun_CookieInventory_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_CookieInventory_PageSortColumn'
    AuditRun_CookieInventory_DomainsSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_CookieInventory_DomainSortColumn'
    AuditRun_BrowserLogs_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_BrowserLogs_PagesSortColumn'
    AuditRun_CookiePrivacy_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_CookiePrivacy_PagesSortColumn'
    AuditRun_TagPrivacy_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_TagPrivacy_PagesSortColumn'
    AuditRun_RequestPrivacy_PagesSortParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/AuditRun_RequestPrivacy_PagesSortColumn'
    AuditRun_Trends_DaysParam:
      name: days
      in: query
      required: true
      schema:
        type: integer
        description: Number of days to get trend values for, relative to current time
        maximum: 390
        minimum: 1
    RunData_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1500
        default: 100
        minimum: 100
    AuditRun_RequestDomainGeoList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 100
        minimum: 100
    AuditRun_FileChangesList_PageSizeParam:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 200
        default: 50
        minimum: 50
    Cookies_GetInsightsParam:
      in: query
      name: getInsights
      schema:
        type: boolean
      required: false
      example: true
    Cookies_GetOriginsParam:
      in: query
      name: getOrigins
      description: If `true` then origin story will be returned for each cookie
      schema:
        type: boolean
      required: false
      example: true
    Cookies_HidePreAuditActionOnlyCookiesParam:
      in: query
      name: hidePreAuditActionOnlyCookies
      description: >-
        If `true` then cookies which were only changed during pre-audit actions
        will be hidden
      schema:
        type: boolean
        default: false
      required: false
      example: true
    RuleSnapshotId:
      name: ruleSnapshotId
      in: path
      required: true
      description: Rule snapshot ID
      schema:
        $ref: '#/components/schemas/RuleSnapshotId'
    AuditRun_Trends_DaysQP:
      name: days
      in: query
      required: true
      schema:
        type: integer
        description: Number of days to get trend values for, relative to current time
    Export_AllDataParam:
      in: query
      name: allData
      schema:
        type: boolean
        default: false
      required: false
      description: >-
        IF `false` THEN only one results page will be exported ELSE all data
        will be exported
    Export_NoLimitParam:
      in: query
      name: noLimit
      schema:
        type: boolean
        default: false
      required: false
      description: >-
        IF `false` or not specified THEN export will be limited to 1,000,000
        rows ELSE all data will be exported
    AuditRun_PageInfo_LinkDirection:
      name: linkDirection
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/AuditRun_PageInfo_LinkDirection'
    AuditRun_PageInfo_LinkDownloadOptions:
      name: options
      description: Applicable to links from this page
      in: query
      style: form
      schema:
        type: array
        minItems: 1
        maxItems: 3
        items:
          $ref: '#/components/schemas/AuditRun_PageInfo_LinkDownloadOptionEnum'
    AuditRun_PageInfo_ThisUrlType:
      name: thisUrlType
      description: >
        Applicable to links to this page.

        - missing - links pointing to either initial or final url

        - `initial` - links pointing to initial url,

        - `final` - links pointing to final url, if there was no redirect, final
        url will be the the same as initial
      in: query
      schema:
        $ref: '#/components/schemas/AuditRun_PageInfo_ThisUrlTypeEnum'
    AccountUsageV2_ItemType:
      name: itemType
      in: path
      required: true
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AccountUsageV2_ItemTypeEnum'
    PathParamAlertId:
      name: alertId
      in: path
      required: true
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AlertId'
    PathParamAlertAssignmentItemType:
      name: itemType
      in: path
      required: true
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
    PathParamAlertAssignmentItemId:
      name: itemId
      in: path
      required: true
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AlertAssignmentItemId'
    QueryParamAlertAssignmentsPageSize:
      in: query
      name: size
      required: false
      allowEmptyValue: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    QueryParamAlertAssignmentsSort:
      in: query
      name: sortBy
      required: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/AlertAssignmentsSortColumn'
    QueryParamAlertsSearchPageSize:
      in: query
      name: size
      required: false
      allowEmptyValue: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    QueryParamLiveResultsSortByPageColumn:
      in: query
      name: sortBy
      required: false
      schema:
        $ref: '#/components/schemas/PagesLiveResultsSortColumn'
    QueryParamLiveResultsSortByTagColumn:
      in: query
      name: sortBy
      required: false
      schema:
        $ref: '#/components/schemas/TagsLiveResultsSortColumn'
    QueryParamLiveResultsSortByCookieColumn:
      in: query
      name: sortBy
      required: false
      schema:
        $ref: '#/components/schemas/CookiesLiveResultsSortColumn'
    QueryParamLiveResultsSortByAccessibilityIssuesColumn:
      in: query
      name: sortBy
      required: false
      schema:
        $ref: '#/components/schemas/AccessibilityIssuesLiveResultsSortColumn'
    EmailInboxMessageId:
      in: path
      name: messageId
      required: true
      allowEmptyValue: false
      schema:
        type: number
    EmailInboxId:
      name: emailInboxId
      in: path
      required: true
      description: Unique identification number for email inbox
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/EmailInboxId'
    ReceivedEmailMessageId:
      name: receivedEmailMessageId
      in: path
      required: true
      description: Unique identification number for received email message record
      deprecated: false
      allowEmptyValue: false
      schema:
        type: integer
    LabelId:
      name: labelId
      in: path
      required: true
      description: Label ID in mysql
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/LabelId'
    SiteCensusId:
      name: censusId
      in: path
      required: true
      description: Unique identification number for a site census
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/CensusId'
    SortByParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/CustomHeaderSortByEnum'
    DataSourceTargetItemSortByParam:
      name: sortBy
      in: query
      required: false
      schema:
        $ref: '#/components/schemas/DataSourceTargetItemSortByEnum'
    ConsentCategoryId:
      name: consentCategoryId
      in: path
      required: true
      description: Unique identification number for consent category item
      deprecated: false
      allowEmptyValue: false
      schema:
        $ref: '#/components/schemas/ConsentCategoryId'
    PageParam:
      in: query
      name: page
      description: Number of results page of an endpoint with paginated results
      required: false
      schema:
        type: integer
        default: 0
        minimum: 0
    PageSize:
      in: query
      name: pageSize
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 100
        minimum: 100
    SiteCensus_Get_PageSizeParam:
      in: query
      name: pageSize
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 10
        minimum: 10
    SiteCensus_Filter_ByName:
      in: query
      name: filterByName
      required: false
      schema:
        type: string
    QueryParamPageSize:
      in: query
      name: size
      required: false
      schema:
        type: integer
        maximum: 1000
        default: 50
        minimum: 50
    LocalStartDateTime:
      in: query
      name: localStartDateTime
      required: false
      schema:
        $ref: '#/components/schemas/ISO8601LocalDateTime'
    LocalEndDate:
      in: query
      name: localEndDateTime
      required: false
      schema:
        $ref: '#/components/schemas/ISO8601LocalDateTime'
    CustomHeaderGroupId:
      name: customHeaderGroupId
      in: path
      required: true
      description: Unique identification number for custom header group
      deprecated: false
      allowEmptyValue: false
      schema:
        type: integer
  schemas:
    DateAndTime:
      type: string
      format: date-time
      description: >
        Date-time in [RFC3339 profile ISO 8601
        format](https://www.ietf.org/rfc/rfc3339.txt) with

        the following additional restrictions:

        1. An uppercase T must separate the date and time portions.

        2. An uppercase Z must denote that a numeric time zone offset isn't
        present.


        In general, these timestamp requirements are the same in

        [AWS Step Functions - Choice
        Rules](https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-choice-state.html)
      example: '2016-08-18T17:33:00Z'
    DateUtc:
      type: string
      format: date
      description: Date in ISO 8601 format, in UTC timezone
    AccountId:
      type: integer
      description: ID of an account
      example: 123
    UserId:
      type: integer
      description: ID of a user
      example: 123
    User:
      type: object
      required:
        - id
        - userName
      properties:
        id:
          $ref: '#/components/schemas/UserId'
        userName:
          type: string
    FolderId:
      type: integer
      format: int32
      description: ID of a folder
      example: 123
    DomainId:
      type: integer
      format: int32
      description: ID of a domain
      example: 123
    ItemType:
      type: string
      enum:
        - audit
        - web_journey
        - app_journey
        - live_connect
    ItemId:
      type: integer
      format: int64
      description: ID of a data collector, see ItemType
      example: 107239
    WebJourneyId:
      type: integer
      format: int64
      example: 107239
    ManualJourneyId:
      type: integer
      format: int64
      example: 107239
    AuditId:
      type: integer
      format: int64
      example: 107239
    AthenaQueryRequestId:
      type: string
      pattern: \S+
      minLength: 1
      maxLength: 128
      example: 7dda25df-580d-4c6b-afc9-a9e87d33f83a
    RunId:
      type: integer
      format: int64
      example: 33010
    PageId:
      type: string
      example: f9d32cc7cc2046d6decb145a80289287f5226323
    ActionId:
      type: integer
      format: int64
      example: 107239
    ActionSequenceId:
      type: integer
      format: int64
      example: 107239
    PageUrl:
      type: string
      format: url
      example: https://example.com/about
    PageLoadTime:
      type: integer
      description: Time page took to load, in milliseconds
    PageStatusCode:
      type: integer
      description: Page HTTP status code
    TagId:
      type: integer
      description: Tag ID
    TagName:
      type: string
      description: Tag name
    TagAccount:
      type: string
      description: Tag account
    TagCategoryId:
      type: integer
      description: Tag category ID
    TagCategoryName:
      type: string
      description: Name of a category of a tag
    TagVendorId:
      type: integer
      description: Tag vendor ID
    TagLoadTime:
      type: integer
      description: Tag load time, in milliseconds
      default: 0
    TagRequestSize:
      type: integer
      description: Tag network request size, in bytes
    VariableName:
      type: string
      description: Variable name (key)
    VariableValue:
      type: string
      description: Variable value
    StringInclusionFilter:
      type: object
      required:
        - filterType
        - filterValue
      properties:
        filterType:
          $ref: '#/components/schemas/StringInclusionFilterTypeEnum'
        filterValue:
          type: string
          minLength: 1
    StringInclusionFilterTypeEnum:
      type: string
      enum:
        - contains
        - not_contains
    CurrencyCode:
      type: string
      description: A currency represented by its ISO 4217 alpha code
      pattern: ^[A-Z]{3}$
      example: USD
    MonetaryAmount:
      type: object
      description: A monetary amount
      required:
        - amount
        - currency
      properties:
        amount:
          type: number
          example: 0.01
        currency:
          $ref: '#/components/schemas/CurrencyCode'
    RuleSnapshotId:
      type: integer
      format: int64
    RulePageFilterSnapshotId:
      type: integer
      format: int64
    RuleTagSnapshotId:
      type: integer
      format: int64
    RuleTagVariableSnapshotId:
      type: integer
      format: int64
    MatchType:
      type: string
      enum:
        - Unknown
        - TagPresent
        - Equals
        - NotEqual
        - Contains
        - DoesNotContain
        - Regex
        - IsSet
        - NotSet
        - GreaterThanOrEquals
        - LessThanOrEquals
        - EqualIgnoreCase
        - NotEqualIgnoreCase
        - ContainsIgnoreCase
        - DoesNotContainIgnoreCase
    StatusCodeValueType:
      type: string
      enum:
        - Specific
        - SuccessAndRedirect
        - Broken
    RuleId:
      type: integer
      format: int64
      description: Rule ID
      example: 12
    RuleStatus:
      type: string
      enum:
        - failed
        - passed
        - not_applied
    CookieName:
      type: string
      description: Cookie name
    CookieDomain:
      type: string
      description: Cookie domain; preceding dot removed
    CookiePartyType:
      type: string
      description: >
        Indicates if cookie domain is different from domain of a page it was set
        on. 

        `owned_3rd_party` is deprecated
      enum:
        - 1st_party
        - owned_3rd_party
        - 3rd_party
    CookieExpirationType:
      type: string
      enum:
        - session
        - timestamp
    CookieSameSite:
      type: string
      nullable: true
      enum:
        - None
        - Lax
        - Strict
    CookieSameSiteExtended:
      type: string
      nullable: true
      enum:
        - None
        - Lax
        - Strict
        - Empty
    CookieSize:
      type: integer
      description: Cookie value size, in bytes. May not be available for old runs
      nullable: true
    CookieChangeTypeEnum:
      type: string
      enum:
        - ADD
        - UPDATE
        - DELETE
        - NO_CHANGE
        - REPEAT_SET
    CookieOriginTypeEnum:
      type: string
      nullable: true
      enum:
        - PRE_AUDIT_ACTION
        - PAGE_LOAD
        - ON_PAGE_ACTION
    CookieInitiator:
      type: object
      properties:
        tagId:
          $ref: '#/components/schemas/TagId'
        initiatorType:
          type: string
          enum:
            - HTTP
            - APP
            - OP_ACTION
            - UNKNOWN
    CookiePartitionKey:
      type: object
      properties:
        value:
          type: string
    BrowserLogMessageLevelEnum:
      type: string
      enum:
        - error
        - warn
        - info
        - debug
        - other
    ConsentCategoryName:
      type: string
      description: Name of consent category item (tag, cookie, domain, geo) belongs to
    ConsentCategorySnapshotId:
      type: integer
      format: int64
      example: 33010
      description: >-
        Use in filtering purposes is DEPRECATED in favour of
        `ConsentCategoryId`! Snapshot Id of consent category attached to this
        run
    ConsentCategoryId:
      type: integer
      example: 3301
      description: ID of consent category
    ConsentCategoryComplianceStatus:
      type: string
      enum:
        - approved
        - unapproved
    RunHasNoConsentCategoriesAssigned:
      type: boolean
      description: |
        When TRUE, run did not have any consent categories assigned.
        When NOT specified or FALSE, it had at least one.
    RequestDomain:
      type: string
      description: Network request URL domain
      example: example.com
    RequestFilename:
      type: string
      description: Name of the file. Identified as the last non-empty part of URL path
      example: main.js
    CountryCode:
      type: string
      description: ISO 3166-1 (Alpha-2) country code
      example: US
    RequestOriginTypeEnum:
      type: string
      nullable: true
      enum:
        - PRE_AUDIT_ACTION
        - ON_PAGE
    ItemRunTrendsItemTrait:
      type: object
      required:
        - runId
        - completedAt
      properties:
        runId:
          $ref: '#/components/schemas/RunId'
        completedAt:
          $ref: '#/components/schemas/DateAndTime'
    AuditActionSnapshotId:
      type: integer
      format: int64
      minimum: 0
      description: >-
        An ID assigned to actions of all types on an audit - unique in the
        context of an individual run
    AuditRunPageTrait:
      description: Common trait for audit page with mandatory page properties
      type: object
      required:
        - pageId
        - pageUrl
      properties:
        pageId:
          $ref: '#/components/schemas/PageId'
        pageUrl:
          $ref: '#/components/schemas/PageUrl'
    AuditRunPageCommonColumnsTrait:
      description: Trait for audit page with common page properties
      allOf:
        - $ref: '#/components/schemas/AuditRunPageTrait'
        - type: object
          required:
            - pageLoadTime
            - pageStatusCode
          properties:
            pageLoadTime:
              $ref: '#/components/schemas/PageLoadTime'
            pageStatusCode:
              $ref: '#/components/schemas/PageStatusCode'
    AuditRunPageCommonColumnsWithFinalValuesTrait:
      description: Trait for audit page with final URL and final status code
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsTrait'
        - type: object
          properties:
            finalPageUrl:
              $ref: '#/components/schemas/PageUrl'
            finalPageStatusCode:
              $ref: '#/components/schemas/PageStatusCode'
    AuditRunRulePageCountTrait:
      description: Common trait for page count per rule result type attributes
      type: object
      required:
        - failedRulePageCount
        - passedRulePageCount
        - notAppliedRulePageCount
      properties:
        failedRulePageCount:
          type: integer
          description: Number of pages with at least 1 rule failed
          default: 0
        passedRulePageCount:
          type: integer
          description: Number of pages with at least 1 rule passed
          default: 0
        notAppliedRulePageCount:
          type: integer
          description: Number of pages with at least 1 rule not applied
          default: 0
    AuditRunRuleCountTrait:
      description: Common trait for rule count per rule result type attributes
      type: object
      required:
        - failedRuleCount
        - passedRuleCount
        - notAppliedRuleCount
      properties:
        failedRuleCount:
          type: integer
          description: Number of rules failed on at least 1 page
          default: 0
        passedRuleCount:
          type: integer
          description: Number of rules passed on at least 1 page
          default: 0
        notAppliedRuleCount:
          type: integer
          description: Number of rules not applied on at least 1 page
          default: 0
    TagInfoTrait:
      type: object
      description: Common tag info
      required:
        - tagId
        - tagName
        - tagCategoryId
        - tagCategoryName
      properties:
        tagId:
          $ref: '#/components/schemas/TagId'
        tagName:
          $ref: '#/components/schemas/TagName'
        tagCategoryId:
          $ref: '#/components/schemas/TagCategoryId'
        tagCategoryName:
          $ref: '#/components/schemas/TagCategoryName'
    IntegerRangeFilterTrait:
      type: object
      description: Common trait for integer min max filter
      properties:
        min:
          type: integer
          minimum: 0
        max:
          type: integer
    LongIntegerRangeFilterTrait:
      type: object
      description: Common trait for long integer min max filter
      properties:
        min:
          type: integer
          format: int64
          minimum: 0
        max:
          type: integer
          format: int64
    DoubleRangeFilterTrait:
      type: object
      description: Common trait for double min max filter
      properties:
        min:
          type: number
          format: double
          minimum: 0
        max:
          type: number
          format: double
    PageFiltersTrait:
      type: object
      description: Common trait for page filters
      properties:
        pageUrl:
          $ref: '#/components/schemas/PageUrlFilter'
        finalPageUrl:
          $ref: '#/components/schemas/PageUrlFilter'
        pageTitle:
          $ref: '#/components/schemas/PageTitleFilter'
        initialPageStatusCode:
          $ref: '#/components/schemas/IntegerFilter'
        finalPageStatusCode:
          $ref: '#/components/schemas/IntegerFilter'
        combinedPageStatusCode:
          $ref: '#/components/schemas/CombinedPageStatusCodeEnum'
        pageLoadTime:
          $ref: '#/components/schemas/PageLoadTimeFilter'
        pageSize:
          $ref: '#/components/schemas/PageSizeFilter'
        redirectCount:
          $ref: '#/components/schemas/PageRedirectCountFilter'
        hasBrokenLinks:
          type: boolean
        pageUrlMatchingAuditFilterConfiguration:
          type: boolean
    AggregatedCookieTrait:
      type: object
      description: >-
        Common trait for cookies from Cookie Inventory Cookies and Cookie
        Privacy Compliance
      properties:
        cookieChangedDuring:
          type: array
          description: >-
            List of phases during which this cookie was changed, aggregated
            across all pages
          minItems: 1
          items:
            $ref: '#/components/schemas/CookieOriginTypeEnum'
    CookieFiltersTrait:
      type: object
      description: Common trait for cookie filters
      properties:
        cookieOriginInclusion:
          $ref: '#/components/schemas/CookieOriginInclusionTypeEnum'
    PageUrlFilter:
      type: object
      required:
        - filterType
        - filterValue
      properties:
        filterType:
          $ref: '#/components/schemas/PageUrlFilterEnum'
        filterValue:
          type: string
          minLength: 1
        negated:
          type: boolean
          description: >-
            Switches from "contains" to "not contains", and from "matches regex"
            to "does not match regex". Supported only by Page Summary for now
          default: false
    PageUrlFilterEnum:
      type: string
      enum:
        - contains
        - regex
    PageTitleFilter:
      type: object
      required:
        - filterType
        - filterValue
      properties:
        filterType:
          $ref: '#/components/schemas/StringInclusionFilterTypeEnum'
        filterValue:
          type: string
          description: Page title as displayed by browser
          minLength: 1
          example: ObserveP
    PageLoadTimeFilter:
      description: >-
        Page load time in milliseconds. Should have `min` and/or `max`
        properties defined. `min` is inclusive and `max` is exclusive. `min`
        should be less than `max`.
      allOf:
        - $ref: '#/components/schemas/IntegerRangeFilterTrait'
    PageSizeFilter:
      description: >-
        Page size in bytes. Should have `min` and/or `max` properties defined.
        `min` is inclusive and `max` is exclusive. `min` should be less than
        `max`.
      allOf:
        - $ref: '#/components/schemas/LongIntegerRangeFilterTrait'
    PageRedirectCountFilter:
      description: >-
        Number of redirects for a page. Should have `min` and/or `max`
        properties defined. `min` is inclusive and `max` is exclusive. `min`
        should be less than `max`.
      allOf:
        - $ref: '#/components/schemas/IntegerRangeFilterTrait'
    CombinedPageStatusCodeEnum:
      type: string
      description: |
        - `broken` - initial or final URL are `broken`,
        - `good` - initial URL is `good` or `redirect` and final URL is `good`
      enum:
        - broken
        - good
    StatusCodeEnum:
      description: good - 2xx, redirects - 3xx, broken - all others
      deprecated: true
      type: string
      enum:
        - good
        - redirects
        - broken
    IntegerFilter:
      type: object
      required:
        - filterType
        - negated
      properties:
        filterType:
          $ref: '#/components/schemas/IntegerFilterTypeEnum'
        negated:
          type: boolean
          description: >-
            Switches from `==` to `!=`, and from `between [minInclusive,
            maxExclusive)` to `NOT between [minInclusive, maxExclusive)`
      discriminator:
        propertyName: filterType
        mapping:
          specific: '#/components/schemas/SpecificIntegerFilter'
          range: '#/components/schemas/IntegerRangeFilter'
    IntegerFilterTypeEnum:
      type: string
      enum:
        - specific
        - range
    SpecificIntegerFilter:
      allOf:
        - $ref: '#/components/schemas/IntegerFilter'
        - type: object
          required:
            - filterValue
          properties:
            filterValue:
              type: integer
    IntegerRangeFilter:
      allOf:
        - $ref: '#/components/schemas/IntegerFilter'
        - type: object
          required:
            - minInclusive
            - maxExclusive
          properties:
            minInclusive:
              type: integer
            maxExclusive:
              type: integer
    TagLoadTimeFilter:
      description: Should have `min` and/or `max` properties defined
      type: object
      properties:
        min:
          type: integer
          description: Minimum (inclusive) tag load time in milliseconds
          minimum: 0
        max:
          type: integer
          description: Maximum (exclusive) tag load time in milliseconds
    FoldersFilter:
      type: array
      description: >-
        non-empty array of folders with domains (subfolders), items from which
        will be included in response
      minItems: 1
      items:
        $ref: '#/components/schemas/FoldersFilterItem'
    FoldersFilterItem:
      type: object
      required:
        - folderId
      properties:
        folderId:
          $ref: '#/components/schemas/FolderId'
        domains:
          type: array
          description: >-
            null or empty array of domains (subfolders) present on an item,
            works as "null or empty if entire folder (all domains in a folder),
            otherwise specific domain IDs"
          items:
            $ref: '#/components/schemas/DomainId'
    CookieOriginInclusionTypeEnum:
      type: string
      description: >
        - `exclude_pre_audit_action_only_cookies` - exclude cookies which were
        only changed during pre-audit actions
      enum:
        - exclude_pre_audit_action_only_cookies
    ItemRun_SpecificTrendValuesDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/ItemRun_SpecificTrendValueItem'
    ItemRun_SpecificTrendValueItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - trendValue
          properties:
            trendValue:
              type: number
    CommonIterableResponseMetadata:
      description: Common metadata for iterable
      type: object
      required:
        - pagination
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationMetadata'
    ExportId:
      type: integer
      format: int64
      description: Unique ID of an export
    ExportUuid:
      type: string
      format: uuid
      description: Unique ID of an export link
    ExportCenter_ExportedItemTypeEnum:
      type: string
      enum:
        - audit
        - web_journey
        - live_connect
        - consent_categories
        - alert
        - account_usage
        - grid_data
    ExportCenter_ExportsSortColumn:
      type: string
      enum:
        - date_exported
        - item_name
        - run_date
        - export_name
        - exported_item_type
        - requested_by
        - status
        - is_scheduled
      default: date_exported
    ExportCenter_ExportsDTO:
      type: object
      required:
        - metadata
        - exports
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        exports:
          type: array
          items:
            $ref: '#/components/schemas/ExportCenter_ExportsItem'
    ExportCenter_ExportsItem:
      type: object
      description: >
        Not all exports are related to a particular
        audit/web-journey/manual-journey item or its run, e.g. consent category
        configs export. Such exports do not have `itemType`, `itemId`,
        `itemName`, `runId`, `runDate`
      required:
        - exportId
        - dateExported
        - exportType
        - specificExportType
        - exportName
        - requestedByUserId
        - exportStatus
        - exportDownloadLink
      properties:
        exportId:
          $ref: '#/components/schemas/ExportId'
        dateExported:
          $ref: '#/components/schemas/DateAndTime'
        exportType:
          $ref: '#/components/schemas/ExportTypeEnum'
        itemType:
          $ref: '#/components/schemas/ExportCenter_ExportedItemTypeEnum'
        itemId:
          $ref: '#/components/schemas/ItemId'
        itemName:
          type: string
          description: Name of an item this export has been executed for, see ItemType
          example: My Audit
        runId:
          $ref: '#/components/schemas/RunId'
        runDate:
          $ref: '#/components/schemas/DateAndTime'
        specificExportType:
          type: string
          description: Specific export type, for example AuditRun_ExportTypeEnum for audits
        exportName:
          type: string
        requestedByUserId:
          $ref: '#/components/schemas/UserId'
        exportStatus:
          $ref: '#/components/schemas/ExportCenter_ExportStatus'
        exportDownloadLink:
          type: string
          description: Export file download link
          example: >-
            https://api.observepoint.com/v3/exports/550e8400-e29b-41d4-a716-446655440000
        scheduleId:
          $ref: '#/components/schemas/ScheduledExportId'
        isScheduled:
          type: boolean
          description: Whether the export is scheduled or not
          default: false
    ExportCenter_ExportStatus:
      type: string
      enum:
        - queued
        - in_progress
        - completed
        - failed
        - no_data
    ExportCenter_ResendExportEmailRequestDTO:
      type: object
      required:
        - toAddresses
      properties:
        toAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EmailAddress'
          minItems: 1
          maxItems: 10
          description: list of unique emails
        customEmailMessage:
          type: string
          minLength: 1
          maxLength: 1000
          example: Here is the export, enjoy!
    EmailAddress:
      type: string
      format: email
      minLength: 3
      example: user@example.com
    ScheduledExportId:
      type: integer
      format: int64
    ScheduledExports_ExportedItemType:
      type: string
      enum:
        - saved_report
    ScheduledExports_ReportLinkType:
      type: string
      enum:
        - public_link
        - regular_link
    ScheduledExports_ExportedItemId:
      type: integer
      format: int64
    ScheduledExports_ExportFileFormat:
      type: string
      enum:
        - csv
        - tsv
        - xlsx
        - parquet
    ScheduledExports_SortColumn:
      type: string
      enum:
        - name
        - schedule_description
        - schedule_is_paused
        - owner_user_name
        - exported_item_type
        - exported_item_name
        - is_editable
        - created_at
        - updated_at
    ScheduledExports_ScheduleConfig:
      type: object
      description: When and how often Scheduled Export will be run.
      required:
        - dtStart
        - recurrenceRule
        - tzId
        - isPaused
      properties:
        dtStart:
          type: string
          format: local-date-time
          description: Date of first desired start (if in range of recurrence rule).
          example: '2025-03-14T12:00:00'
        recurrenceRule:
          type: string
          description: >-
            An RFC-5545 (https://www.rfc-editor.org/rfc/rfc5545#appendix-A)
            compliant recurrence rule string.
          example: WKST=SU;FREQ=DAILY;INTERVAL=1
        tzId:
          type: string
          description: >-
            Timezone identifier compliant with tz database (ex.
            America/New_York).
            https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          example: America/New_York
        isPaused:
          type: boolean
          description: Whether the schedule is paused or not.
        exceptions:
          description: List of dates to skip when scheduling.
          type: array
          minItems: 1
          items:
            type: string
            format: local-date-time
            example: '2025-03-14T12:00:00'
    ScheduledExports_ScheduleConfigWithDescription:
      allOf:
        - $ref: '#/components/schemas/ScheduledExports_ScheduleConfig'
        - type: object
          required:
            - description
            - presetType
          properties:
            description:
              type: string
              example: Every day
            presetType:
              type: string
              example: DAILY
            nextExportAt:
              $ref: '#/components/schemas/DateAndTime'
    ScheduledExports_ExportEmailConfig:
      type: object
      description: Configuration for the email sent when export completes.
      required:
        - addExportFileAttachment
      properties:
        addExportFileAttachment:
          type: boolean
        customMessage:
          type: string
        reportLinkType:
          $ref: '#/components/schemas/ScheduledExports_ReportLinkType'
    ScheduledExports_CommonTrait:
      type: object
      required:
        - name
        - exportedItemType
        - exportedItemId
        - exportFileFormat
        - exportEmailConfig
        - emails
      properties:
        name:
          type: string
        exportedItemType:
          $ref: '#/components/schemas/ScheduledExports_ExportedItemType'
        exportedItemId:
          $ref: '#/components/schemas/ScheduledExports_ExportedItemId'
        exportFileFormat:
          $ref: '#/components/schemas/ScheduledExports_ExportFileFormat'
        exportEmailConfig:
          $ref: '#/components/schemas/ScheduledExports_ExportEmailConfig'
        emails:
          type: array
          description: List of email addresses that will receive export email.
          minItems: 1
          items:
            $ref: '#/components/schemas/EmailAddress'
    CreateScheduledExportRequestDTO:
      allOf:
        - $ref: '#/components/schemas/ScheduledExports_CommonTrait'
        - type: object
          required:
            - schedule
          properties:
            schedule:
              $ref: '#/components/schemas/ScheduledExports_ScheduleConfig'
    ScheduledExportDTO:
      allOf:
        - $ref: '#/components/schemas/ScheduledExports_CommonTrait'
        - type: object
          required:
            - id
            - schedule
            - exportedItemName
            - isEditable
          properties:
            id:
              $ref: '#/components/schemas/ScheduledExportId'
            createdAt:
              $ref: '#/components/schemas/DateAndTime'
            updatedAt:
              $ref: '#/components/schemas/DateAndTime'
            owner:
              $ref: '#/components/schemas/User'
            schedule:
              $ref: >-
                #/components/schemas/ScheduledExports_ScheduleConfigWithDescription
            exportedItemName:
              type: string
            isEditable:
              type: boolean
    ScheduledExportListDTO:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        scheduledExports:
          type: array
          items:
            $ref: '#/components/schemas/ScheduledExportDTO'
    AuditRunPage_InitiatorsTree_RequestDTO:
      description: >-
        Request body with filters for Page Details Initiators tree, supporting
        filtering by request tags and cookies as well as request attributes
      type: object
      properties:
        tagsOnly:
          type: boolean
          description: If set then return only tags, else ignored
        primaryTagsOnly:
          type: boolean
          description: If set then return only primary tags, else ignored
        tagId:
          $ref: '#/components/schemas/TagId'
        tagAccount:
          $ref: '#/components/schemas/TagAccount'
        tagVendorId:
          $ref: '#/components/schemas/TagVendorId'
        tagCategoryId:
          $ref: '#/components/schemas/TagCategoryId'
        withCookiesOnly:
          type: boolean
          description: >-
            If set then return only requests that specified cookies, else
            ignored
        cookieName:
          $ref: '#/components/schemas/StringInclusionFilter'
        cookieDomain:
          $ref: '#/components/schemas/StringInclusionFilter'
        partyType:
          $ref: '#/components/schemas/CookiePartyType'
        requestUrl:
          $ref: '#/components/schemas/StringInclusionFilter'
        requestStatusCode:
          $ref: '#/components/schemas/StatusCodeEnum'
    AuditRunPage_InitiatorsTree_ResponseDTO:
      type: object
      required:
        - initiatorsSummary
        - initiatorsTreeRoot
      properties:
        initiatorsSummary:
          $ref: '#/components/schemas/AuditRunPage_InitiatorsSummary'
        initiatorsTreeRoot:
          $ref: '#/components/schemas/InitiatorsTreeVertex'
    AuditRunPage_InitiatorsSummary:
      type: object
      required:
        - totalNetworkRequestCount
        - filteredNetworkRequestCount
        - totalBrokenNetworkRequestCount
        - filteredBrokenNetworkRequestCount
        - totalTagCount
        - filteredTagCount
        - totalCookieCount
        - filteredCookieCount
      properties:
        totalNetworkRequestCount:
          type: integer
          minimum: 1
        filteredNetworkRequestCount:
          type: integer
          minimum: 0
        totalBrokenNetworkRequestCount:
          type: integer
          minimum: 0
        filteredBrokenNetworkRequestCount:
          type: integer
          minimum: 0
        totalTagCount:
          type: integer
          minimum: 0
        filteredTagCount:
          type: integer
          minimum: 0
        totalCookieCount:
          type: integer
          minimum: 0
        filteredCookieCount:
          type: integer
          minimum: 0
    InitiatorsTreeVertex:
      description: >
        Represents a node in the initiators tree. 

        Each node/vertex is a network request. 

        The root node is the page request.

        The root node does not have `relationToParent`

        Leaf nodes are requests that have no children.

        To get information about specific nodes use `POST
        /v3/web-audits/{auditId}/runs/{runId}/pages/{pageId}/initiators/request-log`
        endpoint with `harEntryIndices` specified
      type: object
      required:
        - harEntryIndex
        - children
        - originalSubtreeSize
        - filteredSubtreeSize
      properties:
        harEntryIndex:
          $ref: '#/components/schemas/HarEntryIndex'
        relationToParent:
          $ref: '#/components/schemas/InitiatorParentChildRelationType'
        children:
          description: >
            When filters applied, only the following nodes are retained in the
            children array: 

            - leaf nodes matching filters,

            - intermediate nodes matching filters,

            - intermediate nodes not matching filters but having successors
            matching filters.
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/InitiatorsTreeVertex'
        originalSubtreeSize:
          type: integer
          description: >-
            Total number of nodes under the current node (including its
            children, grand-children and so on)
        filteredSubtreeSize:
          type: integer
          description: >-
            Number of nodes under the current node (including its children,
            grand-children and so on) after filtering
    InitiatorParentChildRelationType:
      type: string
      description: |
        Default value is `normal`, may be omitted.
        The root node does not have relation.
      enum:
        - normal
        - weak
    HarEntryIndex:
      type: integer
      minimum: 0
      description: >-
        The 0-based index of the HAR entry that this request corresponds to.
        Used to uniquely identify a request on a page.
    QueryByHarEntryIndices_RequestDto:
      type: object
      required:
        - harEntryIndices
      properties:
        harEntryIndices:
          type: array
          description: Empty array means "query all (no filtering)"
          minItems: 0
          maxItems: 10000
          items:
            $ref: '#/components/schemas/HarEntryIndex'
    GetCookiesByHarEntryIndices_ResponseDto:
      type: object
      required:
        - requests
      properties:
        requests:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/GetCookiesByHarEntryIndices_RequestItem'
    GetCookiesByHarEntryIndices_RequestItem:
      type: object
      required:
        - harEntryIndex
        - cookies
      properties:
        harEntryIndex:
          $ref: '#/components/schemas/HarEntryIndex'
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/GetCookiesByHarEntryIndices_RequestCookieItem'
    GetCookiesByHarEntryIndices_RequestCookieItem:
      allOf:
        - $ref: '#/components/schemas/BaseResponseCookieChangeItemTrait'
    GetRequestsByHarEntryIndices_ResponseDto:
      type: object
      required:
        - requests
      properties:
        requests:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/GetRequestsByHarEntryIndices_RequestItem'
    GetRequestsByHarEntryIndices_RequestItem:
      allOf:
        - $ref: '#/components/schemas/RequestLogTrait'
        - type: object
          description: >
            These properties are available altogether only if request is a tag:

            - tagId

            - tagVendorId

            - tagCategoryId

            - tagAccount

            Property `fileSubstitution` is present only if request had file
            substitution applied.
          required:
            - consoleLogSummary
          properties:
            tagId:
              $ref: '#/components/schemas/TagId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            consoleLogSummary:
              $ref: '#/components/schemas/ConsoleLogSummary'
            fileSubstitution:
              $ref: '#/components/schemas/FileSubstitution'
    FileSubstitution:
      type: object
      required:
        - substituteUrl
      properties:
        substituteUrl:
          type: string
          description: URL of the file that was used as a substitute
        tagId:
          type: integer
        failure:
          $ref: '#/components/schemas/FileSubstitutionFailure'
    FileSubstitutionFailure:
      type: object
      required:
        - failureType
      properties:
        failureType:
          $ref: '#/components/schemas/FileSubstitutionFailureType'
        failureMessage:
          type: string
    FileSubstitutionFailureType:
      type: string
      enum:
        - unknown
        - file_size_limit_exceeded
        - file_not_found
        - cannot_get_file
    AuditRunPage_ConsoleLogs_RequestDTO:
      type: object
      properties:
        includedLevels:
          type: array
          items:
            $ref: '#/components/schemas/BrowserLogMessageLevelEnum'
        search:
          type: string
          description: Filters logs by `message` and `source` with 'contains' predicate
    AuditRunPage_ConsoleLogsDTO:
      type: object
      required:
        - metadata
        - consoleLogs
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        consoleLogs:
          type: array
          items:
            $ref: '#/components/schemas/BrowserConsoleLog'
    ConsoleLogSummary:
      type: object
      required:
        - errorLogCount
        - warnLogCount
        - infoLogCount
        - debugLogCount
        - otherLogCount
      properties:
        errorLogCount:
          type: integer
        warnLogCount:
          type: integer
        debugLogCount:
          type: integer
        infoLogCount:
          type: integer
          example: 4
        otherLogCount:
          type: integer
          deprecated: true
          description: >-
            Deprecated, included only for backward compatibility, value is
            always 0
    AuditRunPage_BrowserLogs_MessagesSortColumn:
      type: string
      enum:
        - message
        - timestamp
        - level
        - source
        - count
        - related_tag
    BrowserConsoleLog:
      type: object
      properties:
        timestamp:
          type: integer
          format: int64
          example: 1612568767911
        message:
          type: string
          example: 'loadscript added to queue: /path/to/example.js'
        level:
          $ref: '#/components/schemas/BrowserLogMessageLevelEnum'
        source:
          type: string
        count:
          type: integer
          example: 4
        relatedTag:
          $ref: '#/components/schemas/BrowserConsoleLogTagItem'
      required:
        - timestamp
        - message
        - level
        - count
    BrowserConsoleLogTagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
    AuditRun_PageDetails_RequestLogSortColumn:
      type: string
      enum:
        - request_start_time
        - request_url
        - tag_name
        - mime_type
        - response_size
        - load_time
        - status_code
        - geo
        - date_difference
        - size_difference
        - started_at
    RequestLogDTO:
      type: object
      required:
        - metadata
        - requests
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        requests:
          type: array
          items:
            $ref: '#/components/schemas/RequestLog'
    RequestLog:
      allOf:
        - $ref: '#/components/schemas/RequestLogTrait'
        - type: object
          description: >-
            fileChange property is only available for customers who purchased
            privacy product offering
          properties:
            tagId:
              type: integer
              deprecated: true
              description: Use `tag` property instead
            tag:
              $ref: '#/components/schemas/RequestLogItemTag'
            fileChange:
              $ref: '#/components/schemas/RequestLogItemFileChange'
            origin:
              $ref: '#/components/schemas/RequestOriginTypeEnum'
            relatedCookies:
              type: array
              items:
                $ref: '#/components/schemas/CookieOriginRequestDTO'
    RequestLogTrait:
      type: object
      required:
        - harEntryIndex
        - requestUrl
        - statusCode
        - loadTime
      properties:
        harEntryIndex:
          $ref: '#/components/schemas/HarEntryIndex'
        resourceType:
          type: string
          description: >-
            The type of resource that was requested.  e.g. 'xhr', 'script',
            'image', 'stylesheet', 'font', 'document', 'other'. Available since
            [WORK-24937](https://observepoint.atlassian.net/browse/WORK-24937)
        method:
          type: string
          description: The HTTP method used for the request
        serverIPAddress:
          type: string
          format: ipAddress
          description: The IP address of the server that responded to the request
        httpVersion:
          type: string
          description: The HTTP version used for the request (e.g. 'HTTP/1.1')
        requestUrl:
          type: string
        statusCode:
          type: integer
          description: HTTP status code of network request
        loadTime:
          type: number
          description: Time took for network request to execute, in milliseconds
        geoLocation:
          type: string
          deprecated: true
          description: >-
            Use `geoLocationInfo` property instead. It will be renamed to
            `geoLocation` soon
        geoLocationInfo:
          $ref: '#/components/schemas/RequestLogItemGeoLocation'
        mimeType:
          type: string
        fileInfo:
          $ref: '#/components/schemas/RequestLogItemFileInfo'
        responseSizeBytes:
          type: integer
        startedAt:
          $ref: '#/components/schemas/DateAndTime'
        startedAtRelativeToPageNavigation:
          type: integer
          format: int64
    RequestLogItemTag:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
    RequestLogItemGeoLocation:
      type: object
      required:
        - countryCode
        - countryName
      properties:
        countryCode:
          $ref: '#/components/schemas/CountryCode'
        countryName:
          type: string
    RequestLogItemFileInfo:
      type: object
      required:
        - filename
        - requestDomain
      properties:
        lastModifiedDate:
          $ref: '#/components/schemas/DateAndTime'
        filename:
          $ref: '#/components/schemas/RequestFilename'
        requestDomain:
          $ref: '#/components/schemas/RequestDomain'
    RequestLogItemFileChange:
      type: object
      description: >
        Available only for JavaScript files for now. Provided only for customers
        that have Privacy features available.
      required:
        - fileChangeType
      properties:
        fileChangeType:
          $ref: '#/components/schemas/AuditRun_FileChanges_FileChangeType'
        largestDateDifference:
          $ref: '#/components/schemas/AuditRun_FileChanges_DateDifferenceInMinutes'
        largestSizeDifference:
          $ref: '#/components/schemas/AuditRun_FileChanges_SizeDifferenceInBytes'
    TagInfoDTO:
      type: array
      items:
        $ref: '#/components/schemas/TagInfo'
    TagInfoDTOWithInsights:
      type: object
      properties:
        pageTagInsights:
          $ref: '#/components/schemas/TagInsights'
        pageTags:
          $ref: '#/components/schemas/TagInfoDTO'
    TagInsights:
      type: object
      properties:
        noOfTagRequests:
          type: integer
        noOfUniqueTags:
          type: integer
        noOfBrokenTags:
          type: integer
    TagInfo:
      type: object
      properties:
        name:
          type: string
        category:
          type: string
        tagId:
          type: integer
        pageTagInstances:
          type: array
          items:
            $ref: '#/components/schemas/TagInstance'
        relatedCookies:
          type: array
          items:
            $ref: '#/components/schemas/CookieOriginRequestDTO'
        tagRequestCount:
          type: integer
          description: Total number of tag requests on a page for given tag
        tagDuplicateRequestCount:
          type: integer
          description: Number of duplicate tag requests for given tag
        tagMultipleRequestCount:
          type: integer
          description: >-
            Number of multiple tag requests for given tag (tag requests that are
            not exact copies of each other and have the same account)
        tagUniqueRequestCount:
          type: integer
          description: Number of tag requests that do not have duplicates or multiples
    TagInstance:
      type: object
      properties:
        tagInstanceId:
          type: string
        account:
          type: string
        bytes:
          type: integer
        loadTime:
          type: integer
          format: int64
        duplicates:
          type: integer
        multiples:
          type: integer
        statusCode:
          type: integer
        tagInstanceVariables:
          type: array
          items:
            $ref: '#/components/schemas/Variable'
        relatedCookies:
          type: array
          items:
            $ref: '#/components/schemas/CookieOriginRequestDTO'
        harEntryIndex:
          $ref: '#/components/schemas/HarEntryIndex'
    Variable:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
    SparkLinesDTO:
      type: array
      items:
        $ref: '#/components/schemas/SparkLineDTO'
    SparkLineDTO:
      type: object
      properties:
        runId:
          type: number
        runCompletionDate:
          type: string
          format: date-time
        pageInsights:
          $ref: '#/components/schemas/SparkLinePageInsights'
    SparkLinePageInsights:
      type: object
      properties:
        loadTime:
          type: number
        statusCode:
          type: number
        size:
          type: number
    PageTrendsDTO:
      type: array
      items:
        $ref: '#/components/schemas/PageTrendDTO'
    PageTrendDTO:
      type: object
      properties:
        runId:
          type: integer
          format: int64
        runCompletionDate:
          type: string
          format: date-time
        trendName:
          type: string
        trendValue:
          type: integer
          format: int64
    PageSummaryTrendsDTO:
      type: object
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/PageSummaryTrendDTO'
    PageSummaryTrendDTO:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          properties:
            trendValue:
              type: integer
    AuditPage:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/PageId'
        url:
          type: string
        loadTime:
          type: number
        statusCode:
          type: integer
        size:
          type: number
    PageInfo:
      type: object
      properties:
        url:
          type: string
          deprecated: true
          description: Deprecated - use `initialPageUrl` instead
        initialPageUrl:
          type: string
          description: >-
            Initial page URL - before the first redirect. If there were no
            redirects, equal to `finalPageUrl`
        loadTime:
          type: number
        statusCode:
          type: integer
          deprecated: true
          description: Deprecated - use `initialStatusCode` instead
          example: 200
        initialStatusCode:
          type: integer
          description: >-
            Initial page status code - before the first redirect. If there were
            no redirects, equal to `finalStatusCode`
        size:
          type: number
        screenshot:
          type: string
        parent:
          type: object
          properties:
            pageId:
              type: string
            pageUrl:
              type: string
        finalPageUrl:
          type: string
          example: https://example.com/some-path
          description: >-
            Final page URL - after all redirects. If there were no redirects,
            equal to `initialPageUrl`
          maxLength: 11264
        finalStatusCode:
          type: integer
          description: >-
            Final status code - after all redirects. If there were no redirects,
            equal to `initialStatusCode`
          example: 302
        title:
          type: object
          description: Page title as displayed by browser
          example: My Cards - ObservePoint
        browserError:
          type: string
          description: error produced by browser upon opening the page
          example: >-
            This site can’t be reached. example.com’s server IP address could
            not be found. ERR_NAME_NOT_RESOLVED
        visitStartTimestamp:
          type: integer
          format: int64
          description: timestamp - GMT in milliseconds
          example: 1637944293
        visitEndTimestamp:
          type: integer
          format: int64
          description: timestamp - GMT in milliseconds
          example: 1637944293
        redirects:
          type: array
          description: NULL if page had no redirects. Does not include final page
          maxItems: 100
          items:
            $ref: '#/components/schemas/AuditRun_PageInfo_RedirectChainElement'
        links:
          $ref: '#/components/schemas/AuditRun_PageInfo_LinkSummary'
        onPageActionResults:
          description: >-
            (Optional) Present if failure/s is/are present in On-Page Actions
            execution
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/AuditActionResult'
        webVitalsSummary:
          $ref: '#/components/schemas/WebVitalsSummary'
        accessibilityChecksSummary:
          $ref: '#/components/schemas/AccessibilityChecksResults'
    AccessibilityChecksResults:
      type: object
      required:
        - configurationTags
        - issues
      properties:
        configurationTags:
          description: >-
            The tags used for the run configuration that indicate both version
            and conformance level
          type: array
          items:
            type: string
            description: The conformance levels of the checks
          example:
            - wcag2a
            - wcag21aa
            - wcag2aaa
            - wcag2aa
            - wcag21a
            - wcag22aa
        scores:
          $ref: '#/components/schemas/PageAccessibilityScores'
        issues:
          type: array
          items:
            $ref: '#/components/schemas/AccessibilityRuleResult'
        inconclusive:
          description: The accessibility checks that were inconclusive
          type: array
          items:
            $ref: '#/components/schemas/AccessibilityRuleResult'
          example:
            - id: color-contrast
              impact: serious
              description: Elements must meet enhanced color contrast ratio thresholds
              help: Elements must meet enhanced color contrast ratio thresholds
              helpUrl: https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced
              htmlElements:
                - html: >-
                    <span class='fl-heading-text'>Validate Your Privacy, Landing
                    Pages, and Analytics</span>
                  htmlCssSelectors:
                    - h1
                    - .fl-heading-text
                  failureSummary: >-
                    Fix any of the following: Element's background color could
                    not be determined due to a background image
    PageAccessibilityScores:
      type: object
      description: >-
        The accessibility scores for the page based on different WCAG versions
        and conformance levels
      required:
        - wcag2a
        - wcag2aa
        - wcag2aaa
        - wcag21a
        - wcag21aa
        - wcag21aaa
        - wcag22a
        - wcag22aa
        - wcag22aaa
      properties:
        wcag2a:
          $ref: '#/components/schemas/PageScoreValue'
        wcag2aa:
          $ref: '#/components/schemas/PageScoreValue'
        wcag2aaa:
          $ref: '#/components/schemas/PageScoreValue'
        wcag21a:
          $ref: '#/components/schemas/PageScoreValue'
        wcag21aa:
          $ref: '#/components/schemas/PageScoreValue'
        wcag21aaa:
          $ref: '#/components/schemas/PageScoreValue'
        wcag22a:
          $ref: '#/components/schemas/PageScoreValue'
        wcag22aa:
          $ref: '#/components/schemas/PageScoreValue'
        wcag22aaa:
          $ref: '#/components/schemas/PageScoreValue'
    PageScoreValue:
      type: number
      format: double
      description: Page accessibility score in %, 1 digit after decimal point
      minimum: 0
      maximum: 100
    AccessibilityRuleResult:
      type: object
      required:
        - id
        - impact
        - description
        - help
        - wcagVersion
        - wcagConformanceLevel
        - successCriteria
        - htmlElements
      properties:
        id:
          type: string
          description: The unique identifier for the evaluated rule
        impact:
          type: string
          description: The impact of the issue
          enum:
            - minor
            - moderate
            - serious
            - critical
        description:
          type: string
          description: The description of the issue
        help:
          type: string
          description: The help text for the issue
          example: Elements must meet enhanced color contrast ratio thresholds
        wcagVersion:
          type: string
          description: The WCAG version that the issue is associated with
          example: '2.1'
        wcagConformanceLevel:
          type: string
          description: The WCAG conformance level that the issue is associated with
          example: AA
        successCriteria:
          description: List of success criteria that the issue is associated with
          type: array
          items:
            $ref: '#/components/schemas/AccessibilitySuccessCriteria'
        htmlElements:
          type: array
          items:
            $ref: '#/components/schemas/AccessibilityTestedElement'
          minItems: 1
    AccessibilityTestedElement:
      type: object
      required:
        - html
      properties:
        failureSummary:
          type: string
          description: Summary of all rule criteria which failed and needs to be resolved.
          example: >-
            Fix any of the following: Element has insufficient color contrast of
            6.14 (foreground color: #5d5d5d, background color: #f7f7f7, font
            size: 12.0pt (16px), font weight: normal). Expected contrast ratio
            of 7:1
        fixOneOf:
          type: array
          description: >-
            List of rule criteria where at least one must pass for the rule to
            be considered passing.
          items:
            type: string
        fixAllOf:
          type: array
          description: >-
            List of rule criteria where all must pass for the rule to be
            considered passing.
          items:
            type: string
        doNoneOf:
          type: array
          description: >-
            List of rule criteria where all must not pass for the rule to be
            considered passing.
          items:
            type: string
        html:
          type: string
          description: The html for the node
          example: >-
            <span style='font-weight: 400;'>(without 10 new QA
            headcount.)</span>
        htmlCssSelectors:
          description: The html/css selector for the issue
          type: array
          items:
            type: string
        shadowDomCssSelectors:
          description: >-
            This points to an element in a shadow DOM and each item (except the
            n-1th) in this array is a selector to a DOM element with a shadow
            DOM. The last element in the array points to the final node within
            the shadow DOM.
          type: array
          items:
            type: array
            items:
              type: string
    AccessibilitySuccessCriteria:
      type: object
      required:
        - wcagSuccessCriteria
      properties:
        wcagSuccessCriteria:
          type: string
          description: The WCAG success criteria that the issue is associated with
          example: 1.4.6
        w3Link:
          type: string
          description: The link to the W3 page for the issue
          example: https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced
    WebVitalsSummary:
      type: object
      description: Google's Web Vitals metrics for a given page
      required:
        - largestContentfulPaint
        - cumulativeLayoutShift
        - firstContentfulPaint
        - timeToFirstByte
      properties:
        largestContentfulPaint:
          $ref: '#/components/schemas/WebVitalDetails'
        cumulativeLayoutShift:
          $ref: '#/components/schemas/WebVitalDetails'
        firstContentfulPaint:
          $ref: '#/components/schemas/WebVitalDetails'
        timeToFirstByte:
          $ref: '#/components/schemas/WebVitalDetails'
    WebVitalDetails:
      type: object
      description: Specific details for a given Web Vital
      required:
        - pass
        - warnThreshold
        - failThreshold
      properties:
        value:
          type: number
          format: double
          description: The value of the Web Vital.  May also be null.
          example: 1234.56
        pass:
          type: boolean
          description: Whether the Web Vital is beneath the warning threshold
        warnThreshold:
          type: number
          format: double
          description: The threshold for the vital to be in a warning state
          example: 1234
        failThreshold:
          type: number
          format: double
          description: The threshold for the vital to be in a fail state
          example: 1234
    AuditFailureResults:
      type: object
      required:
        - preAuditActionResults
      properties:
        preAuditActionResults:
          $ref: '#/components/schemas/PreAuditActionResults'
        onPagesActionResults:
          $ref: '#/components/schemas/OnPagesActionResults'
        startingUrlResults:
          $ref: '#/components/schemas/StartingUrlResults'
    PreAuditActionResults:
      type: object
      required:
        - zeroAndOut
      properties:
        zeroAndOut:
          description: >-
            Indicates whether pre-audit actions failed executing in all
            allocated engine containers.
          type: boolean
        preAuditActionFailures:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/AuditActionResult'
          description: >
            Pre-audit action results failures. A a set of failed actions with
            their failure messages.

            Uniqueness is determined by the combination of `failureMessage` and
            `auditActionSnapshotId`.
    OnPagesActionResults:
      description: >-
        (Optional) Present if failure/s is/are present for any Page's On-Page
        Actions execution
      type: object
      required:
        - totalConfiguredCount
        - totalFailedCount
        - resultsSample
      properties:
        totalConfiguredCount:
          type: integer
          description: >-
            Total number of pages configured with On-Page Actions for the Audit
            run
        totalFailedCount:
          type: integer
          description: Total number of Pages in the Audit run with On-Page Action failures
        resultsSample:
          description: A sample of On-Page actions failures.
          type: array
          minItems: 1
          maxItems: 3
          items:
            $ref: '#/components/schemas/OnPagesActionResultItem'
    OnPagesActionResultItem:
      type: object
      required:
        - pageUrl
        - results
      properties:
        pageUrl:
          type: string
        results:
          type: array
          items:
            $ref: '#/components/schemas/AuditActionResult'
    StartingUrlResults:
      type: object
      description: |
        Provide information for the following use cases:
          One and Out - All starting URLs failed to launch
          One and Out - All links found were excluded by filters
      required:
        - failureType
      properties:
        failureType:
          description: |
            Possible types:
              - `no_links_scanned_one_and_out` All conditions must be met:
                1. Number of scanned pages matches number of starting URLs
                2. Scan limit is higher than number of scanned pages
                3. At least 1 link has been excluded.
              - `all_starting_urls_failed_one_and_out` Flag indicating if all starting Urls failed navigation. 
                Navigation resulted in status codes:
                 - zero
                 - 403 
                 - 500+
                Details for this data is available from the page summary pages endpoint
              - `all_starting_urls_failed_zero_and_out` Flag indicating if all starting Urls failed navigation but without records.
          type: string
          enum:
            - no_links_scanned_one_and_out
            - all_starting_urls_failed_one_and_out
            - all_starting_urls_failed_zero_and_out
        linksExcludedSample:
          description: >
            (Optional) Present if failureType is `no_links_scanned_one_and_out` 

            A sample of links found from starting URLs that were excluded from
            the audit.
          type: array
          minItems: 1
          maxItems: 10
          items:
            $ref: '#/components/schemas/PageUrl'
        startingUrlFailures:
          description: >-
            (Optional) Present when `all_starting_urls_failed_one_and_out` is
            true
          type: array
          items:
            $ref: '#/components/schemas/StartingUrlFailureItem'
    StartingUrlFailureItem:
      required:
        - statusCode
        - pageCount
      properties:
        statusCode:
          $ref: '#/components/schemas/PageStatusCode'
        pageCount:
          type: integer
        browserError:
          type: string
          description: error produced by browser upon opening the page
          example: >-
            This site can’t be reached. example.com’s server IP address could
            not be found. ERR_NAME_NOT_RESOLVED
    AuditActionResult:
      type: object
      required:
        - auditActionSnapshotId
        - failureMessage
      properties:
        auditActionSnapshotId:
          $ref: '#/components/schemas/AuditActionSnapshotId'
        failureMessage:
          type: string
    UrlMatchingAuditConfigurationFilterValidationResult:
      type: object
      required:
        - totalFilterCount
        - totalAppliedFilterCount
        - maxAllowedFilterCount
        - includeFilters
        - excludeFilters
      properties:
        totalFilterCount:
          description: >-
            Total number of audit page filters configured in particular audit
            run.
          type: integer
        totalAppliedFilterCount:
          description: >
            Number of audit page filters which would be applied for
            `pageUrlMatchingAuditFilterConfiguration` REPORT filter.
          type: integer
        maxAllowedFilterCount:
          description: >
            Maximum number of audit page filters
            `pageUrlMatchingAuditFilterConfiguration` REPORT filter will use.

            Only firsts `maxAllowedFiltersCount` filters will be used.
          type: integer
        includeFilters:
          $ref: '#/components/schemas/UrlMatchingAuditConfigurationFiltersInfo'
        excludeFilters:
          $ref: '#/components/schemas/UrlMatchingAuditConfigurationFiltersInfo'
    UrlMatchingAuditConfigurationFiltersInfo:
      description: >-
        Information about not applied filters of specific type
        (INCLUDE|EXCLUDE).
      type: object
      required:
        - totalCount
        - appliedCount
        - notApplied
      properties:
        totalCount:
          description: Total number of audit page filters of specific type
          type: integer
        appliedCount:
          description: Number of applied audit page filters of specific type
          type: integer
        notApplied:
          description: Not applied audit page filters of specific type grouped by reason
          type: array
          minItems: 0
          maxItems: 2
          items:
            $ref: >-
              #/components/schemas/NotAppliedUrlMatchingAuditConfigurationFilters
    NotAppliedUrlMatchingAuditConfigurationFilters:
      type: object
      required:
        - count
        - reason
        - filters
      properties:
        count:
          description: Number of not applied audit page filters of specific type and reason
          type: integer
        reason:
          $ref: >-
            #/components/schemas/UrlMatchingAuditConfigurationFilterNotAppliedReasonEnum
        filters:
          description: List of not applied audit page filters (limited to 50)
          type: array
          minItems: 0
          maxItems: 50
          items:
            type: string
    UrlMatchingAuditConfigurationFilterNotAppliedReasonEnum:
      type: string
      enum:
        - MAX_ALLOWED_FILTERS_LIMIT_EXCEEDED
        - UNSUPPORTED_REGEX_SEQUENCES
    PageErrorsFilter:
      type: object
      description: >
        non-empty list of kinds of errors present on a page, depends on
        `filterType`:

        - `ALL`: page has all types of errors specified in `errorTypes` list

        - `ANY`: page has any type of errors present in specified `errorTypes`
        list
      required:
        - filterType
        - errorTypes
      properties:
        filterType:
          $ref: '#/components/schemas/PageErrorsFilterTypeEnum'
        errorTypes:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/PageErrorTypeEnum'
    PageErrorsFilterTypeEnum:
      type: string
      enum:
        - ALL
        - ANY
    PageErrorTypeEnum:
      type: string
      enum:
        - ON_PAGE_ACTION_ERROR
    AuditRun_PageInfo_LinkSummary:
      type: object
      required:
        - linkToInitialUrlCount
        - linkToFinalUrlCount
      properties:
        linkToInitialUrlCount:
          type: integer
          example: 32
        linkToFinalUrlCount:
          type: integer
          example: 12
        linksFromThisPageV2:
          type: object
          required:
            - scannedInternalSuccessfulPageCount
            - scannedInternalBrokenPageCount
            - scannedExternalSuccessfulPageCount
            - scannedExternalBrokenPageCount
            - unscannedInternaLinkCount
            - unscannedExternaLinkCount
          properties:
            scannedInternalSuccessfulPageCount:
              type: integer
            scannedInternalBrokenPageCount:
              type: integer
            scannedExternalSuccessfulPageCount:
              type: integer
            scannedExternalBrokenPageCount:
              type: integer
            unscannedInternaLinkCount:
              type: integer
            unscannedExternaLinkCount:
              type: integer
    AuditRun_PageInfo_RedirectChainElement:
      type: object
      required:
        - statusCode
        - url
        - type
      properties:
        statusCode:
          type: integer
          example: 302
        url:
          type: string
          example: https://example.com
          maxLength: 11264
        type:
          $ref: '#/components/schemas/BrowserRedirectType'
    BrowserRedirectType:
      type: string
      enum:
        - SERVER_SIDE
        - CLIENT_SIDE
    AuditRun_PageInfo_LinkDirection:
      type: string
      enum:
        - to_this_page
        - from_this_page
    AuditRun_PageInfo_LinkDownloadOptionEnum:
      type: string
      enum:
        - to_internal_pages
        - to_external_pages
        - to_urls_not_audited
    AuditRun_PageInfo_ThisUrlTypeEnum:
      type: string
      enum:
        - initial
        - final
    AuditRun_PageInfo_LinksDTO:
      type: object
      required:
        - links
      properties:
        links:
          type: array
          maxItems: 1000
          items:
            $ref: '#/components/schemas/AuditRun_PageInfo_LinkItem'
    AuditRun_PageInfo_LinkItem:
      type: object
      required:
        - initial_page_url
        - initial_page_status_code
        - final_page_url
        - final_page_status_code
        - page_linked_from_url
        - outer_html
      properties:
        initial_page_url:
          type: string
          description: URL initially opened by engine
        initial_page_status_code:
          type: integer
          description: Initial status code observed by engine
        final_page_url:
          type: string
          description: >-
            Final URL after all redirects. If no redirects, equal to
            `initial_page_url`
        final_page_status_code:
          type: integer
          description: >-
            Final status code observed by engine after all redirects. If no
            redirects, equal to `initial_page_status_code`
        page_linked_from_url:
          type: string
          description: URL of another page that has link to this page
        outer_html:
          type: string
          maxLength: 500
          example: >-
            <a href='https://www.iana.org/domains/example'>More
            information...</a>
    AuditRun_PageDetails_TrendsEnum:
      type: string
      enum:
        - pageSize
        - pageLoadTime
      example: pageSize
    FileMappingMatchTypeEnum:
      type: integer
      enum:
        - 1
        - 2
      description: 1 - success, 2 - failure
    FileMappingResultsDTO:
      type: object
      properties:
        remoteFileMappingId:
          type: integer
        match:
          type: string
        matchType:
          $ref: '#/components/schemas/FileMappingMatchTypeEnum'
        fileUrl:
          type: string
        mappedRequests:
          type: array
          items:
            type: string
    AuditRun_Pages_DTO:
      description: DTO returning pages of a particular run in paged way.
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditPage'
    AuditRun_PagesSort:
      description: possible ways to sort pages in a given run
      type: string
      enum:
        - url
        - load_time
        - status_code
        - size
    CookieDTO:
      type: object
      properties:
        name:
          type: string
        domain:
          type: string
      description: Cookie name and domain
    CookieTrait:
      type: object
      required:
        - name
        - value
        - domain
        - path
        - httpOnly
        - secure
        - sameSite
        - expires
      properties:
        name:
          type: string
        value:
          type: string
        domain:
          type: string
        path:
          type: string
        httpOnly:
          type: boolean
        secure:
          type: boolean
        sameSite:
          type: string
        expires:
          type: string
    CookieChangeSnapshot:
      type: object
      allOf:
        - $ref: '#/components/schemas/CookieTrait'
        - type: object
          required:
            - partyType
          properties:
            partyType:
              $ref: '#/components/schemas/CookiePartyType'
            cookieTTL:
              type: integer
              description: >-
                difference (in minutes) between cookie expiration and cookie set
                time (page scan) cookieTTL
              format: int64
    Cookie:
      type: object
      allOf:
        - $ref: '#/components/schemas/CookieTrait'
        - type: object
          required:
            - expirationTimestamp
            - opChangeType
          properties:
            expirationTimestamp:
              type: integer
              format: int64
            opChangeType:
              $ref: '#/components/schemas/CookieChangeTypeEnum'
    WebJourneyActionCookieItem:
      type: object
      allOf:
        - $ref: '#/components/schemas/FullCookieTrait'
        - type: object
          properties:
            expirationTimestamp:
              type: integer
              format: int64
            opChangeType:
              $ref: '#/components/schemas/CookieChangeTypeEnum'
    FullCookieTrait:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        domain:
          type: string
        path:
          type: string
        httpOnly:
          type: boolean
        secure:
          type: boolean
        samesite:
          type: string
        expires:
          type: string
        partyType:
          $ref: '#/components/schemas/CookiePartyType'
        origin:
          $ref: '#/components/schemas/CookieOriginDto'
        initiators:
          type: array
          items:
            $ref: '#/components/schemas/CookieInitiator'
        partitionKey:
          type: string
    BaseCookieInsights:
      type: object
      required:
        - noOfUniqueCookies
        - noOfUniqueDomains
        - noOf3rdPartyCookies
      properties:
        noOfUniqueCookies:
          type: integer
        noOfUniqueDomains:
          type: integer
        noOf3rdPartyCookies:
          type: integer
    AuditCookieInsights:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseCookieInsights'
    WebJourneyCookieInsights:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseCookieInsights'
    AuditPageCookiesDTO:
      type: object
      required:
        - insights
        - cookies
      properties:
        insights:
          $ref: '#/components/schemas/AuditCookieInsights'
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/AuditPageCookieItem'
    AuditPageCookieItem:
      type: object
      description: >-
        When `getOrigins` is `true`, will include `changes` array and
        `uniqueInitiatorCount`, but `initiators` array won't be included
      allOf:
        - $ref: '#/components/schemas/FullCookieTrait'
        - type: object
          properties:
            ttlInMinutes:
              type: integer
              format: int64
            uniqueInitiatorCount:
              type: integer
            changes:
              type: array
              items:
                $ref: '#/components/schemas/AuditPageCookieChangeItem'
    WebJourneyActionCookiesDTO:
      type: object
      required:
        - insights
        - create
      properties:
        insights:
          $ref: '#/components/schemas/WebJourneyCookieInsights'
        create:
          type: array
          items:
            $ref: '#/components/schemas/WebJourneyActionCookieItem'
    CookieOriginRequestDTO:
      type: object
      properties:
        name:
          type: string
        domain:
          type: string
        path:
          type: string
    BaseCookieChangeActionTrait:
      type: object
      required:
        - sequence
        - label
      properties:
        sequence:
          type: integer
        label:
          type: string
    BaseResponseCookieChangeItemTrait:
      type: object
      required:
        - cookieChangeType
        - cookie
      properties:
        cookieChangeType:
          $ref: '#/components/schemas/CookieChangeTypeEnum'
        cookie:
          $ref: '#/components/schemas/CookieChangeSnapshot'
    AuditCookieChangeAction:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseCookieChangeActionTrait'
        - type: object
          required:
            - actionSnapshotId
          properties:
            actionSnapshotId:
              type: integer
    AuditPageCookieChangeItem:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseResponseCookieChangeItemTrait'
        - type: object
          required:
            - action
            - initiators
            - cookieOriginType
          properties:
            action:
              $ref: '#/components/schemas/AuditCookieChangeAction'
            initiators:
              type: array
              items:
                $ref: '#/components/schemas/CookieChangeInitiator'
            cookieOriginType:
              $ref: '#/components/schemas/CookieOriginTypeEnum'
    AuditPageCookieOriginResponseDTO:
      type: object
      required:
        - changes
      properties:
        changes:
          type: array
          items:
            $ref: '#/components/schemas/AuditPageCookieChangeItem'
    WebJourneyCookieChangeAction:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseCookieChangeActionTrait'
    WebJourneyResponseCookieChangeItem:
      type: object
      allOf:
        - $ref: '#/components/schemas/BaseResponseCookieChangeItemTrait'
        - type: object
          required:
            - action
            - initiators
          properties:
            initiators:
              type: array
              items:
                $ref: '#/components/schemas/BaseCookieInitiator'
            action:
              $ref: '#/components/schemas/WebJourneyCookieChangeAction'
    WebJourneyResponseCookieOriginDto:
      type: object
      required:
        - changes
      properties:
        changes:
          type: array
          items:
            $ref: '#/components/schemas/WebJourneyResponseCookieChangeItem'
    WebJourneyRunCookieOrigin:
      type: object
      required:
        - totalCookieActionCount
        - totalCookieInitiatorCount
        - actions
      properties:
        totalCookieActionCount:
          type: integer
        totalCookieInitiatorCount:
          type: integer
        actions:
          type: array
          items:
            $ref: '#/components/schemas/WebJourneyRunCookieOriginAction'
    WebJourneyRunCookieOriginAction:
      type: object
      required:
        - action
        - cookieChangeType
        - initiators
        - cookie
      properties:
        action:
          $ref: '#/components/schemas/WebJourneyCookieChangeAction'
        cookieChangeType:
          $ref: '#/components/schemas/CookieChangeTypeEnum'
        initiators:
          type: array
          items:
            $ref: '#/components/schemas/CookieChangeInitiator'
        cookie:
          $ref: '#/components/schemas/CookieChangeSnapshot'
    CookieChangeInitiator:
      allOf:
        - $ref: '#/components/schemas/BaseCookieInitiator'
        - type: object
          description: >-
            Only `HTTP` initiator have `requestUrl` and `harEntryIndex`
            properties
          properties:
            line:
              type: integer
              description: The line number in the JS file that created the cookie
            column:
              type: integer
              description: The column number in the JS file that created the cookie
            harEntryIndex:
              $ref: '#/components/schemas/HarEntryIndex'
    BaseCookieInitiator:
      type: object
      required:
        - initiatorType
      properties:
        initiatorType:
          $ref: '#/components/schemas/CookieInitiatorTypeEnum'
        tagId:
          type: integer
          description: >-
            Will include a tag ID when a specific tag signature has been matched
            to initiating requests
        requestUrl:
          type: string
          description: |
            For `initiatorType`:
              - `HTTP` - `requestUrl` will be the URL of the request that created the cookie
              - `APP`, `OP_ACTION`, `UNKNOWN` - This field will be undefined
    CookieInitiatorTypeEnum:
      type: string
      description: Type of event that created the cookie
      enum:
        - HTTP
        - APP
        - OP_ACTION
        - UNKNOWN
    CookieInitiatorAppSourceTrait:
      type: object
      description: >-
        The source of the JavaScript that created the cookie. This object is
        only applicable for cookies with initiators of type `APP`
      required:
        - file
        - line
        - column
      properties:
        file:
          type: string
          description: The file-name in URL format of the JS file that created the cookie
        line:
          type: integer
          description: The line number in the JS file that created the cookie
        column:
          type: integer
          description: The column number in the JS file that created the cookie
    CookieInitiatorAppSource:
      allOf:
        - $ref: '#/components/schemas/CookieInitiatorAppSourceTrait'
        - type: object
          required:
            - harEntryIndex
          properties:
            harEntryIndex:
              type: integer
              description: HAR entry index of the JS file request
    GeoLocationDTO:
      type: object
      properties:
        id:
          type: integer
        countryCode:
          type: integer
        countryName:
          type: string
    RequestDomainDTO:
      type: array
      items:
        $ref: '#/components/schemas/RequestDomainParsingResult'
    RequestDomainParsingResult:
      oneOf:
        - $ref: '#/components/schemas/RequestDomainDTO-parsed1'
        - $ref: '#/components/schemas/RequestDomainDTO-parsed2'
        - $ref: '#/components/schemas/RequestDomainDTO-failedToParse'
    RequestDomainDTO-parsed1:
      type: object
      properties:
        domain:
          type: string
          example: observepoint.com
        scheme:
          type: string
          example: https
        isValid:
          type: boolean
          example: true
    RequestDomainDTO-parsed2:
      type: object
      properties:
        domain:
          type: string
          example: obs_ervepoint.com
        scheme:
          type: string
          example: https
        isValid:
          type: boolean
          example: false
    RequestDomainDTO-failedToParse:
      type: object
      properties:
        isValid:
          type: boolean
          example: false
        OriginalUrl:
          type: string
          example: fadsjguianvasnkd
    PageInsightsResponse:
      type: object
      properties:
        pagesFiltered:
          type: integer
        totalPages:
          type: integer
        averagePageLoadTime:
          type: integer
        brokenPages:
          type: integer
          deprecated: true
        pagesWithBrokenInitialStatusCode:
          type: integer
        pagesWithBrokenFinalStatusCode:
          type: integer
        pageCountByLoadTimes:
          type: object
          properties:
            below3:
              type: integer
            3to6:
              type: integer
            6to10:
              type: integer
            10andAbove:
              type: integer
        pageCountsByInitialStatusCodes:
          $ref: '#/components/schemas/PageInsightsResponsePageCountsByStatusCodes'
        pageCountsByFinalStatusCodes:
          $ref: '#/components/schemas/PageInsightsResponsePageCountsByStatusCodes'
        pagesWithBrokenLinks:
          type: integer
          description: Count of all pages that have broken links pointing to other pages
        webVitals:
          $ref: '#/components/schemas/AuditRun_PageSummary_AggregatedRunWebVitals'
    PageInsightsResponsePageCountsByStatusCodes:
      type: object
      properties:
        good:
          type: integer
        redirects:
          type: integer
        broken:
          type: integer
    InsightsByPageResponse:
      allOf:
        - $ref: '#/components/schemas/AuditRun_PageWebVitals'
        - type: object
          properties:
            pageId:
              type: string
            dataCollectionUuid:
              type: string
            pageUrl:
              type: string
            finalPageUrl:
              type: string
            pageTitle:
              type: string
            pageLoadTime:
              type: integer
            pageStatusCode:
              type: integer
              deprecated: true
              description: >-
                Deprecated, use `initialPageStatusCode` & `finalPageStatusCode`
                instead
            initialPageStatusCode:
              type: integer
            finalPageStatusCode:
              type: integer
            redirectCount:
              type: integer
              description: >-
                Number of redirects from initialUrl to finalUrl of the page or 0
                if none
            size:
              type: integer
              format: int64
            browserError:
              type: string
              description: error produced by browser upon opening the page
              example: >-
                This site can’t be reached. example.com’s server IP address
                could not be found. ERR_NAME_NOT_RESOLVED
    PageSummarySparkLinesDTO:
      type: object
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/PageSummarySparkLineDTO'
    PageSummarySparkLineDTO:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          properties:
            averagePageLoadTime:
              type: integer
            pagesWithBrokenInitialStatusCode:
              type: integer
            pagesWithBrokenFinalStatusCode:
              type: integer
            pagesWithBrokenLinks:
              type: integer
    AuditRun_PageSummary_TrendsEnum:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      type: string
      enum:
        - avg_page_load_time
        - broken_initial_page
        - broken_final_page
        - pages_with_broken_links
    PageSummaryPagesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/InsightsByPageResponse'
    PageSummaryRequestDTO:
      type: object
      description: Filter `pageStatusCode` is deprecated
      properties:
        pageLoadTime:
          $ref: '#/components/schemas/PageLoadTimeFilter'
        pageUrl:
          $ref: '#/components/schemas/PageUrlFilter'
        finalPageUrl:
          $ref: '#/components/schemas/PageUrlFilter'
        pageStatusCode:
          $ref: '#/components/schemas/StatusCodeEnum'
        pageSize:
          $ref: '#/components/schemas/PageSizeFilter'
        primaryTagsOnly:
          type: boolean
        tagId:
          type: integer
        tagCategoryId:
          type: integer
        tagAccount:
          type: string
        tagVendorId:
          $ref: '#/components/schemas/TagVendorId'
        pageTitle:
          $ref: '#/components/schemas/PageTitleFilter'
        initialPageStatusCode:
          $ref: '#/components/schemas/IntegerFilter'
        finalPageStatusCode:
          $ref: '#/components/schemas/IntegerFilter'
        hasBrokenLinks:
          type: boolean
        redirectCount:
          $ref: '#/components/schemas/PageRedirectCountFilter'
        combinedPageStatusCode:
          $ref: '#/components/schemas/CombinedPageStatusCodeEnum'
        hasParentPage:
          type: boolean
          description: >
            Usage:

            - `false` - only pages that do not have a parent page will be
            returned - starting URLs 

            - `true` - only pages that have a parent page will be returned -
            pages that were discovered during crawling

            - `null` or undefined - all pages will be returned.
        pageUrlMatchingAuditFilterConfiguration:
          type: boolean
        errors:
          $ref: '#/components/schemas/PageErrorsFilter'
        largestContentfulPaint:
          $ref: '#/components/schemas/IntegerRangeFilterTrait'
        firstContentfulPaint:
          $ref: '#/components/schemas/IntegerRangeFilterTrait'
        timeToFirstByte:
          $ref: '#/components/schemas/IntegerRangeFilterTrait'
        cumulativeLayoutShift:
          $ref: '#/components/schemas/DoubleRangeFilterTrait'
    AuditRun_PageSummary_PagesSortColumn:
      type: string
      enum:
        - page_url
        - page_status_code
        - size
        - page_load_time
        - final_page_url
        - page_title
        - initial_page_status_code
        - final_page_status_code
        - redirect_count
        - largest_contentful_paint
        - first_contentful_paint
        - time_to_first_byte
        - cumulative_layout_shift
    PagesWithJsVariablesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/S3IterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/PageWithJsVariables'
    PageWithJsVariables:
      type: object
      required:
        - pageId
        - pageUrl
        - pageInitialStatusCode
        - pageFinalStatusCode
        - variables
      properties:
        pageId:
          $ref: '#/components/schemas/PageId'
        pageUrl:
          $ref: '#/components/schemas/PageUrl'
        pageInitialStatusCode:
          $ref: '#/components/schemas/PageStatusCode'
        pageFinalStatusCode:
          $ref: '#/components/schemas/PageStatusCode'
        variables:
          description: All JS variables found on specific page
          type: array
          items:
            $ref: '#/components/schemas/JsVariable'
    JsVariable:
      type: object
      required:
        - name
        - value
      properties:
        name:
          description: Name of collected JS variable
          example: dataLayer
          type: string
        value:
          description: |
            Raw value of collected JS variable as it appeared on a page. 
            Can be any value - string, number, boolean, array, object or `null`
          nullable: true
          type: object
    S3IterableResponseMetadata:
      description: Metadata for iterable results from S3
      type: object
      required:
        - pagination
      properties:
        pagination:
          $ref: '#/components/schemas/S3PaginationMetadata'
    S3PaginationMetadata:
      description: >
        Represents pagination metadata for results from S3, where each result
        page contains multiple pageIds.

        It's not possible to efficiently get total count of files in S3, so
        metadata is missing fields like `totalCount` and `totalPageCount`
      type: object
      required:
        - pageSize
        - currentPageSize
        - lastPageId
      properties:
        pageSize:
          description: >-
            Page size - number of items per result page configured by `size`
            query parameter or default page size
          example: 50
          type: integer
        currentPageSize:
          description: Number of items in current result page
          example: 1
          type: integer
        lastPageId:
          description: >
            Last pageId on current result page, pass it as `startAfterPageId`
            query param to retrieve next page.

            Null if no items were returned
          example: f9d32cc7cc2046d6decb145a80289287f5226323
          type: string
          nullable: true
    AccountUsage_RequestDTO:
      description: Request body without filters for Account Usage report
      type: object
      properties:
        dummyValue:
          type: string
          description: Necessary value to generate DTO
    AuditRun_AuditSummary_RequestDTO:
      description: Request body with filters for Audit Summary report
      type: object
      properties:
        primaryTagsOnly:
          type: boolean
          description: >-
            (This filter option no longer works due to the response body change
            on May 2021) if true then return only pages/tags with primary tags
            else return all pages/tags
        tagId:
          $ref: '#/components/schemas/TagId'
        tagCategoryId:
          $ref: '#/components/schemas/TagCategoryId'
        tagVendorId:
          $ref: '#/components/schemas/TagVendorId'
    AuditRun_RuleResultsSummaryDTO:
      description: >-
        `Total Pages` + `Rules Applied` + `Rule Instances by Status` + `Pages by
        Rule Status`
      allOf:
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
        - $ref: '#/components/schemas/AuditRunRuleCountTrait'
        - type: object
          required:
            - totalPageCount
            - filteredPageCount
            - totalRuleCount
            - filteredRuleCount
            - totalRuleFailureCount
            - filteredRuleFailureCount
          properties:
            totalPageCount:
              type: integer
              description: Total number of pages audited
            filteredPageCount:
              type: integer
              description: Number of pages passing all applied filters
            totalRuleCount:
              type: integer
              description: Total number of rules applied to an audit run
            filteredRuleCount:
              type: integer
              description: Number of rules passing all applied filters
            totalRuleFailureCount:
              type: integer
              description: >-
                Total number of rule failures (counted for every rule on every
                page)
            filteredRuleFailureCount:
              type: integer
              description: >-
                Number of rule failures (counted for every rule on every page)
                passing all applied filters
    AuditRun_AuditSummary_SummaryDTO:
      description: >-
        Audit Summary data. This endpoint will only provide unique primary tags
        data. the rest should be retrieved from tag-inventory :
        getAuditRunTagInventorySummary
      type: object
      required:
        - totalUniquePrimaryTagCount
        - filteredUniquePrimaryTagCount
      properties:
        totalUniquePrimaryTagCount:
          type: integer
          description: >-
            Total number of tag vendors selected as account primary tags
            discovered during an audit run
        filteredUniquePrimaryTagCount:
          type: integer
          description: >-
            Number of tag vendors selected as account primary tags passing all
            applied filters
    AuditRun_RuleSummary_RuleResults_AllTrendsDTO:
      description: >-
        Audit rule results trends overview (a.k.a. trendlines a.k.a. sparklines)
        for both `Rule Instances by Status` + `Pages by Rule Status`
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_RuleResults_AllTrendsItem'
    AuditRun_RuleResults_AllTrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
        - $ref: '#/components/schemas/AuditRunRuleCountTrait'
    AuditRun_RuleSummary_RuleResultsTrendDTO:
      description: Audit rule results trend values
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRunRuleResultsTrendItem'
    AuditRunRuleResultsTrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - $ref: '#/components/schemas/AuditRunRuleCountTrait'
    AuditRun_RuleSummary_RuleResults_PageCountTrendDTO:
      description: Audit rule results page count trend values
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRunRuleResultsPageCountTrendItem'
    AuditRunRuleResultsPageCountTrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
    AuditRun_RuleSummary_RuleCountTrendDTO:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - ruleCount
            - ruleFailureCount
          properties:
            ruleCount:
              type: integer
              description: Number of rules applied to an audit run
            ruleFailureCount:
              type: integer
              description: Number of rule failures (counted for every rule on every page)
    AuditRun_AuditSummary_TrendsDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AuditSummary_TrendItem'
    AuditRun_AuditSummary_TrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalBrokenPageCount
            - totalUniqueTagCount
            - totalBrokenTagCount
          properties:
            totalBrokenPageCount:
              type: integer
              description: Total number of broken pages
            totalUniqueTagCount:
              type: integer
              description: Total number of unique tag vendors
            totalBrokenTagCount:
              type: integer
              description: >-
                Total number of broken tag requests (0, 400+ or 500+ HTTP status
                code)
    AuditRun_AuditSummary_TrendsEnum:
      type: string
      enum:
        - unique_tags
        - broken_tags
        - broken_pages
    AuditRun_RuleSummary_AllRuleResultsOverviewDTO:
      description: '`Rule Details by Page` - all rules overview'
      type: object
      required:
        - rules
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AllRuleResultsItem'
    AuditRun_AllRuleResultsItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
        - type: object
          required:
            - ruleSnapshotId
            - name
            - tags
            - hasEmailNotification
            - emailRecipients
          properties:
            ruleSnapshotId:
              $ref: '#/components/schemas/RuleSnapshotId'
            originalRuleId:
              $ref: '#/components/schemas/RuleId'
            ruleConfigExists:
              type: boolean
              description: If false, the rule config doesn't exist anymore
            name:
              type: string
              description: Rule name
            tags:
              type: array
              description: List of tags checked in the rule
              items:
                $ref: '#/components/schemas/TagInfoTrait'
            hasEmailNotification:
              type: boolean
            emailRecipients:
              type: array
              items:
                type: string
                format: email
    AuditRun_RuleSummary_SpecificRuleResultsDTO:
      description: '`Rule Details by Page` - single rule details'
      allOf:
        - $ref: '#/components/schemas/AuditRun_AllRuleResultsItem'
        - type: object
          required:
            - pageFilters
            - tags
          properties:
            originalRuleId:
              description: >-
                ID of an original rule snapshot has been taken from. May not be
                available if the rule doesn't exist anymore
              type: integer
              format: int64
            pageFilters:
              type: array
              items:
                $ref: '#/components/schemas/PageFilterSnapshot'
            tags:
              type: array
              items:
                $ref: '#/components/schemas/RuleTagSnapshot'
    PageFilterSnapshot:
      allOf:
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
        - type: object
          description: >-
            same as v2 `PageFilter` but with snapshot ID and page count per rule
            outcome
          required:
            - pageFilterSnapshotId
            - ruleSnapshotId
          properties:
            pageFilterSnapshotId:
              $ref: '#/components/schemas/RulePageFilterSnapshotId'
            ruleSnapshotId:
              $ref: '#/components/schemas/RuleSnapshotId'
            value:
              type: string
            type:
              type: integer
              format: int32
              description: 1 - url, 2 - status code, 3 - final url, 4 - final status code
              enum:
                - 1
                - 2
                - 3
                - 4
            matchType:
              $ref: '#/components/schemas/MatchType'
    RuleTagSnapshot:
      allOf:
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
        - type: object
          description: >-
            same as v2 `RuleTag` but with snapshot ID and page count per rule
            outcome
          required:
            - ruleTagSnapshotId
            - ruleSnapshotId
            - tagId
          properties:
            ruleTagSnapshotId:
              $ref: '#/components/schemas/RuleTagSnapshotId'
            ruleSnapshotId:
              $ref: '#/components/schemas/RuleSnapshotId'
            tagId:
              type: integer
              format: int32
            tagName:
              type: string
            tagCategoryId:
              type: integer
              format: int32
            tagCategoryName:
              type: string
            matchType:
              $ref: '#/components/schemas/MatchType'
            account:
              type: string
            validationDescription:
              type: string
            clause:
              type: string
              enum:
                - If
                - Then
                - Else
            variables:
              type: array
              items:
                $ref: '#/components/schemas/RuleTagVariableSnapshot'
            statusCode:
              $ref: '#/components/schemas/RuleTagStatusCode'
    RuleTagStatusCode:
      type: object
      required:
        - matchType
        - valueType
      properties:
        matchType:
          $ref: '#/components/schemas/MatchType'
        valueType:
          $ref: '#/components/schemas/StatusCodeValueType'
        value:
          type: integer
          format: int32
    RuleTagVariableSnapshot:
      allOf:
        - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
        - type: object
          description: >-
            same as v2 `RuleTagVariable` but with snapshot ID and page count per
            rule outcome
          required:
            - ruleTagVariableSnapshotId
            - ruleTagSnapshotId
            - variable
            - isRegexVariableName
          properties:
            ruleTagVariableSnapshotId:
              $ref: '#/components/schemas/RuleTagVariableSnapshotId'
            ruleTagSnapshotId:
              $ref: '#/components/schemas/RuleTagSnapshotId'
            variable:
              type: string
            isRegexVariableName:
              type: boolean
              description: >-
                Indicates whether the variable name represents a regex pattern
                (i.e., originally had 'regex:' prefix in storage)
            value:
              type: string
            validationDescription:
              type: string
            matchType:
              $ref: '#/components/schemas/MatchType'
            valueTagId:
              type: integer
              format: int32
            selectorType:
              type: string
              enum:
                - String
                - UrlParameter
                - DataLayer
                - Tag
                - FinalUrlParam
    AuditRun_AuditSummary_PrimaryTagsDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AuditSummary_PrimaryTagItem'
    AuditRun_AuditSummary_PrimaryTagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - type: object
          required:
            - pageCount
            - tagAccountCount
            - tagVersionCount
            - tagLoadTimeAverage
            - statusCodeDistribution
          properties:
            pageCount:
              type: integer
              description: Number of pages this tag has been discovered on
              default: 0
            tagAccountCount:
              type: integer
              description: Number of distinct accounts of the tag
              default: 0
            tagVersionCount:
              type: integer
              description: Number of distinct versions of the tag
              default: 0
            tagLoadTimeAverage:
              $ref: '#/components/schemas/TagLoadTime'
            statusCodeDistribution:
              $ref: >-
                #/components/schemas/AuditRun_AuditSummary_TagStatusCodeDistribution
    AuditRun_AuditSummary_TagStatusCodeDistribution:
      description: See `StatusCodeEnum`
      type: object
      nullable: false
      required:
        - good
        - redirect
        - broken
      properties:
        good:
          type: integer
          description: Number of tag requests with "good" status code
          default: 0
        redirect:
          type: integer
          description: Number of tag requests with "redirect" status code
          default: 0
        broken:
          type: integer
          description: Number of tag requests with "broken" status code
          default: 0
    AuditRun_AuditSummary_DetectedTagsDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AuditSummary_DetectedTagItem'
    AuditRun_AuditSummary_DetectedTagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - type: object
          required:
            - pageCount
            - pageNotPresentCount
            - tagLoadTimeAverage
            - tagAccountCount
            - uniqueVariableCount
          properties:
            pageCount:
              type: integer
              description: Number of pages this tag has been discovered on
            pageNotPresentCount:
              type: integer
              description: Number of pages this tag has not been discovered on
            tagLoadTimeAverage:
              $ref: '#/components/schemas/TagLoadTime'
            tagAccountCount:
              type: integer
              description: Number of distinct accounts of the tag
            uniqueVariableCount:
              type: integer
              description: Number of unique variables in the tag
    AuditRun_AuditSummary_ScoresDTO:
      type: object
      required:
        - total
        - tagPresence
        - tagPerformance
        - rules
        - pagePerformance
        - cookies
      properties:
        total:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        tagPresence:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        tagPerformance:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        rules:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        pagePerformance:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
        cookies:
          $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
    AuditRun_AuditSummary_Score:
      type: object
      required:
        - score
        - max
      properties:
        score:
          type: number
          format: float
          description: >-
            Amount of points obtained in given score category. Rounded to one
            digit after dot
        max:
          type: integer
          description: Max points for given score category, inclusive
    AuditRun_AuditSummary_AllScoresTrendValuesDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AuditSummary_AllScoresTrendValueItem'
    AuditRun_AuditSummary_AllScoresTrendValueItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - scores
          properties:
            scores:
              $ref: '#/components/schemas/AuditRun_AuditSummary_ScoresDTO'
    AuditRun_AuditSummary_ScoreTrendsEnum:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      type: string
      enum:
        - total
        - tag_presence
        - tag_performance
        - rules
        - page_performance
        - cookies
    AuditRun_AuditSummary_ScoreTrendValuesDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AuditSummary_ScoreTrendValueItem'
    AuditRun_AuditSummary_ScoreTrendValueItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - score
          properties:
            score:
              $ref: '#/components/schemas/AuditRun_AuditSummary_Score'
    AuditRun_AlertSummary_AlertsOverviewResponseDTO:
      type: object
      required:
        - alerts
      properties:
        alerts:
          type: array
          minItems: 0
          items:
            title: AuditRun_AlertSummary_AlertsOverviewItem
            type: object
            required:
              - id
              - name
              - metricType
              - status
              - isSubscribed
              - alertConfigExists
            properties:
              id:
                $ref: '#/components/schemas/AlertId'
              name:
                $ref: '#/components/schemas/AlertName'
              metricType:
                $ref: '#/components/schemas/AlertMetricTypeEnum'
              status:
                $ref: '#/components/schemas/AlertResultStatusEnum'
              isSubscribed:
                type: boolean
              alertConfigExists:
                $ref: '#/components/schemas/AlertConfigExistsFlag'
    AuditRun_AlertSummary_SummaryRequestDTO:
      description: Request body with filters for Alert Summary report
      type: object
      properties:
        alertName:
          type: string
          description: >-
            when populated works as "alert `name` contains given substring"
            filter
        metricTypes:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/AlertMetricTypeEnum'
        status:
          $ref: '#/components/schemas/AlertResultSimplifiedStatusEnum'
        subscribedOnly:
          type: boolean
          description: >-
            when `false` or `null` then all alerts are returned, otherwise only
            alerts user is subscribed to are returned
    AlertResultSimplifiedStatusEnum:
      type: string
      description: >-
        Simplified version of `#/components/schemas/AlertResultStatusEnum` for
        UI filters
      enum:
        - TRIGGERED
        - NOT_TRIGGERED
    AuditRun_AuditSummary_AlertsResponseDTO:
      type: object
      required:
        - metadata
        - alerts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsResponseItem'
    AccountUsage_AlertSummary_AlertsResponseDTO:
      type: object
      required:
        - alerts
      properties:
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AccountUsage_AlertSummary_AlertsResponseItem'
    AuditRun_AuditSummary_AlertsSortColumn:
      type: string
      enum:
        - ALERT_NAME
        - ALERT_LOGIC
        - ACTUAL_VALUE
        - SUBSCRIBERS
    AccountUsage_AlertSummary_AlertsResponseItem:
      type: object
      required:
        - id
        - config
        - result
      properties:
        id:
          $ref: '#/components/schemas/AlertId'
        config:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsResponseItemConfig'
        result:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertResult'
    AuditRun_AuditSummary_AlertsResponseItem:
      type: object
      required:
        - id
        - config
        - result
        - history
        - alertConfigExists
      properties:
        id:
          $ref: '#/components/schemas/AlertId'
        config:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsResponseItemConfig'
        result:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertResult'
        history:
          $ref: '#/components/schemas/AlertResultsHistoryArray'
        alertConfigExists:
          $ref: '#/components/schemas/AlertConfigExistsFlag'
    AuditRun_AuditSummary_AlertResult:
      allOf:
        - $ref: '#/components/schemas/AlertResultDetails'
    AuditRun_AuditSummary_AlertsResponseItemConfig:
      allOf:
        - $ref: '#/components/schemas/AlertConfigTrait'
        - type: object
          required:
            - subscriberCount
            - isUserSubscribed
          properties:
            subscriberCount:
              type: integer
            isUserSubscribed:
              type: boolean
    AlertResultsHistoryArray:
      type: array
      description: Returns up to 20 runs with alert results
      minItems: 0
      maxItems: 20
      items:
        $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsItem_HistoryItem'
    AuditRun_AuditSummary_AlertsItem_HistoryItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - $ref: '#/components/schemas/AlertResultDetails'
    AlertResultDetails:
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/AlertResultStatusEnum'
        actualValue:
          description: Value of the computed metric or its change.
          type: number
          format: double
        currentRunValue:
          description: >-
            Value of computed metric for current run. Present when alert is
            configured on metric change, not on single run metric value
          type: number
          format: double
        previousRunValue:
          description: >-
            Value of computed metric for previous run. Present when alert is
            configured on metric change, not on single run metric value
          type: number
          format: double
    AuditRun_AuditSummary_SpecificAlertResponseDTO:
      type: object
      required:
        - id
        - config
        - result
        - alertConfigExists
      properties:
        id:
          $ref: '#/components/schemas/AlertId'
        config:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertsResponseItemConfig'
        result:
          $ref: '#/components/schemas/AuditRun_AuditSummary_AlertResult'
        alertConfigExists:
          $ref: '#/components/schemas/AlertConfigExistsFlag'
    AlertConfigExistsFlag:
      type: boolean
      description: >-
        when `true` then alert config exists and can be edited, otherwise it is
        deleted
    AuditRun_AlertSummary_SummaryDTO:
      description: Alert Summary report summary
      type: object
      required:
        - totalConfiguredAlertsCount
        - totalTriggeredAlertsCount
      properties:
        totalConfiguredAlertsCount:
          type: integer
          description: Number of alerts configured for audit run
        totalTriggeredAlertsCount:
          type: integer
          description: Number of alerts triggered in audit run
    AuditRun_AlertSummary_TrendsDTO:
      description: Alert Summary report trends
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_AlertSummary_TrendItem'
    AuditRun_AlertSummary_TrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalConfiguredAlertsCount
            - totalTriggeredAlertsCount
          properties:
            totalConfiguredAlertsCount:
              type: integer
              description: Total number of alerts configured for audit run
            totalTriggeredAlertsCount:
              type: integer
              description: Total number of alerts triggered in audit run
    AuditRun_AlertSummary_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - configured_alerts
        - triggered_alerts
    AccountTriggeredAlertsRequestDTO:
      description: Request body with filters for Account Triggered Alerts
      type: object
      properties:
        runDateRange:
          $ref: '#/components/schemas/AlertRunDateRange'
        metricTypes:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/AlertMetricTypeEnum'
        alertName:
          type: string
          description: >-
            when populated works as "alert `name` contains given substring"
            filter
        alertLabels:
          type: array
          description: non-empty array of labels present on an alert
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        itemName:
          type: string
          minLength: 1
          description: optional "item name contains substring" filter
        itemLabels:
          type: array
          description: >-
            non-empty array of labels present on an item, works as "item has all
            specified labels" filter
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        itemType:
          $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
        folders:
          $ref: '#/components/schemas/FoldersFilter'
        subscribedOnly:
          type: boolean
          description: >-
            when `false` or `null` then all alerts are returned, otherwise only
            alerts user is subscribed to are returned
    AccountTriggeredAlertsSpecificAlertRequestDTO:
      type: object
      properties:
        runDateRange:
          $ref: '#/components/schemas/AlertRunDateRange'
        itemName:
          type: string
          minLength: 1
          description: optional "item name contains substring" filter
        itemLabels:
          type: array
          description: >-
            non-empty array of labels present on an item, works as "item has all
            specified labels" filter
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        itemType:
          $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
        folders:
          $ref: '#/components/schemas/FoldersFilter'
    AlertRunDateRange:
      type: object
      description: >-
        Should have `from` and/or `to` dates defined. `from` is inclusive and
        `to` is exclusive. `to` date should be after `from` date.
      properties:
        from:
          $ref: '#/components/schemas/DateAndTime'
        to:
          $ref: '#/components/schemas/DateAndTime'
    AccountTriggeredAlerts_SummaryDTO:
      type: object
      required:
        - triggeredAlertAffectedPageCount
        - triggeredAlertsInMostRecentRunCount
        - auditsWithTriggeredAlertCount
        - triggeredUsageAlertCount
      properties:
        triggeredAlertAffectedPageCount:
          type: integer
        triggeredAlertsInMostRecentRunCount:
          type: integer
        auditsWithTriggeredAlertCount:
          type: integer
        triggeredUsageAlertCount:
          type: integer
    AccountTriggeredAlerts_DataSourcesDTO:
      type: object
      required:
        - metadata
        - dataSources
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        dataSources:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/AccountTriggeredAlerts_DataSource'
    AccountTriggeredAlerts_DataSource:
      allOf:
        - $ref: '#/components/schemas/AlertResultDetails'
        - $ref: '#/components/schemas/PagesWithTriggeredAlerts'
        - type: object
          required:
            - runDate
            - itemName
            - itemType
            - runId
            - itemId
          properties:
            runDate:
              $ref: '#/components/schemas/DateAndTime'
            itemName:
              type: string
            itemType:
              $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
            runId:
              $ref: '#/components/schemas/RunId'
            itemId:
              $ref: '#/components/schemas/AlertAssignmentItemId'
    AccountTriggeredAlerts_AlertsDTO:
      type: object
      required:
        - metadata
        - alerts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        alerts:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/AccountTriggeredAlerts_Alert'
    AccountTriggeredAlerts_Alert:
      allOf:
        - $ref: '#/components/schemas/AlertConfigTrait'
        - $ref: '#/components/schemas/PagesWithTriggeredAlerts'
        - type: object
          required:
            - id
            - subscriberCount
            - isUserSubscribed
            - recentTriggeredDate
            - dataSourceCount
            - alertConfigExists
          properties:
            id:
              $ref: '#/components/schemas/AlertId'
            subscriberCount:
              type: integer
            isUserSubscribed:
              type: boolean
            recentTriggeredDate:
              $ref: '#/components/schemas/DateAndTime'
            dataSourceCount:
              type: integer
            alertConfigExists:
              $ref: '#/components/schemas/AlertConfigExistsFlag'
    PagesWithTriggeredAlerts:
      type: object
      required:
        - appliedAlertPageCount
        - triggeredAlertAffectedPageCount
      properties:
        appliedAlertPageCount:
          type: integer
        triggeredAlertAffectedPageCount:
          type: integer
    GetAccountTriggeredAlertsSortColumn:
      type: string
      enum:
        - RECENTLY_TRIGGERED_DATE
        - ALERT_NAME
        - REPORT_METRIC
        - PAGES_WITH_TRIGGERED_ALERTS
        - SUBSCRIBERS
        - DATA_SOURCES
    GetAccountTriggeredAlertSortColumn:
      type: string
      enum:
        - RUN_DATE
        - DATA_SOURCE_NAME
        - PAGES_WITH_TRIGGERED_ALERTS
    AuditRun_RuleSummary_BaseRequestTrait:
      description: >-
        Common request body with filters applicable to rule summary report If
        `initialPageStatusCode` and `pageStatusCode` filters provided,
        `pageStatusCode` will be ignored
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            primaryTagsOnly:
              description: >-
                if true then return only rules/pages with primary tags else
                return all rules/pages
              type: boolean
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            ruleFailuresOnly:
              description: Use `ruleStatus` instead
              type: boolean
              deprecated: true
            ruleStatus:
              $ref: '#/components/schemas/RuleStatus'
    AuditRun_RuleSummary_RequestDTO:
      description: Request to get rule summary
      x-implements:
        - com.observepoint.reportingapi.gen.interfaces.RuleSummaryFilters
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_BaseRequestTrait'
        - type: object
          properties:
            ruleId:
              $ref: '#/components/schemas/RuleId'
    AuditRun_RuleSummary_SpecificRuleResultsRequestDTO:
      description: Request to get rule results list
      x-implements:
        - com.observepoint.reportingapi.gen.interfaces.RuleSummaryFilters
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_BaseRequestTrait'
    AuditRun_RuleSummary_AllRuleResultsRequestDTO:
      description: Request to get all rules/pages results
      x-implements:
        - com.observepoint.reportingapi.gen.interfaces.RuleSummaryFilters
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
    AuditRun_RuleSummary_PageRuleResultsDTO:
      description: >-
        Pages list with rule failures (when no specific rule condition/outcome
        selected)
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_RuleSummary_PageRuleResultsItem'
    AuditRun_RuleSummary_AllRules_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_status_code
        - final_page_status_code
        - page_load_time
        - rule_failures
    AuditRun_RuleSummary_PageRuleResultsItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - ruleFailureCount
          properties:
            ruleFailureCount:
              type: integer
              description: Number of rules failed on the page
    AuditRun_RuleSummary_SpecificRulePagesRequestDTO:
      description: >-
        Request to get pages list with rule condition details (when specific
        rule condition/outcome is selected)
      x-implements:
        - com.observepoint.reportingapi.gen.interfaces.RuleSummaryFilters
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_BaseRequestTrait'
        - type: object
          properties:
            ruleFilter:
              $ref: >-
                #/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleFilter
            ruleResultType:
              $ref: '#/components/schemas/AuditRun_RuleSummary_RuleResultEnum'
    AuditRun_RuleSummary_SpecificRulePagesExportRequestDTO:
      description: >-
        Request used in exports to get pages list with rule condition details
        (when specific rule condition/outcome is selected)
      x-implements:
        - com.observepoint.reportingapi.gen.interfaces.RuleSummaryFilters
      allOf:
        - $ref: >-
            #/components/schemas/AuditRun_RuleSummary_SpecificRulePagesRequestDTO
        - type: object
          required:
            - ruleSnapshotId
          properties:
            ruleSnapshotId:
              $ref: '#/components/schemas/RuleSnapshotId'
    AuditRun_RuleSummary_RuleResultEnum:
      type: string
      enum:
        - passed
        - failed
        - not_applied
        - broken
    AuditRun_RuleSummary_PageRuleResultsRuleFilter:
      type: object
      required:
        - filterType
      properties:
        filterType:
          $ref: >-
            #/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleFilterEnum
      description: >
        Optionally filters by a specific component within the rule's logic
        (e.g., a tag or variable condition).

        When used with `filterType` = `tag_filter` or `tag_variable_filter`, it
        overrides the default behavior

        of the `ruleResultType` filter, applying it to this specific component's
        outcome
      discriminator:
        propertyName: filterType
        mapping:
          page_filter: >-
            #/components/schemas/AuditRun_RuleSummary_PageRuleResultsRulePageFilter
          tag_filter: >-
            #/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleTagFilter
          tag_variable_filter: >-
            #/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleTagVariableFilter
    AuditRun_RuleSummary_PageRuleResultsRuleFilterEnum:
      type: string
      enum:
        - page_filter
        - tag_filter
        - tag_variable_filter
    AuditRun_RuleSummary_PageRuleResultsRulePageFilter:
      x-discriminator-value: page_filter
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleFilter'
        - type: object
          required:
            - pageFilterSnapshotId
          properties:
            pageFilterSnapshotId:
              $ref: '#/components/schemas/RulePageFilterSnapshotId'
    AuditRun_RuleSummary_PageRuleResultsRuleTagFilter:
      x-discriminator-value: tag_filter
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleFilter'
        - type: object
          required:
            - tagSnapshotId
          properties:
            tagSnapshotId:
              $ref: '#/components/schemas/RuleTagSnapshotId'
    AuditRun_RuleSummary_PageRuleResultsRuleTagVariableFilter:
      x-discriminator-value: tag_variable_filter
      allOf:
        - $ref: '#/components/schemas/AuditRun_RuleSummary_PageRuleResultsRuleFilter'
        - type: object
          required:
            - tagSnapshotId
            - tagVariableSnapshotId
          properties:
            tagSnapshotId:
              $ref: '#/components/schemas/RuleTagSnapshotId'
            tagVariableSnapshotId:
              $ref: '#/components/schemas/RuleTagVariableSnapshotId'
    AuditRun_RuleSummary_SpecificRulePageRuleResultsDTO:
      description: >
        Pages list with rule condition details (when specific rule
        condition/outcome is selected)

        The `ruleResultType` filter applies to the specific condition outcome
        when `ruleFilter.filterType`

        is `tag_filter` or `tag_variable_filter`; otherwise, it applies to the
        overall rule result for the page
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_RuleSummary_SpecificRulePageRuleResultsItem
    AuditRun_RuleSummary_SpecificRule_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_status_code
        - final_page_status_code
        - page_load_time
    AuditRun_RuleSummary_SpecificRulePageRuleResultsItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - conditionResult
          properties:
            conditionResult:
              $ref: '#/components/schemas/AuditRun_RuleSummary_RuleConditionResult'
    AuditRun_RuleSummary_RuleConditionResult:
      description: Only tag variable condition has parent - tag condition
      type: object
      required:
        - id
        - idType
        - name
        - matcher
        - expected
      properties:
        id:
          description: >
            condition snapshot ID. One of: `RulePageFilterSnapshotId`,
            `RuleTagSnapshotId`, `RuleTagVariableSnapshotId`
          type: integer
          format: int64
        idType:
          type: string
        parentId:
          $ref: '#/components/schemas/RuleTagSnapshotId'
        parentType:
          type: string
        name:
          type: string
        matcher:
          type: string
        actual:
          type: string
        expected:
          $ref: '#/components/schemas/ConditionExpectedResult'
    ConditionExpectedResult:
      description: The rule condition expected values
      type: object
      required:
        - expected
      properties:
        expected:
          type: array
          items:
            type: string
        name:
          type: string
        selectorType:
          type: string
          enum:
            - String
            - UrlParameter
            - DataLayer
            - Tag
            - FinalUrlParam
            - Empty
    AuditRun_TagInventory_RequestDTO:
      description: >
        Request body with filters for Tag Inventory report.

        If `initialPageStatusCode` and `pageStatusCode` filters provided,
        `pageStatusCode` will be ignored.

        `pagesWithoutTagId` replaces `missingTag` filter, 

        `pagesWithoutTagCategoryId` replaces `missingTagCategory`, 

        `pagesWithoutTagVendorId` replaces `missingTagVendor`.
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            primaryTagsOnly:
              type: boolean
              description: >-
                if true then return only pages/tags with primary tags else
                return all pages/tags
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            pagesWithoutTagId:
              deprecated: true
              type: integer
              description: Deprecated in favour of `pagesWithoutTag`
            pagesWithoutTagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            pagesWithoutTagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            pagesWithoutTag:
              $ref: '#/components/schemas/AuditRun_TagInventory_PagesWithoutTag'
    AuditRun_TagInventory_FilteredRequestDTO:
      description: >
        Request body for Tag Inventory report with filters present in path
        removed

        If `initialPageStatusCode` and `pageStatusCode` filters provided,
        `pageStatusCode` will be ignored.

        `pagesWithoutTagId` replaces `missingTag` filter, 

        `pagesWithoutTagCategoryId` replaces `missingTagCategory`, 

        `pagesWithoutTagVendorId` replaces `missingTagVendor`.
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            pagesWithoutTagId:
              $ref: '#/components/schemas/TagId'
            pagesWithoutTagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            pagesWithoutTagVendorId:
              $ref: '#/components/schemas/TagVendorId'
    AuditRun_TagInventory_PagesWithoutTag:
      type: object
      required:
        - tagId
      properties:
        tagId:
          $ref: '#/components/schemas/TagId'
        tagAccount:
          $ref: '#/components/schemas/TagAccount'
    AuditRun_TagInventory_SummaryDTO:
      description: Tag Inventory report summary
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - filteredBrokenPageCount
        - filteredUniqueTagCount
        - filteredBrokenTagCount
        - totalTagInstanceCount
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        filteredBrokenPageCount:
          type: integer
          description: Number of broken pages passing all applied filters
        filteredUniqueTagCount:
          type: integer
          description: Number of unique tag vendors passing all applied filters
        filteredBrokenTagCount:
          type: integer
          description: >-
            Number of broken tag requests (0, 400+ or 500+ HTTP status code)
            passing all applied filters
        totalTagInstanceCount:
          type: integer
          description: Total number of tag requests discovered
    AuditRun_TagInventory_TagCategoriesSummaryDTO:
      type: object
      required:
        - tagCategories
      properties:
        tagCategories:
          type: array
          description: >-
            All tag categories discovered. Not affected by `tagCategoryId`
            filter
          items:
            $ref: '#/components/schemas/AuditRun_TagInventory_TagCategoryItem'
    AuditRun_TagInventory_TagCategoryItem:
      type: object
      required:
        - tagCategoryId
        - totalTagInstanceCount
        - tagFilterStatus
      properties:
        tagCategoryId:
          $ref: '#/components/schemas/TagCategoryId'
        totalTagInstanceCount:
          type: integer
          description: Number of instances of tags from this category
        tagFilterStatus:
          type: boolean
          description: >-
            True if this tag category had tag instances that met any of the tag
            filter criteria
    AuditRun_TagInventory_TrendsDTO:
      description: Tag Inventory trends overview (a.k.a. trendlines a.k.a. sparklines)
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_TagInventory_TrendsItem'
    AuditRun_TagInventory_TrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalBrokenPageCount
            - totalUniqueTagCount
            - totalBrokenTagCount
          properties:
            totalBrokenPageCount:
              type: integer
              description: Total number of broken pages
            totalUniqueTagCount:
              type: integer
              description: Total number of unique tag vendors discovered
            totalBrokenTagCount:
              type: integer
              description: >-
                Total number of broken tag requests (0, 400+ or 500+ HTTP status
                code)
    AuditRun_TagInventory_TrendsEnum:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      type: string
      enum:
        - unique_tags
        - broken_tags
        - broken_pages
    AuditRun_TagInventory_TagPresenceItemTrait:
      type: object
      required:
        - tagPresentPageCount
        - tagAbsentPageCount
      properties:
        tagPresentPageCount:
          type: integer
          description: Total number of pages with the tag/account
        tagAbsentPageCount:
          type: integer
          description: Total number of pages without tag/account
    AuditRun_TagInventory_TagPresenceDTO:
      description: '`Pages With & Without Tags` data'
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagInventory_TagPresence_TagItem'
    AuditRun_TagInventory_TagPresence_TagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - $ref: '#/components/schemas/AuditRun_TagInventory_TagPresenceItemTrait'
        - type: object
          required:
            - filteredTagAccountCount
          properties:
            filteredTagAccountCount:
              type: integer
              description: Number of accounts of a tag passing all applied filters
    AuditRun_TagInventory_TagAccountPresenceDTO:
      type: object
      required:
        - metadata
        - tagAccounts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        tagAccounts:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagInventory_TagAccountsPresenceItem'
    AuditRun_TagInventory_TagAccountsPresenceItem:
      allOf:
        - $ref: '#/components/schemas/AuditRun_TagInventory_TagPresenceItemTrait'
        - type: object
          required:
            - tagAccount
          properties:
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_TagInventory_PagesDTO:
      description: Tag Inventory pages list data
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagInventory_PagesItem'
    AuditRun_TagInventory_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - tag_instance_count
        - unique_tag_count
        - broken_tag_count
    AuditRun_TagInventory_PagesItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - tagInstanceCount
            - uniqueTagCount
            - brokenTagCount
          properties:
            tagInstanceCount:
              type: integer
              description: Number of tag requests on a page
            uniqueTagCount:
              type: integer
              description: Number of unique tag vendors discovered on a page
            brokenTagCount:
              type: integer
              description: Number of broken tag requests on a page
    AuditRun_TagHealth_RequestDTO:
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            primaryTagsOnly:
              type: boolean
              description: >-
                if true then return only pages/tags with primary tags else
                return all pages/tags
            tagLoadTime:
              $ref: '#/components/schemas/TagLoadTimeFilter'
            tagStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            tagRequestSize:
              $ref: '#/components/schemas/AuditRun_TagHealth_TagRequestSize'
    AuditRun_TagHealth_FilteredRequestDTO:
      description: Request body for Tag Health report with filters present in path removed
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            tagLoadTime:
              $ref: '#/components/schemas/TagLoadTimeFilter'
            tagStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            tagRequestSize:
              $ref: '#/components/schemas/AuditRun_TagHealth_TagRequestSize'
    AuditRun_TagHealth_SummaryDTO:
      description: Slow tag - request loaded slower than 2 sec
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - filteredTagRequestSizeAverage
        - filteredTagLoadTimeAverage
        - filteredSlowTagCount
        - filteredSlowTagPercentage
        - filteredBrokenTagCount
        - filteredBrokenTagPercentage
        - filteredTagInstanceCount
        - tagLoadTimeDistribution
        - tagStatusCodeDistribution
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        filteredTagLoadTimeAverage:
          $ref: '#/components/schemas/TagLoadTime'
        filteredTagRequestSizeAverage:
          $ref: '#/components/schemas/TagRequestSize'
        filteredSlowTagCount:
          type: integer
          description: >-
            Number of tag request loadeded slower than 2 sec passing all applied
            filters
        filteredSlowTagPercentage:
          type: number
          format: double
          description: >-
            Percentage of tag requests loaded slower than 2 sec passing all
            applied filters
        filteredBrokenTagCount:
          type: integer
          description: >-
            Number of broken tag requests (0, 400+ or 500+ HTTP status code)
            passing all applied filters
        filteredBrokenTagPercentage:
          type: number
          format: double
          description: >-
            Percentage of tag requests loaded slower than 2 sec passing all
            applied filters
        filteredTagInstanceCount:
          type: integer
          description: Number of tag requests passing all applied filters
        tagLoadTimeDistribution:
          $ref: '#/components/schemas/AuditRun_TagHealth_TagLoadTimeDistribution'
        tagStatusCodeDistribution:
          $ref: '#/components/schemas/AuditRun_TagHealth_TagStatusCodeDistribution'
    AuditRun_TagHealth_TagLoadTimeDistribution:
      type: object
      required:
        - below500
        - 500to1000
        - 1000to2000
        - above2000
      properties:
        below500:
          type: integer
          description: Number of tag requests with load time < 500 ms
        500to1000:
          type: integer
          description: Number of tag requests with 500 ms ≤ load time < 1000 ms
        1000to2000:
          type: integer
          description: Number of tag requests with 1000 ms ≤ load time < 2000 ms
        above2000:
          type: integer
          description: Number of tag requests with 2000 ms ≤ load time
    AuditRun_TagHealth_TagStatusCodeDistribution:
      description: See `StatusCodeEnum`
      type: object
      required:
        - good
        - redirect
        - broken
      properties:
        good:
          type: integer
          description: Number of tag requests with "good" status code
        redirect:
          type: integer
          description: Number of tag requests with "redirect" status code
        broken:
          type: integer
          description: Number of tag requests with "broken" status code
    AuditRun_TagHealth_TrendsDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagHealth_TrendsItem'
    AuditRun_TagHealth_TrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalTagLoadTimeAverage
            - totalTagRequestSizeAverage
            - totalSlowTagCount
            - totalBrokenTagCount
            - totalTagInstanceCount
          properties:
            totalTagLoadTimeAverage:
              $ref: '#/components/schemas/TagLoadTime'
            totalTagRequestSizeAverage:
              $ref: '#/components/schemas/TagRequestSize'
            totalSlowTagCount:
              type: integer
              description: Total number of tag request loaded slower than 2 sec
            slowTagPercentage:
              type: number
              format: double
              description: Percentage of tag requests loaded slower than 2 sec
            totalBrokenTagCount:
              type: integer
              description: >-
                Total number of broken tag requests (0, 400+ or 500+ HTTP status
                code)
            brokenTagPercentage:
              type: number
              format: double
              description: Percentage of tag requests loaded slower than 2 sec
            totalTagInstanceCount:
              type: integer
              description: Number of tag requests passing all applied filters
    AuditRun_TagHealth_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - average_tag_load_time
        - average_tag_request_size
        - slow_tags
        - slow_tag_percentage
        - broken_tags
        - broken_tag_percentage
        - tag_requests
    AuditRun_TagHealth_TagListDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagHealth_TagListItem'
    AuditRun_TagHealth_TagListItem:
      allOf:
        - $ref: '#/components/schemas/AuditRun_TagHealth_TagListItemTrait'
        - type: object
          required:
            - filteredTagAccountCount
          properties:
            filteredTagAccountCount:
              type: integer
              description: Number of accounts of a tag passing all applied filters
    AuditRun_TagHealth_TagListItemTrait:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - type: object
          required:
            - tagInstanceCount
            - tagRequestSizeAverage
            - tagLoadTimeDistribution
            - tagStatusCodeDistribution
          properties:
            tagInstanceCount:
              type: integer
              description: Number of tag requests
            tagRequestSizeAverage:
              $ref: '#/components/schemas/TagRequestSize'
            tagLoadTimeDistribution:
              $ref: '#/components/schemas/AuditRun_TagHealth_TagLoadTimeDistribution'
            tagStatusCodeDistribution:
              $ref: >-
                #/components/schemas/AuditRun_TagHealth_TagStatusCodeDistribution
    AuditRun_TagHealth_TagAccountListDTO:
      type: object
      required:
        - metadata
        - tagAccounts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        tagAccounts:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagHealth_TagAccountListItem'
    AuditRun_TagHealth_TagAccountsSortColumn:
      description: >-
        For `tag_loadtime_*` lower and upper bounds are correspondingly
        inclusive and exclusive
      type: string
      enum:
        - tag_account
        - tag_instance_count
        - tag_request_size_average
        - tag_load_time_below_500
        - tag_load_time_from_500_to_1000
        - tag_load_time_from_1000_to_2000
        - tag_load_time_above_2000
    AuditRun_TagHealth_TagAccountListItem:
      allOf:
        - $ref: '#/components/schemas/AuditRun_TagHealth_TagListItemTrait'
        - type: object
          required:
            - tagAccount
          properties:
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_TagHealth_PageListDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagHealth_PageListItem'
    AuditRun_TagHealth_PageSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - tag_load_time_average
        - tag_request_size_average
        - tag_instance_count
        - broken_tag_count
    AuditRun_TagHealth_PageListItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - filteredTagLoadTimeAverage
            - filteredTagRequestSizeAverage
            - filteredTagInstanceCount
            - filteredBrokenTagCount
          properties:
            filteredTagLoadTimeAverage:
              $ref: '#/components/schemas/TagLoadTime'
            filteredTagRequestSizeAverage:
              $ref: '#/components/schemas/TagRequestSize'
            filteredTagInstanceCount:
              type: integer
              description: Number of tag requests on a page passing all applied filters
            filteredBrokenTagCount:
              type: integer
              description: >-
                Number of broken tag requests on a page passing all applied
                filters
    AuditRun_TagHealth_TagRequestSize:
      description: >-
        Tag request size in bytes. Should have `min` and/or `max` properties
        defined. `min` is inclusive and `max` is exclusive. `min` should be less
        than `max`.
      allOf:
        - $ref: '#/components/schemas/IntegerRangeFilterTrait'
    AuditRun_TagDuplicatesAndMultiples_RequestDTO:
      description: Request body with filters for Tag Duplicates & Multiples report
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            primaryTagsOnly:
              type: boolean
              description: >-
                if true then return only pages/tags with primary tags else
                return all pages/tags
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_TagDuplicatesAndMultiples_FilteredRequestDTO:
      description: >-
        Request body with filters for Tag Duplicates & Multiples report with
        filters present in path removed
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_TagDuplicatesAndMultiples_SummaryDTO:
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - filteredUniqueTagCount
        - totalTagInstanceCount
        - filteredTagInstanceCount
        - filteredTagDuplicateCount
        - filteredTagMultipleCount
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        filteredUniqueTagCount:
          type: integer
          description: Number of unique tag vendors passing all applied filters
        totalTagInstanceCount:
          type: integer
          description: Total number of tag requests discovered
        filteredTagInstanceCount:
          type: integer
          description: Number of tag requests passing all applied filters
        filteredTagDuplicateCount:
          type: integer
          description: Number of duplicate tag requests passing all applied filters
        filteredTagMultipleCount:
          type: integer
          description: >-
            Number of tag request instances that are not exact copies of each
            other and have the same account
    AuditRun_TagDuplicatesAndMultiples_TrendsDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_TrendItem'
    AuditRun_TagDuplicatesAndMultiples_TrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalUniqueTagCount
            - totalTagInstanceCount
            - totalTagDuplicateCount
            - totalTagMultipleCount
          properties:
            totalUniqueTagCount:
              type: integer
            totalTagInstanceCount:
              type: integer
            totalTagDuplicateCount:
              type: integer
            totalTagMultipleCount:
              type: integer
    AuditRun_TagDuplicatesAndMultiples_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - unique_tags
        - tag_requests
        - tag_duplicates
        - tag_multiples
    AuditRun_TagDuplicatesAndMultiples_TagsDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagsItem'
    AuditRun_TagDuplicatesAndMultiples_TagsItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - $ref: >-
            #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagsItemTrait
    AuditRun_TagDuplicatesAndMultiples_TagsItemTrait:
      type: object
      required:
        - filteredTagDuplicateCount
        - filteredTagDuplicatePageCount
        - filteredTagMultipleCount
        - filteredTagMultiplePageCount
        - filteredTagInstanceCount
      properties:
        filteredTagDuplicateCount:
          type: integer
        filteredTagDuplicatePageCount:
          type: integer
          description: >-
            Number of pages containing duplicate tag requests passing all
            applied filters
        filteredTagMultipleCount:
          type: integer
        filteredTagMultiplePageCount:
          type: integer
          description: >-
            Number of pages containing "multiple" tag requests passing all
            applied filters
        filteredTagInstanceCount:
          type: integer
          description: Number of tag requests passing all applied filters
    AuditRun_TagDuplicatesAndMultiples_TagAccountsSortColumn:
      type: string
      enum:
        - tag_account
        - tag_duplicates
        - duplicate_tag_pages
        - tag_multiples
        - multiple_tag_pages
        - tag_instance_count
    AuditRun_TagDuplicatesAndMultiples_TagAccountsDTO:
      type: object
      required:
        - metadata
        - tagAccounts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        tagAccounts:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagAccountsItem
    AuditRun_TagDuplicatesAndMultiples_TagAccountsItem:
      allOf:
        - $ref: >-
            #/components/schemas/AuditRun_TagDuplicatesAndMultiples_TagsItemTrait
        - type: object
          required:
            - tagAccount
          properties:
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_TagDuplicatesAndMultiples_PagesRequestDTO:
      allOf:
        - $ref: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO'
        - type: object
          properties:
            finalPageUrl:
              $ref: '#/components/schemas/PageUrlFilter'
            initialPageStatusCode:
              $ref: '#/components/schemas/IntegerFilter'
            finalPageStatusCode:
              $ref: '#/components/schemas/IntegerFilter'
            type:
              type: string
              enum:
                - tag_duplicates
                - tag_multiples
    AuditRun_TagDuplicatesAndMultiples_PagesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_PagesItem'
    AuditRun_TagDuplicatesAndMultiples_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - tag_duplicates
        - tag_multiples
    AuditRun_TagDuplicatesAndMultiples_PagesItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - filteredTagDuplicateCount
            - filteredTagMultipleCount
          properties:
            filteredTagDuplicateCount:
              type: integer
            filteredTagMultipleCount:
              type: integer
    AuditRun_VariableInventory_RequestDTO:
      description: Request body with filters for Variable Inventory report
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            primaryTagsOnly:
              type: boolean
              description: >-
                if true then return only pages/tags with primary tags else
                return all pages/tags
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_VariableInventory_FilteredRequestDTO:
      description: >-
        Request body for Variable Inventory report with filters present in path
        removed
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
    AuditRun_VariableInventory_TagAccountRequestDTO:
      description: Request body for Variable Inventory report
      required:
        - tagId
        - tagAccount
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            tagId:
              $ref: '#/components/schemas/TagId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_VariableInventory_TagAccountVariableRequestDTO:
      allOf:
        - $ref: '#/components/schemas/AuditRun_VariableInventory_TagAccountRequestDTO'
        - type: object
          required:
            - variableName
          properties:
            variableName:
              $ref: '#/components/schemas/VariableName'
    AuditRun_VariableInventory_TagAccountVariableValueRequestDTO:
      allOf:
        - $ref: >-
            #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
        - type: object
          required:
            - variableValue
          properties:
            variableValue:
              $ref: '#/components/schemas/VariableValue'
    AuditRun_VariableInventory_SummaryDTO:
      description: Variable Inventory report summary
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - filteredUniqueTagCount
        - totalTagInstanceCount
        - filteredTagInstanceCount
        - totalUniqueVariableNameCount
        - filteredUniqueVariableNameCount
        - totalUniqueVariableValueCount
        - filteredUniqueVariableValueCount
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        filteredUniqueTagCount:
          type: integer
          description: Number of unique tag vendors passing all applied filters
        totalTagInstanceCount:
          type: integer
          description: Total number of tag requests discovered
        filteredTagInstanceCount:
          type: integer
          description: Number of tag requests passing all applied filters
        totalUniqueVariableNameCount:
          type: integer
          description: Total number of unique variable names across all tags
        filteredUniqueVariableNameCount:
          type: integer
          description: >-
            Number of unique variable names across all tags passing all applied
            filters
        totalUniqueVariableValueCount:
          type: integer
          description: Total number of unique variable names across all tags
        filteredUniqueVariableValueCount:
          type: integer
          description: >-
            Number of unique variable names across all tags passing all applied
            filters
    AuditRun_VariableInventory_TrendsDTO:
      description: Variable Inventory trends overview (a.k.a. trendlines a.k.a. sparklines)
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_VariableInventory_TrendsItem'
    AuditRun_VariableInventory_TrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalUniqueTagCount
            - totalTagInstanceCount
            - totalUniqueVariableNameCount
            - totalUniqueVariableValueCount
          properties:
            totalUniqueTagCount:
              type: integer
              description: Total number of unique tag vendors discovered
            totalTagInstanceCount:
              type: integer
              description: Total number of tag requests discovered
            totalUniqueVariableNameCount:
              type: integer
              description: Total number of unique variable names across all tags
            totalUniqueVariableValueCount:
              type: integer
              description: Total number of unique variable names across all tags
    AuditRun_VariableInventory_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - unique_tags
        - tag_requests
        - unique_variables
        - unique_values
    AuditRun_VariableInventory_TagsDTO:
      description: Variable Inventory report tag accounts list
      type: object
      required:
        - metadata
        - tags
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_VariableInventory_TagItem'
    AuditRun_VariableInventory_TagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - type: object
          properties:
            tagAccounts:
              type: array
              items:
                $ref: '#/components/schemas/AuditRun_VariableInventory_TagAccountItem'
    AuditRun_VariableInventory_TagAccountItem:
      type: object
      properties:
        tagAccount:
          $ref: '#/components/schemas/TagAccount'
        totalPageCount:
          type: integer
          description: Total number of pages
        totalVariableCount:
          type: integer
          description: Total number of variables in tag account
    AuditRun_VariableInventory_TagAccountVariablesDTO:
      description: >-
        Variable Inventory report tag account variables list. This list will
        include the top 500 variables with the highest variableSetPageCount.
      type: object
      required:
        - variables
      properties:
        variables:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_VariableInventory_VariableItem'
    AuditRun_VariableInventory_TagVariablesSortColumn:
      description: Sorting by `variable_name` still sorts variables by `friendlyName` first
      type: string
      enum:
        - variable_name
        - unique_values
        - variable_set_pages
        - variable_not_set_pages
    AuditRun_VariableInventory_VariableItem:
      type: object
      required:
        - variableName
        - uniqueValueCount
        - variableNotSetPageCount
        - variableSetPageCount
      properties:
        variableName:
          $ref: '#/components/schemas/VariableName'
        friendlyName:
          type: string
          description: Human-readable variable name
        uniqueValueCount:
          type: integer
          description: Number of unique values of the variable
        variableNotSetPageCount:
          type: integer
          description: Number of pages where variable is not set
        variableSetPageCount:
          type: integer
          description: Number of pages where variable is set
    AuditRun_VariableInventory_PagesDTO:
      description: Tag Inventory pages list data
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_VariableInventory_PagesItem'
    AuditRun_VariableInventory_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - variable_count
    AuditRun_VariableInventory_PagesItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - variableCount
          properties:
            variableCount:
              type: integer
              description: Number of unique tag (account) variables on a page
    AuditRun_VariableInventory_VariableNotSetPagesDTO:
      description: Tag Inventory pages list data
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_VariableInventory_VariableNotSetPagesItem
    AuditRun_VariableInventory_VariableNotSetPagesItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
    AuditRun_VariableInventory_VariableValuesSortColumn:
      type: string
      enum:
        - variable_value
        - page_count
    AuditRun_VariableInventory_UniqueVariableValuesDTO:
      description: Variable Inventory - unique variable values list data
      type: object
      required:
        - metadata
        - variableValues
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        variableValues:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_VariableInventory_UniqueVariableValuesItem
    AuditRun_VariableInventory_UniqueVariableValuesItem:
      type: object
      properties:
        variableValue:
          $ref: '#/components/schemas/VariableValue'
        pageCount:
          type: integer
          description: >-
            Number of pages containing specific variable value and passing all
            filters
        tagWithVariableValueCount:
          type: integer
          description: >-
            Number of tag requests containing this specific variable value and
            passing all filters
    AuditRun_VariableInventory_VariableValuePagesDTO:
      description: Variable Inventory - variable values pages list data
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_VariableInventory_VariableValuePageItem
    AuditRun_VariableInventory_VariableValuePageItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - tagWithVariableValueCount
          properties:
            tagWithVariableValueCount:
              type: integer
              default: Number of tag requests with the variable value
    AuditRun_VariableInventory_VariableValuePageExportItem:
      allOf:
        - $ref: >-
            #/components/schemas/AuditRun_VariableInventory_VariableValuePageItem
        - type: object
          required:
            - variableValue
          properties:
            variableValue:
              type: string
    AuditRun_CookieInventory_RequestDTO:
      description: Request body with filters for Cookie Inventory report
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - $ref: '#/components/schemas/CookieFiltersTrait'
        - type: object
          properties:
            cookieName:
              $ref: '#/components/schemas/StringInclusionFilter'
            cookieDomain:
              $ref: '#/components/schemas/StringInclusionFilter'
            partyType:
              $ref: '#/components/schemas/CookiePartyType'
            secure:
              type: boolean
            sameSite:
              $ref: '#/components/schemas/CookieSameSiteExtended'
            cookieSize:
              $ref: >-
                #/components/schemas/AuditRun_CookieInventory_CookieSizeRangeFilter
            allThirdPartyCookies:
              type: boolean
              description: Conflicts with `partyType`, but has higher priority
            httpOnly:
              type: boolean
            expirationType:
              $ref: '#/components/schemas/CookieExpirationType'
            cookieDuration:
              $ref: >-
                #/components/schemas/AuditRun_CookieInventory_CookieDurationRangeFilter
            initiatorUrl:
              $ref: '#/components/schemas/StringInclusionFilter'
            initiatorUrlDomain:
              $ref: '#/components/schemas/StringInclusionFilter'
            anyRelatedTag:
              type: boolean
              description: Show all cookies with any related tag
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            partitionKeyIsSet:
              type: boolean
    AuditRun_CookieInventory_CookieSizeRangeFilter:
      description: >-
        Cookie size in bytes. Should have `min` and/or `max` properties defined.
        `min` is inclusive and `max` is exclusive
      allOf:
        - $ref: '#/components/schemas/IntegerRangeFilterTrait'
    AuditRun_CookieInventory_CookieDurationRangeFilter:
      description: >-
        Cookie duration in minutes. Should have `min` and/or `max` properties
        defined. `min` is inclusive and `max` is exclusive. Ignored when
        expirationType == "session"
      allOf:
        - $ref: '#/components/schemas/IntegerRangeFilterTrait'
    AuditRun_CookieInventory_SummaryDTO:
      description: Cookie Inventory report summary
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - totalUniqueCookieCount
        - filteredUniqueCookieCount
        - totalFirstPartyCookieCount
        - filteredFirstPartyCookieCount
        - totalThirdPartyCookieCount
        - filteredThirdPartyCookieCount
        - filteredNonSecureCookieCount
        - filteredSameSiteEmptyCookieCount
        - totalUniqueCookieDomainCount
        - filteredUniqueCookieDomainCount
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        totalUniqueCookieCount:
          type: integer
          description: Total number of unique cookies discovered
        filteredUniqueCookieCount:
          type: integer
          description: Number of unique cookies passing all applied filters
        totalFirstPartyCookieCount:
          type: integer
          description: Total number of first-party cookies discovered
        filteredFirstPartyCookieCount:
          type: integer
          description: Number of first-party cookies passing all applied filters
        totalThirdPartyCookieCount:
          type: integer
          description: Total number of third-party cookies discovered
        filteredThirdPartyCookieCount:
          type: integer
          description: Number of third-party cookies passing all applied filters
        filteredNonSecureCookieCount:
          type: integer
          description: Number of non-secure cookies passing all applied filters
        filteredSameSiteEmptyCookieCount:
          type: integer
          description: >-
            Number of cookies with empty same site attribute passing all applied
            filters
        totalUniqueCookieDomainCount:
          type: integer
          description: Total number of unique cookie domains discovered
        filteredUniqueCookieDomainCount:
          type: integer
          description: Number of unique cookie domains passing all applied filters
    AuditRun_CookieInventory_TrendsDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_CookieInventory_TrendsItem'
    AuditRun_CookieInventory_TrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalUniqueCookieCount
            - totalFirstPartyCookieCount
            - totalThirdPartyCookieCount
            - totalNonSecureCookieCount
            - totalSameSiteEmptyCookieCount
          properties:
            totalUniqueCookieCount:
              type: integer
            totalFirstPartyCookieCount:
              type: integer
            totalThirdPartyCookieCount:
              type: integer
            totalNonSecureCookieCount:
              type: integer
            totalSameSiteEmptyCookieCount:
              type: integer
    AuditRun_CookieInventory_TrendsEnum:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      type: string
      enum:
        - unique_cookies
        - first_party
        - third_party
        - non_secure_count
        - same_site_empty
    AuditRun_CookieInventory_PagesListDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_CookieInventory_PagesListItem'
    AuditRun_CookieInventory_PageSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_status_code
        - final_page_status_code
        - page_load_time
        - cookie_count
        - total_cookie_size
    AuditRun_CookieInventory_PagesListItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - cookieCount
            - totalCookieSize
          properties:
            cookieCount:
              type: integer
              description: Number of cookies on a page
            totalCookieSize:
              $ref: '#/components/schemas/CookieSize'
    AuditRun_CookieInventory_CookiesListDTO:
      type: object
      required:
        - metadata
        - cookies
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_CookieInventory_CookiesListItem'
    AuditRun_CookieInventory_CookiesSortColumn:
      type: string
      enum:
        - page_count
        - name
        - domain
        - party_type
        - expiration_type
        - secure
        - same_site
        - http_only
        - avg_size
        - min_duration_in_minutes
        - max_duration_in_minutes
        - initiator_tag_count
        - unique_initiator_count
        - partition_key
        - cookie_changed_during
    AuditRun_CookieInventory_CookiesListItem:
      allOf:
        - $ref: '#/components/schemas/AuditRun_CookieInventory_CookiesListItemTrait'
        - $ref: '#/components/schemas/AggregatedCookieTrait'
        - type: object
          required:
            - averageSize
            - filteredPageCount
          properties:
            averageSize:
              $ref: '#/components/schemas/CookieSize'
            filteredPageCount:
              type: integer
              description: Number of pages this cookie was found on
            minDurationInMinutes:
              type: integer
              description: Minimum cookie duration in minutes
            maxDurationInMinutes:
              type: integer
              description: Maximum cookie duration in minutes
            initiators:
              type: array
              items:
                $ref: >-
                  #/components/schemas/AuditRun_CookieInventory_CookieInitiatorItem
            initiatorTagIds:
              type: array
              description: List of tag IDs, associated with initiators that set this cookie
              minItems: 0
              items:
                type: integer
            initiatorTotalCount:
              type: integer
              description: Total number of unique initiators that set this cookie
            partitionKey:
              type: string
    AuditRun_CookieInventory_CookieInitiatorItem:
      type: object
      description: >-
        Represents unique initiator for the cookie, deduplicated by
        `initiatorType`, `tagId` and `urlDomain`
      required:
        - initiatorType
        - foundDuring
        - instanceCount
      properties:
        initiatorType:
          $ref: '#/components/schemas/CookieInitiatorTypeEnum'
        tagId:
          $ref: '#/components/schemas/TagId'
        urlDomain:
          type: string
          description: Domain part of initiator's URL
        foundDuring:
          type: array
          description: List of phases during which this initiator was observed
          minItems: 1
          items:
            $ref: '#/components/schemas/CookieOriginTypeEnum'
        instanceCount:
          type: integer
          description: Number of instances of this initiator across all pages
    AuditRun_CookieInventory_CookiesListItemTrait:
      type: object
      required:
        - name
        - domain
        - partyType
        - expirationType
        - secure
        - httpOnly
      properties:
        name:
          $ref: '#/components/schemas/CookieName'
        domain:
          $ref: '#/components/schemas/CookieDomain'
        partyType:
          $ref: '#/components/schemas/CookiePartyType'
        expirationType:
          $ref: '#/components/schemas/CookieExpirationType'
        sameSite:
          $ref: '#/components/schemas/CookieSameSite'
        secure:
          type: boolean
        httpOnly:
          type: boolean
    CookieOriginDto:
      type: object
      properties:
        originType:
          $ref: '#/components/schemas/CookieOriginTypeEnum'
        action:
          $ref: '#/components/schemas/CookieChangeTypeEnum'
    AuditRun_CookieInventory_CookiePagesRequestDTO:
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - $ref: '#/components/schemas/CookieFiltersTrait'
        - type: object
          required:
            - cookie
          properties:
            cookie:
              $ref: '#/components/schemas/AuditRun_CookieInventory_SelectedCookie'
            cookieSize:
              $ref: >-
                #/components/schemas/AuditRun_CookieInventory_CookieSizeRangeFilter
            initiatorUrl:
              $ref: '#/components/schemas/StringInclusionFilter'
            initiatorUrlDomain:
              $ref: '#/components/schemas/StringInclusionFilter'
            anyRelatedTag:
              type: boolean
              description: Show all cookies with any related tag
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
    AuditRun_CookieInventory_SelectedCookie:
      description: >
        - `partitionKey` is absent — property is ignored for backward
        compatibility,

        - `partitionKey` is present and `partitionKey.value` is absent — cookies
        in old runs without partition key and new runs with partition key set to
        null,

        - `partitionKey` is present and `partitionKey.value` is present —
        cookies in new runs with requested partition key
      allOf:
        - $ref: '#/components/schemas/AuditRun_CookieInventory_CookiesListItemTrait'
        - type: object
          properties:
            partitionKey:
              $ref: '#/components/schemas/CookiePartitionKey'
    AuditRun_CookieInventory_DomainsListDTO:
      type: object
      required:
        - metadata
        - domains
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        domains:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_CookieInventory_DomainsItem'
    AuditRun_CookieInventory_DomainsItem:
      type: object
      required:
        - domain
        - partyType
        - pageCount
      properties:
        domain:
          $ref: '#/components/schemas/CookieDomain'
        partyType:
          $ref: '#/components/schemas/CookiePartyType'
        pageCount:
          type: integer
    AuditRun_CookieInventory_DomainSortColumn:
      type: string
      enum:
        - domain
        - page_count
        - party_type
      default: domain
    AuditRun_BrowserLogs_RequestDTO:
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            level:
              $ref: '#/components/schemas/BrowserLogMessageLevelEnum'
            messageText:
              $ref: '#/components/schemas/StringInclusionFilter'
            anyRelatedTag:
              type: boolean
              description: Show all messages with any related tag
    AuditRun_BrowserLogs_SummaryDTO:
      description: Log counts are actually filtered
      allOf:
        - $ref: '#/components/schemas/AuditRun_BrowserLogs_MessageCountTrait'
        - type: object
          required:
            - totalPageCount
            - filteredPageCount
          properties:
            totalPageCount:
              type: integer
              description: Total number of pages audited
            filteredPageCount:
              type: integer
              description: Number of pages passing all applied filters
    AuditRun_BrowserLogs_MessageCountTrait:
      type: object
      required:
        - errorLogCount
        - warnLogCount
        - infoLogCount
        - debugLogCount
        - otherLogCount
      properties:
        errorLogCount:
          type: integer
          description: Number of error level messages
        warnLogCount:
          type: integer
          description: Number of warn level messages
        infoLogCount:
          type: integer
          description: Number of info level messages
        debugLogCount:
          type: integer
          description: Number of debug level messages
        otherLogCount:
          type: integer
          description: Number of other level messages
    AuditRun_BrowserLogs_TrendsDTO:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_BrowserLogs_TrendsItem'
    AuditRun_BrowserLogs_TrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - $ref: '#/components/schemas/AuditRun_BrowserLogs_MessageCountTrait'
    AuditRun_BrowserLogs_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - error_logs
        - warn_logs
        - info_logs
        - debug_logs
        - other_logs
    AuditRun_BrowserLogs_MessagesDTO:
      type: object
      required:
        - messages
        - metadata
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        messages:
          type: array
          description: Browser log messages discovered during audit run.
          items:
            $ref: '#/components/schemas/AuditRun_BrowserLogs_MessagesItem'
    AuditRun_BrowserLogs_MessagesItem:
      type: object
      required:
        - level
        - message
        - logCount
        - pageCount
      properties:
        level:
          $ref: '#/components/schemas/BrowserLogMessageLevelEnum'
        message:
          type: string
        logCount:
          type: integer
        pageCount:
          type: integer
        relatedTag:
          $ref: '#/components/schemas/AuditRun_BrowserLogs_Messages_TagItem'
    AuditRun_BrowserLogs_Messages_TagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
    AuditRun_BrowserLogs_MessagesSortColumn:
      type: string
      enum:
        - level
        - message
        - instances_count
        - pages_count
        - related_tag
    AuditRun_BrowserLogs_PagesRequestDTO:
      description: If `message` filter is present, `messageText` filter will be ignored
      allOf:
        - $ref: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
        - type: object
          properties:
            message:
              $ref: '#/components/schemas/AuditRun_BrowserLogs_SelectedMessage'
    AuditRun_BrowserLogs_SelectedMessage:
      type: object
      required:
        - message
        - level
      properties:
        message:
          type: string
          minLength: 1
        level:
          $ref: '#/components/schemas/BrowserLogMessageLevelEnum'
    AuditRun_BrowserLogs_PagesDTO:
      description: Browser Logs pages list data
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_BrowserLogs_PagesItem'
    AuditRun_BrowserLogs_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - error_log_count
        - warn_log_count
        - info_log_count
        - debug_log_count
        - other_log_count
    AuditRun_BrowserLogs_PagesItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - $ref: '#/components/schemas/AuditRun_BrowserLogs_MessageCountTrait'
    AuditRun_FileChanges_RequestDTO:
      description: Request body with filters for File Changes report
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            primaryTagsOnly:
              type: boolean
              description: >-
                if true then return only pages/tags with primary tags else
                return all pages/tags
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            dateDifference:
              $ref: '#/components/schemas/AuditRun_FileChanges_DateDifferenceBounds'
            sizeDifference:
              $ref: '#/components/schemas/AuditRun_FileChanges_SizeDifferenceBounds'
            filename:
              $ref: '#/components/schemas/RequestFilename'
            changeType:
              $ref: '#/components/schemas/AuditRun_FileChanges_FileChangeType'
            anyRelatedTag:
              type: boolean
              description: Show all files with any related tag
    AuditRun_FileChanges_DateDifferenceBounds:
      type: object
      description: >-
        Filters absolute difference values, e.g. when min = 200 then -300 diff
        passes filter. Should have `min` and/or `max` properties defined. `min`
        is inclusive, `max` is exclusive.
      properties:
        min:
          $ref: >-
            #/components/schemas/AuditRun_FileChanges_DateDifferenceBoundInMinutes
        max:
          $ref: >-
            #/components/schemas/AuditRun_FileChanges_DateDifferenceBoundInMinutes
    AuditRun_FileChanges_DateDifferenceBoundInMinutes:
      type: integer
      description: date difference in minutes
      minimum: 1
    AuditRun_FileChanges_SizeDifferenceBounds:
      type: object
      description: >-
        Filters absolute difference values, e.g. when min = 200 then -300 diff
        passes filter. Should have `min` and/or `max` properties defined. `min`
        is inclusive, `max` is exclusive.
      properties:
        min:
          $ref: '#/components/schemas/AuditRun_FileChanges_SizeDifferenceBoundInBytes'
        max:
          $ref: '#/components/schemas/AuditRun_FileChanges_SizeDifferenceBoundInBytes'
    AuditRun_FileChanges_SizeDifferenceBoundInBytes:
      type: integer
      description: File size change in number of bytes
      minimum: 1
    AuditRun_FileChanges_SummaryDTO:
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - totalChangedFileCount
        - filteredChangedFileCount
        - totalNewFileCount
        - filteredNewFileCount
        - totalFileDateDifferenceCount
        - filteredFileDateDifferenceCount
        - totalFileSizeDifferenceCount
        - filteredFileSizeDifferenceCount
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        totalChangedFileCount:
          type: integer
          description: Total number of changed files discovered
        filteredChangedFileCount:
          type: integer
          description: Number of changed files passing all applied filters
        totalNewFileCount:
          type: integer
          description: Total number of new files discovered
        filteredNewFileCount:
          type: integer
          description: Number of new files discovered that pass all applied filters
        totalFileDateDifferenceCount:
          type: integer
          description: Total number of files with date change discovered
        filteredFileDateDifferenceCount:
          type: integer
          description: Number of files with date change passing all applied filters
        totalFileSizeDifferenceCount:
          type: integer
          description: Total number of files with size change discovered
        filteredFileSizeDifferenceCount:
          type: integer
          description: Number of files with size change passing all applied filters
    AuditRun_FileChanges_FilesSortColumn:
      type: string
      enum:
        - largest_size_diff
        - page_count
        - tag
        - filename
        - change_type
        - domain
        - party_type
        - largest_date_diff
    AuditRun_FileChanges_FilesDTO:
      type: object
      required:
        - metadata
        - files
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        files:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_FileChanges_FileItem'
    AuditRun_FileChanges_FileItem:
      description: If only one of them is null then this property has "unknown" change
      allOf:
        - $ref: '#/components/schemas/AuditRun_FileChanges_FileItemTrait'
        - type: object
          required:
            - pageCount
          properties:
            tag:
              $ref: '#/components/schemas/AuditRun_FileChanges_FileItemTag'
            largestDateDifference:
              $ref: >-
                #/components/schemas/AuditRun_FileChanges_DateDifferenceInMinutes
            largestSizeDifference:
              $ref: '#/components/schemas/AuditRun_FileChanges_SizeDifferenceInBytes'
            pageCount:
              type: integer
    AuditRun_FileChanges_FileChangeType:
      type: string
      enum:
        - new_file
        - not_changed
        - changed_file
        - deleted_file
        - unknown
    AuditRun_FileChanges_DateDifferenceInMinutes:
      type: integer
      description: >-
        Number of minutes for date difference between 2 file versions, can be
        negative
    AuditRun_FileChanges_SizeDifferenceInBytes:
      type: integer
      description: >-
        File size change in number of bytes between 2 file versions, can be
        negative
    AuditRun_FileChanges_FileItemTrait:
      type: object
      required:
        - filename
        - requestDomain
        - partyType
        - fileChangeType
      properties:
        filename:
          $ref: '#/components/schemas/RequestFilename'
        requestDomain:
          $ref: '#/components/schemas/RequestDomain'
        partyType:
          $ref: '#/components/schemas/NetworkRequestPartyType'
        fileChangeType:
          $ref: '#/components/schemas/AuditRun_FileChanges_FileChangeType'
    NetworkRequestPartyType:
      type: string
      description: >-
        Indicates the level of similarity of network request URL domain and its
        page URL domain
      enum:
        - 1st_party
        - 3rd_party
    AuditRun_FileChanges_FileItemTag:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
    AuditRun_FileChanges_FilePagesRequestDTO:
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          required:
            - file
          properties:
            pageStatusCode:
              $ref: '#/components/schemas/StatusCodeEnum'
            dateDifference:
              $ref: '#/components/schemas/AuditRun_FileChanges_DateDifferenceBounds'
            sizeDifference:
              $ref: '#/components/schemas/AuditRun_FileChanges_SizeDifferenceBounds'
            file:
              $ref: '#/components/schemas/AuditRun_FileChanges_PagesRequestFile'
            changeType:
              $ref: '#/components/schemas/AuditRun_FileChanges_FileChangeType'
    AuditRun_FileChanges_PagesRequestFile:
      allOf:
        - $ref: '#/components/schemas/AuditRun_FileChanges_FileItemTrait'
        - type: object
          properties:
            tagId:
              $ref: '#/components/schemas/TagId'
    AuditRun_FileChanges_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
    AuditRun_FileChanges_PagesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_FileChanges_PageItem'
    AuditRun_FileChanges_PageItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
    RunData_ItemTypeEnum:
      type: string
      enum:
        - audit
    RunData_RequestDTO:
      type: array
      items:
        $ref: '#/components/schemas/RunData_RequestItemDTO'
    RunData_RequestItemDTO:
      type: object
      required:
        - itemType
        - itemId
        - runId
      properties:
        itemType:
          $ref: '#/components/schemas/RunData_ItemTypeEnum'
        itemId:
          type: integer
          format: int64
          example: 107239
        runId:
          $ref: '#/components/schemas/RunId'
    RunData_Tags_SortColumn:
      type: string
      enum:
        - tag_name
    RunData_Cookies_SortColumn:
      type: string
      enum:
        - cookie_name
        - cookie_domain
    RunData_Request_Domains_SortColumn:
      type: string
      enum:
        - request_domain
    RunData_TagItemDTO:
      type: object
      properties:
        accounts:
          type: array
          maxItems: 500
          uniqueItems: true
          items:
            $ref: '#/components/schemas/TagAccount'
        tagId:
          $ref: '#/components/schemas/TagId'
        tagName:
          type: string
    RunData_CookieItemDTO:
      type: object
      properties:
        domain:
          type: string
        name:
          type: string
    RunData_RequestDomainItemDTO:
      type: object
      properties:
        domain:
          type: string
        countries:
          type: array
          items:
            $ref: '#/components/schemas/RunData_RequestDomainCountryDTO'
    RunData_RequestDomainCountryDTO:
      type: object
      properties:
        countryCode:
          $ref: '#/components/schemas/CountryCode'
        countryName:
          type: string
        countryCodeId:
          type: integer
        continentId:
          type: integer
        continentName:
          type: string
    RunData_TagsDTO:
      type: object
      required:
        - metadata
        - tags
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/RunData_TagItemDTO'
    RunData_CookiesDTO:
      type: object
      required:
        - metadata
        - cookies
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/RunData_CookieItemDTO'
    RunData_RequestDomains:
      type: object
      required:
        - metadata
        - requestDomains
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        requestDomains:
          type: array
          items:
            $ref: '#/components/schemas/RunData_RequestDomainItemDTO'
    AuditRun_CookiePrivacy_RequestDTO:
      description: >-
        Request body with filters for Cookie Privacy report.
        `consentCategorySnapshotId` is deprecated, need to use
        `consentCategoryId` instead
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - $ref: '#/components/schemas/CookieFiltersTrait'
        - type: object
          properties:
            cookieName:
              $ref: '#/components/schemas/StringInclusionFilter'
            cookieDomain:
              $ref: '#/components/schemas/StringInclusionFilter'
            consentCategoryId:
              $ref: '#/components/schemas/ConsentCategoryId'
            consentCategorySnapshotId:
              $ref: '#/components/schemas/ConsentCategorySnapshotId'
            consentCategoryComplianceStatus:
              $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
    AuditRun_CookiePrivacy_SummaryDTO:
      description: Cookie Privacy report summary
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - totalUniqueCookieCount
        - filteredUniqueCookieCount
        - totalApprovedCookieCount
        - filteredApprovedCookieCount
        - totalUnapprovedCookieCount
        - filteredUnapprovedCookieCount
        - filteredPageWithUnapprovedCookieCount
        - runHasNoConsentCategoriesAssigned
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        totalUniqueCookieCount:
          type: integer
          description: >-
            Total number of unique cookies discovered. Cookie uniqueness
            determined by cookie name and domain
        filteredUniqueCookieCount:
          type: integer
          description: Number of unique cookies passing all applied filters
        totalApprovedCookieCount:
          type: integer
          description: Total number of approved cookies discovered
        filteredApprovedCookieCount:
          type: integer
          description: Number of approved cookies passing all applied filters
        totalUnapprovedCookieCount:
          type: integer
          description: Total number of unapproved cookies discovered
        filteredUnapprovedCookieCount:
          type: integer
          description: Number of unapproved cookies passing all applied filters
        filteredPageWithUnapprovedCookieCount:
          type: integer
          description: Number of pages with unapproved cookies passing all applied filters
        runHasNoConsentCategoriesAssigned:
          $ref: '#/components/schemas/RunHasNoConsentCategoriesAssigned'
    AuditRun_CookiePrivacy_TrendsDTO:
      description: Cookie Privacy report trends
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_CookiePrivacy_TrendItem'
    AuditRun_CookiePrivacy_TrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalUniqueCookieCount
            - totalApprovedCookieCount
            - totalUnapprovedCookieCount
          properties:
            totalUniqueCookieCount:
              type: integer
              description: >-
                Total number of unique cookies discovered. Cookie uniqueness
                determined same as in Cookie Inventory
            totalApprovedCookieCount:
              type: integer
              description: Total number of approved cookies found in audit run
            totalUnapprovedCookieCount:
              type: integer
              description: Total number of unapproved cookies found in audit run
    AuditRun_CookiePrivacy_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - unique_cookies
        - approved_cookies
        - unapproved_cookies
    AuditRun_CookiePrivacy_CookiesComplianceDTO:
      description: Cookie Compliance data
      type: object
      required:
        - metadata
        - cookies
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_CookiePrivacy_CookieItem'
    AuditRun_CookiePrivacy_CookieItem:
      allOf:
        - $ref: '#/components/schemas/AggregatedCookieTrait'
        - type: object
          required:
            - cookieName
            - cookieDomain
            - filteredPageCount
          properties:
            cookieName:
              $ref: '#/components/schemas/CookieName'
            cookieDomain:
              $ref: '#/components/schemas/CookieDomain'
            consentCategoryComplianceStatus:
              $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
            consentCategoryName:
              $ref: '#/components/schemas/ConsentCategoryName'
            consentCategoryId:
              $ref: '#/components/schemas/ConsentCategoryId'
            consentCategorySnapshotId:
              $ref: '#/components/schemas/ConsentCategorySnapshotId'
            filteredPageCount:
              type: integer
    AuditRun_CookiePrivacy_CookiesSortColumn:
      type: string
      enum:
        - compliance_status
        - page_count
        - cookie_name
        - cookie_domain
        - consent_category_name
        - cookie_changed_during
    AuditRun_CookiePrivacy_CookiePagesRequestDTO:
      description: '`cookieName` and `cookieDomain` are deprecated'
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - $ref: '#/components/schemas/CookieFiltersTrait'
        - type: object
          properties:
            cookieName:
              deprecated: true
              type: string
              description: Cookie name
            cookieDomain:
              deprecated: true
              type: string
              description: Cookie domain; preceding dot removed
            cookie:
              type: object
              required:
                - name
                - domain
              properties:
                name:
                  $ref: '#/components/schemas/CookieName'
                domain:
                  $ref: '#/components/schemas/CookieDomain'
    AuditRun_CookiePrivacy_PagesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_CookiePrivacy_PageItem'
    AuditRun_CookiePrivacy_PageItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - cookieCount
          properties:
            cookieCount:
              type: integer
              description: Number of distinct cookie name+domain pairs on a page
    AuditRun_CookiePrivacy_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - cookie_count
    AuditRun_TagPrivacy_RequestDTO:
      description: >-
        Request body with filters for Tag Privacy report.
        `consentCategorySnapshotId` is deprecated, need to use
        `consentCategoryId` instead
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            primaryTagsOnly:
              type: boolean
              description: >-
                If true then return only pages/tags with primary tags else
                return all pages/tags
            tagId:
              $ref: '#/components/schemas/TagId'
            tagCategoryId:
              $ref: '#/components/schemas/TagCategoryId'
            tagVendorId:
              $ref: '#/components/schemas/TagVendorId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            consentCategoryId:
              $ref: '#/components/schemas/ConsentCategoryId'
            consentCategorySnapshotId:
              $ref: '#/components/schemas/ConsentCategorySnapshotId'
            consentCategoryComplianceStatus:
              $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
    AuditRun_TagPrivacy_SummaryDTO:
      description: Tag Privacy report summary
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - totalUniqueTagCount
        - filteredUniqueTagCount
        - totalApprovedTagCount
        - filteredApprovedTagCount
        - totalUnapprovedTagCount
        - filteredUnapprovedTagCount
        - filteredPageWithUnapprovedTagCount
        - runHasNoConsentCategoriesAssigned
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        totalUniqueTagCount:
          type: integer
          description: Total number of unique tag vendors discovered
        filteredUniqueTagCount:
          type: integer
          description: Number of unique tag vendors passing all applied filters
        totalApprovedTagCount:
          type: integer
          description: Total number of approved tag vendors discovered
        filteredApprovedTagCount:
          type: integer
          description: Number of approved tags passing all applied filters
        totalUnapprovedTagCount:
          type: integer
          description: Total number of unapproved tag vendors discovered
        filteredUnapprovedTagCount:
          type: integer
          description: Number of unapproved tags passing all applied filters
        filteredPageWithUnapprovedTagCount:
          type: integer
          description: Number of pages with unapproved tags passing all applied filters
        runHasNoConsentCategoriesAssigned:
          type: boolean
          description: |
            When TRUE, run did not have any consent categories assigned.
            When NOT specified or FALSE, it had at least one.
    AuditRun_TagPrivacy_TrendsDTO:
      description: Tag Privacy report trends
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_TagPrivacy_TrendItem'
    AuditRun_TagPrivacy_TrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalUniqueTagCount
            - totalApprovedTagCount
            - totalUnapprovedTagCount
          properties:
            totalUniqueTagCount:
              type: integer
              description: Total number of unique tag vendors discovered
            totalApprovedTagCount:
              type: integer
              description: Total number of approved tags found in audit run
            totalUnapprovedTagCount:
              type: integer
              description: Total number of unapproved tags found in audit run
    AuditRun_TagPrivacy_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - unique_tags
        - approved_tags
        - unapproved_tags
    AuditRun_TagPrivacy_TagsComplianceDTO:
      description: Tag Compliance data
      type: object
      required:
        - metadata
        - tags
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagPrivacy_TagItem'
    AuditRun_TagPrivacy_TagItem:
      allOf:
        - $ref: '#/components/schemas/TagInfoTrait'
        - type: object
          required:
            - tagAccount
            - consentCategoryComplianceStatus
            - filteredPageCount
          properties:
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
            consentCategoryComplianceStatus:
              $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
            consentCategorySnapshotId:
              $ref: '#/components/schemas/ConsentCategorySnapshotId'
            consentCategoryName:
              $ref: '#/components/schemas/ConsentCategoryName'
            filteredPageCount:
              type: integer
    AuditRun_TagPrivacy_TagsSortColumn:
      type: string
      enum:
        - compliance_status
        - page_count
        - tag_name
        - consent_category_name
    AuditRun_TagPrivacy_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - tag_count
    AuditRun_TagPrivacy_TagPagesRequestDTO:
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          required:
            - tagId
            - tagAccount
          properties:
            tagId:
              $ref: '#/components/schemas/TagId'
            tagAccount:
              $ref: '#/components/schemas/TagAccount'
    AuditRun_TagPrivacy_PagesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_TagPrivacy_PageItem'
    AuditRun_TagPrivacy_PageItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - tagRequestCount
          properties:
            tagRequestCount:
              type: integer
              description: Number of tag requests on a page
    AuditRun_RequestPrivacy_RequestDTO:
      description: >-
        Request body with filters for Request Privacy report.
        `consentCategorySnapshotId` is deprecated, need to use
        `consentCategoryId` instead
      type: object
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            requestDomain:
              $ref: '#/components/schemas/RequestDomain'
            consentCategoryId:
              $ref: '#/components/schemas/ConsentCategoryId'
            consentCategorySnapshotId:
              $ref: '#/components/schemas/ConsentCategorySnapshotId'
            consentCategoryComplianceStatus:
              $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
            countryCode:
              $ref: '#/components/schemas/CountryCode'
    AuditRun_RequestPrivacy_SummaryDTO:
      description: Request Privacy report summary
      type: object
      required:
        - totalPageCount
        - filteredPageCount
        - totalRequestCount
        - filteredRequestCount
        - filteredUniqueRequestDomainCount
        - filteredUniqueRequestGeoCount
        - totalApprovedRequestCount
        - totalUniqueApprovedRequestDomainCount
        - filteredApprovedRequestCount
        - filteredUniqueApprovedRequestDomainCount
        - totalUnapprovedRequestCount
        - totalUniqueUnapprovedRequestDomainCount
        - filteredUnapprovedRequestCount
        - filteredUniqueUnapprovedRequestDomainCount
        - filteredPageWithUnapprovedRequestCount
        - runHasNoConsentCategoriesAssigned
      properties:
        totalPageCount:
          type: integer
          description: Total number of pages audited
        filteredPageCount:
          type: integer
          description: Number of pages passing all applied filters
        totalRequestCount:
          type: integer
          description: Total number of network requests discovered
        filteredRequestCount:
          type: integer
          description: Number of network request passing all applied filters
        filteredUniqueRequestDomainCount:
          type: integer
          description: Number of unique network request domains passing all applied filters
        filteredUniqueRequestGeoCount:
          type: integer
          description: >-
            Number of unique network request geolocations passing all applied
            filters
        totalApprovedRequestCount:
          type: integer
          description: Total number of approved domain+geo pairs discovered
          deprecated: true
        totalUniqueApprovedRequestDomainCount:
          type: integer
          description: Total number of unique approved request domains discovered
        filteredApprovedRequestCount:
          type: integer
          description: Number of approved domain+geo pairs passing all applied filters
          deprecated: true
        filteredUniqueApprovedRequestDomainCount:
          type: integer
          description: >-
            Number of unique approved request domains passing all applied
            filters
        totalUnapprovedRequestCount:
          type: integer
          description: Total number of unapproved domain+geo pairs discovered
          deprecated: true
        totalUniqueUnapprovedRequestDomainCount:
          type: integer
          description: Total number of unique unapproved domains discovered
        filteredUnapprovedRequestCount:
          type: integer
          description: Number of unapproved domain+geo pairs passing all applied filters
          deprecated: true
        filteredUniqueUnapprovedRequestDomainCount:
          type: integer
          description: Number of unique unapproved domains passing all applied filters
        filteredPageWithUnapprovedRequestCount:
          type: integer
          description: >-
            Number of pages with unapproved domains or geos passing all applied
            filters
        runHasNoConsentCategoriesAssigned:
          $ref: '#/components/schemas/RunHasNoConsentCategoriesAssigned'
    AuditRun_RequestPrivacy_TrendsDTO:
      description: Request Privacy report trends
      required:
        - runs
      properties:
        runs:
          type: array
          maxItems: 5
          items:
            $ref: '#/components/schemas/AuditRun_RequestPrivacy_TrendItem'
    AuditRun_RequestPrivacy_TrendItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - totalRequestCount
            - totalUniqueRequestDomainCount
            - totalUniqueRequestGeoCount
            - totalApprovedRequestCount
            - totalUniqueApprovedRequestDomainCount
            - totalUnapprovedRequestCount
            - totalUniqueUnapprovedRequestDomainCount
          properties:
            totalRequestCount:
              type: integer
              description: Total number of network requests discovered
            totalUniqueRequestDomainCount:
              type: integer
              description: Total number of unique network request domains discovered
            totalUniqueRequestGeoCount:
              type: integer
              description: Total number of unique network request geolocations discovered
            totalApprovedRequestCount:
              type: integer
              description: Total number of approved domain+geo pairs discovered
              deprecated: true
            totalUniqueApprovedRequestDomainCount:
              type: integer
              description: Total number of unique approved request domains discovered
            totalUnapprovedRequestCount:
              type: integer
              description: Total number of unapproved domain+geo pairs discovered
              deprecated: true
            totalUniqueUnapprovedRequestDomainCount:
              type: integer
              description: Total number of unique unapproved domains discovered
    AuditRun_RequestPrivacy_TrendsEnum:
      type: string
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.TrendEnumCompatibleWithRunsGrid
      enum:
        - request_count
        - unique_domains
        - unique_geos
        - approved_requests
        - unique_approved_domains
        - unapproved_requests
        - unique_unapproved_domains
    AuditRun_RequestPrivacy_RequestLocationsDTO:
      type: object
      required:
        - locations
      properties:
        locations:
          description: >-
            Same `requestGeo.country` may be repeated in different array
            elements and may have different `status`es with different consent
            categories
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestLocationItem'
    AuditRun_RequestPrivacy_RequestLocationItem:
      type: object
      description: >-
        Consent category id & name are absent if location has not been matched
        by any consent category
      required:
        - requestGeo
        - requestCount
      properties:
        requestGeo:
          $ref: '#/components/schemas/AuditRun_RequestPrivacy_GeoLocation'
        requestCount:
          type: integer
        status:
          $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
    AuditRun_RequestPrivacy_RequestsComplianceDTO:
      description: Request Compliance data
      type: object
      required:
        - metadata
        - requests
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        requests:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_RequestPrivacy_RequestItem'
    AuditRun_RequestPrivacy_RequestsSortColumn:
      type: string
      enum:
        - compliance_status
        - page_count
        - domain
        - geo
        - request_count
        - consent_category_name
    AuditRun_RequestPrivacy_RequestItem:
      type: object
      required:
        - requestDomain
        - requestCount
        - consentCategoryComplianceStatus
        - filteredPageCount
      properties:
        requestDomain:
          $ref: '#/components/schemas/RequestDomain'
        requestGeo:
          $ref: '#/components/schemas/AuditRun_RequestPrivacy_GeoLocation'
        requestCount:
          type: integer
        consentCategoryComplianceStatus:
          $ref: '#/components/schemas/ConsentCategoryComplianceStatus'
        consentCategorySnapshotId:
          $ref: '#/components/schemas/ConsentCategorySnapshotId'
        consentCategoryName:
          $ref: '#/components/schemas/ConsentCategoryName'
        filteredPageCount:
          type: integer
    AuditRun_RequestPrivacy_GeoLocation:
      type: object
      required:
        - countryCode
        - countryName
      properties:
        countryCode:
          $ref: '#/components/schemas/CountryCode'
        countryName:
          type: string
          example: United States
    AuditRun_RequestPrivacy_RequestPagesRequestDTO:
      type: object
      required:
        - requestDomain
      allOf:
        - $ref: '#/components/schemas/PageFiltersTrait'
        - type: object
          properties:
            requestDomain:
              $ref: '#/components/schemas/RequestDomain'
            countryCode:
              $ref: '#/components/schemas/CountryCode'
    AuditRun_RequestPrivacy_PagesDTO:
      type: object
      required:
        - metadata
        - pages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_RequestPrivacy_PageItem'
    AuditRun_RequestPrivacy_PageItem:
      allOf:
        - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
        - type: object
          required:
            - geoCount
            - requestCount
          properties:
            geoCount:
              type: integer
              description: Number of distinct geo locations on a page
            requestCount:
              type: integer
              description: Number of network requests discovered on a page
    AuditRun_RequestPrivacy_PagesSortColumn:
      type: string
      enum:
        - page_url
        - final_page_url
        - page_load_time
        - page_status_code
        - final_page_status_code
        - geo_count
        - request_count
    TagVariablesExportTagItem:
      type: object
      required:
        - tagId
        - tagAccounts
      properties:
        tagId:
          $ref: '#/components/schemas/TagId'
        allTagAccounts:
          type: boolean
          description: Set to `true` if you want to export more than 100 accounts
        tagAccounts:
          type: array
          description: Contents ignored if `allTagAccounts` flag is set to `true`.
          maxItems: 100
          items:
            $ref: '#/components/schemas/TagAccount'
    ConsentCategory_ExportTypeEnum:
      type: string
      description: All supported consent category export types (non-related to runs)
      enum:
        - ACCOUNT_CONSENT_CATEGORY_CONFIGS_EXPORT
    ManualJourneyRun_ExportTypeEnum:
      type: string
      description: All supported manual journey run export types
      enum:
        - FULL
    ManualJourneyRun_ExportRequestDTO:
      type: object
      properties:
        includeActions:
          type: boolean
        includeRequestLog:
          type: boolean
        includeRuleResults:
          type: boolean
        includeTagSummary:
          type: boolean
        includeTagDetails:
          type: boolean
    WebJourneyRun_ExportTypeEnum:
      type: string
      description: All supported web journey run export types
      enum:
        - ACTION_SUMMARY
        - ACTION_TAGS
        - ACTION_TAG_VARIABLES
        - RULE_SUMMARY
        - ACTION_COOKIES
        - ACTION_NETWORK_REQUESTS
        - ACTION_BROWSER_LOGS
    WebJourneyRun_ExportTypeToFilterMapping:
      description: >-
        This mapping describes what export request filters are supported by
        different audit run export types
      discriminator:
        propertyName: export_type
        mapping:
          ACTION_TAG_VARIABLES: '#/components/schemas/WebJourneyRun_ActionTagVariables_RequestDTO'
    WebJourneyRun_ActionTagVariables_RequestDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagVariablesExportTagItem'
    AlertExportTypeEnum:
      type: string
      description: All supported alert export types
      enum:
        - ACCOUNT_LEVEL_TRIGGERED_ALERTS_EXPORT
    AlertExportTypeToFilterMapping:
      description: >-
        This mapping describes what export request filters are supported by
        different alert export types
      discriminator:
        propertyName: export_type
        mapping:
          ACCOUNT_LEVEL_TRIGGERED_ALERTS_EXPORT: '#/components/schemas/AccountTriggeredAlertsRequestDTO'
    AlertExportTypeToSortColumnMapping:
      description: >-
        This mapping describes what `sortBy` column enums are supported by
        different alert export types
      discriminator:
        propertyName: export_type
        mapping:
          ACCOUNT_LEVEL_TRIGGERED_ALERTS_EXPORT: '#/components/schemas/GetAccountTriggeredAlertsSortColumn'
    AccountUsageExportTypeEnum:
      type: string
      description: All supported usage export types
      enum:
        - AUDIT_RUNS_EXPORT
        - WEB_JOURNEY_RUNS_EXPORT
    AccountUsageExportTypeToFilterMapping:
      description: >-
        This mapping describes what export request filters are supported by
        different usage export types
      discriminator:
        propertyName: export_type
        mapping:
          AUDIT_RUNS_EXPORT: '#/components/schemas/AccountUsageV2_ExportRequestDTO'
          WEB_JOURNEY_RUNS_EXPORT: '#/components/schemas/AccountUsageV2_ExportRequestDTO'
    AuditRun_ExportTypeEnum:
      type: string
      description: All supported audit run export types
      enum:
        - AUDIT_SUMMARY_DETECTED_TAGS
        - RULE_SUMMARY_PAGE_RESULTS
        - RULE_SUMMARY_PAGE_RULE_RESULTS
        - PAGE_SUMMARY_PAGES
        - PAGE_SUMMARY_BROKEN_SCANNED_LINKS
        - TAG_INVENTORY_PAGES
        - TAG_HEALTH_PAGES
        - TAG_DUPLICATES_AND_MULTIPLES_PAGES
        - VARIABLE_INVENTORY_TAG_ACCOUNT_PAGES
        - VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_PAGES
        - VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_NOT_SET_PAGES
        - VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_VALUE_PAGES
        - COOKIE_INVENTORY_PAGES
        - COOKIE_INVENTORY_COOKIE_PAGES
        - COOKIE_INVENTORY_COOKIES_AGGREGATED
        - BROWSER_LOGS_PAGES
        - TAG_PRIVACY_COMPLIANCE
        - TAG_PRIVACY_PAGES
        - TAG_PRIVACY_TAG_PAGES
        - COOKIE_PRIVACY_COMPLIANCE
        - COOKIE_PRIVACY_PAGES
        - COOKIE_PRIVACY_COOKIE_PAGES
        - REQUEST_PRIVACY_COMPLIANCE
        - REQUEST_PRIVACY_PAGES
        - REQUEST_PRIVACY_REQUEST_PAGES
        - FILE_CHANGES_PAGES
        - FILE_CHANGES_FILE_PAGES
        - TAG_METADATA
        - TAG_INVENTORY_PAGE_TAGS
        - COOKIE_INVENTORY_COOKIES
        - BROWSER_LOGS_PAGE_LOGS
        - NETWORK_REQUEST_LOG_PAGE_REQUESTS
        - RULE_SUMMARY_RULES
        - VARIABLE_INVENTORY_TAG_VARIABLES
        - ALERT_SUMMARY_ALERTS
    AuditRun_ExportTypeToFilterMapping:
      description: >-
        This mapping describes what export request filters are supported by
        different audit run export types
      discriminator:
        propertyName: export_type
        mapping:
          AUDIT_SUMMARY_DETECTED_TAGS: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          RULE_SUMMARY_PAGE_RESULTS: '#/components/schemas/AuditRun_RuleSummary_AllRuleResultsRequestDTO'
          RULE_SUMMARY_PAGE_RULE_RESULTS: >-
            #/components/schemas/AuditRun_RuleSummary_SpecificRulePagesExportRequestDTO
          PAGE_SUMMARY_PAGES: '#/components/schemas/PageSummaryRequestDTO'
          TAG_INVENTORY_PAGES: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
          TAG_INVENTORY_PAGE_TAGS: '#/components/schemas/AuditRun_TagInventory_PageTagsRequestDTO'
          TAG_HEALTH_PAGES: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_DUPLICATES_AND_MULTIPLES_PAGES: >-
            #/components/schemas/AuditRun_TagDuplicatesAndMultiples_PagesRequestDTO
          VARIABLE_INVENTORY_TAG_ACCOUNT_PAGES: '#/components/schemas/AuditRun_VariableInventory_TagAccountRequestDTO'
          VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_PAGES: >-
            #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
          VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_NOT_SET_PAGES: >-
            #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
          VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_VALUE_PAGES: >-
            #/components/schemas/AuditRun_VariableInventory_TagAccountVariableRequestDTO
          COOKIE_INVENTORY_PAGES: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          COOKIE_INVENTORY_COOKIE_PAGES: '#/components/schemas/AuditRun_CookieInventory_CookiePagesRequestDTO'
          COOKIE_INVENTORY_COOKIES_AGGREGATED: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          BROWSER_LOGS_PAGES: '#/components/schemas/AuditRun_BrowserLogs_PagesRequestDTO'
          TAG_PRIVACY_COMPLIANCE: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          TAG_PRIVACY_PAGES: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          TAG_PRIVACY_TAG_PAGES: '#/components/schemas/AuditRun_TagPrivacy_TagPagesRequestDTO'
          COOKIE_PRIVACY_COMPLIANCE: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          COOKIE_PRIVACY_PAGES: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          COOKIE_PRIVACY_COOKIE_PAGES: '#/components/schemas/AuditRun_CookiePrivacy_CookiePagesRequestDTO'
          REQUEST_PRIVACY_COMPLIANCE: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          REQUEST_PRIVACY_PAGES: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          REQUEST_PRIVACY_REQUEST_PAGES: '#/components/schemas/AuditRun_RequestPrivacy_RequestPagesRequestDTO'
          FILE_CHANGES_PAGES: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
          FILE_CHANGES_FILE_PAGES: '#/components/schemas/AuditRun_FileChanges_FilePagesRequestDTO'
          VARIABLE_INVENTORY_TAG_VARIABLES: >-
            #/components/schemas/AuditRun_VariableInventory_TagVariablesExportRequestDTO
          ALERT_SUMMARY_ALERTS: '#/components/schemas/AuditRun_AlertSummary_SummaryRequestDTO'
    AuditRun_ExportTypeToSortColumnMapping:
      description: >-
        This mapping describes what `sortBy` column enums are supported by
        different audit run export types
      discriminator:
        propertyName: export_type
        mapping:
          RULE_SUMMARY_PAGE_RESULTS: '#/components/schemas/AuditRun_RuleSummary_AllRules_PagesSortColumn'
          RULE_SUMMARY_PAGE_RULE_RESULTS: >-
            #/components/schemas/AuditRun_RuleSummary_SpecificRule_PagesSortColumn
          PAGE_SUMMARY_PAGES: '#/components/schemas/AuditRun_PageSummary_PagesSortColumn'
          TAG_INVENTORY_PAGES: '#/components/schemas/AuditRun_TagInventory_PagesSortColumn'
          TAG_HEALTH_PAGES: '#/components/schemas/AuditRun_TagHealth_PageSortColumn'
          TAG_DUPLICATES_AND_MULTIPLES_PAGES: >-
            #/components/schemas/AuditRun_TagDuplicatesAndMultiples_PagesSortColumn
          VARIABLE_INVENTORY_TAG_ACCOUNT_PAGES: '#/components/schemas/AuditRun_VariableInventory_PagesSortColumn'
          VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_PAGES: '#/components/schemas/AuditRun_VariableInventory_PagesSortColumn'
          VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_NOT_SET_PAGES: '#/components/schemas/AuditRun_VariableInventory_PagesSortColumn'
          VARIABLE_INVENTORY_TAG_ACCOUNT_VARIABLE_VALUE_PAGES: '#/components/schemas/AuditRun_VariableInventory_PagesSortColumn'
          COOKIE_INVENTORY_PAGES: '#/components/schemas/AuditRun_CookieInventory_PageSortColumn'
          COOKIE_INVENTORY_COOKIE_PAGES: '#/components/schemas/AuditRun_CookieInventory_PageSortColumn'
          COOKIE_INVENTORY_COOKIES_AGGREGATED: '#/components/schemas/AuditRun_CookieInventory_CookiesSortColumn'
          BROWSER_LOGS_PAGES: '#/components/schemas/AuditRun_BrowserLogs_PagesSortColumn'
          TAG_PRIVACY_COMPLIANCE: '#/components/schemas/AuditRun_TagPrivacy_TagsSortColumn'
          TAG_PRIVACY_PAGES: '#/components/schemas/AuditRun_TagPrivacy_PagesSortColumn'
          TAG_PRIVACY_TAG_PAGES: '#/components/schemas/AuditRun_TagPrivacy_PagesSortColumn'
          COOKIE_PRIVACY_COMPLIANCE: '#/components/schemas/AuditRun_CookiePrivacy_CookiesSortColumn'
          COOKIE_PRIVACY_PAGES: '#/components/schemas/AuditRun_CookiePrivacy_PagesSortColumn'
          COOKIE_PRIVACY_COOKIE_PAGES: '#/components/schemas/AuditRun_CookiePrivacy_PagesSortColumn'
          REQUEST_PRIVACY_COMPLIANCE: '#/components/schemas/AuditRun_RequestPrivacy_RequestsSortColumn'
          REQUEST_PRIVACY_PAGES: '#/components/schemas/AuditRun_RequestPrivacy_PagesSortColumn'
          REQUEST_PRIVACY_REQUEST_PAGES: '#/components/schemas/AuditRun_RequestPrivacy_PagesSortColumn'
          FILE_CHANGES_PAGES: '#/components/schemas/AuditRun_FileChanges_PagesSortColumn'
          FILE_CHANGES_FILE_PAGES: '#/components/schemas/AuditRun_FileChanges_PagesSortColumn'
          ALERT_SUMMARY_ALERTS: '#/components/schemas/AuditRun_AuditSummary_AlertsSortColumn'
    AuditRun_VariableInventory_TagVariablesExportRequestDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagVariablesExportTagItem'
    AuditRun_TagInventory_PageTagsRequestDTO:
      type: object
      required:
        - tags
      properties:
        tags:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_TagInventory_PageTagsExportTagAccountItem
    AuditRun_TagInventory_PageTagsExportTagAccountItem:
      type: object
      required:
        - tagId
        - account
      properties:
        tagId:
          $ref: '#/components/schemas/TagId'
        account:
          $ref: '#/components/schemas/TagAccount'
    ExportResultDTO:
      type: object
      required:
        - exportId
      properties:
        exportId:
          $ref: '#/components/schemas/ExportId'
    ExportTypeEnum:
      type: string
      description: Enumeration of all high-level export types
      enum:
        - AUDIT_RUN_EXPORT
        - WEB_JOURNEY_RUN_EXPORT
        - MANUAL_JOURNEY_RUN_EXPORT
        - CONSENT_CATEGORY_EXPORT
        - ALERT_EXPORT
        - ACCOUNT_USAGE_EXPORT
        - GRID_DATA_EXPORT
    AlertName:
      type: string
      minLength: 1
      description: User-defined name of the alert
    AdHocAlertsRequestDTO:
      type: object
      required:
        - alerts
      properties:
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AdHocAlertRequestItem'
    AdHocAlertRequestItem:
      type: object
      description: >
        Alert is triggered when comparison holds: `actual value`
        &lt;targetValueComparisonOperator&gt; `targetValue`
      required:
        - name
        - metricType
        - targetValueComparator
        - filtersV0
      properties:
        name:
          $ref: '#/components/schemas/AlertName'
        metricType:
          $ref: '#/components/schemas/AlertMetricTypeEnum'
        metricChangeType:
          $ref: '#/components/schemas/AlertMetricChangeTypeEnum'
        targetValueComparator:
          $ref: '#/components/schemas/AlertMetricValueComparator'
        filtersV0:
          type: object
          description: >
            Filters to be applied before computing the alert. Exact type depends
            on `metricType`, see mapping in `AlertMetricTypeToFilterMapping`
    AlertMetricTypeEnum:
      type: string
      description: |
        Deprecated metric types:
          - ACCOUNT_USAGE_THIS_MONTH_AUDIT_PAGE_SCANNED_COUNT
          - ACCOUNT_USAGE_12_MONTH_AUDIT_PAGE_SCANNED_COUNT
          - ACCOUNT_USAGE_12_MONTH_WJ_RUN_COUNT
          - ACCOUNT_USAGE_THIS_MONTH_WJ_RUN_COUNT
          - ACCOUNT_USAGE_LAST_30_DAYS_LOGIN_USER_COUNT
          - PAGE_SUMMARY_FAILED_RULE_COUNT
      enum:
        - ACCOUNT_USAGE_THIS_MONTH_AUDIT_PAGE_SCANNED_COUNT
        - ACCOUNT_USAGE_12_MONTH_AUDIT_PAGE_SCANNED_COUNT
        - ACCOUNT_USAGE_12_MONTH_WJ_RUN_COUNT
        - ACCOUNT_USAGE_THIS_MONTH_WJ_RUN_COUNT
        - ACCOUNT_USAGE_LAST_30_DAYS_LOGIN_USER_COUNT
        - ACCOUNT_USAGE_V2_THIS_MONTH_AUDIT_PAGE_USAGE_PERCENTAGE
        - ACCOUNT_USAGE_V2_CURRENT_TERM_PAGE_USAGE_PERCENTAGE
        - ACCOUNT_USAGE_V2_CURRENT_TERM_WJ_RUN_USAGE_PERCENTAGE
        - ACCOUNT_USAGE_V2_THIS_MONTH_WJ_RUN_USAGE_PERCENTAGE
        - ACCOUNT_USAGE_V2_LAST_30_DAYS_LOGIN_USER_COUNT
        - SCORE_TOTAL
        - SCORE_TAG_PRESENCE
        - SCORE_TAG_PERFORMANCE
        - SCORE_RULES
        - SCORE_PAGE_PERFORMANCE
        - SCORE_COOKIE
        - PAGE_SUMMARY_PAGE_COUNT
        - PAGE_SUMMARY_AVG_PAGE_LOAD_TIME
        - PAGE_SUMMARY_BROKEN_INITIAL_PAGE_COUNT
        - PAGE_SUMMARY_BROKEN_FINAL_PAGE_COUNT
        - PAGE_SUMMARY_PAGE_WITH_BROKEN_LINKS_COUNT
        - PAGE_SUMMARY_FAILED_RULE_COUNT
        - PAGE_SUMMARY_WEB_VITALS_P75_LARGEST_CONTENTFUL_PAINT
        - PAGE_SUMMARY_WEB_VITALS_P75_FIRST_CONTENTFUL_PAINT
        - PAGE_SUMMARY_WEB_VITALS_P75_TIME_TO_FIRST_BYTE
        - PAGE_SUMMARY_WEB_VITALS_P75_CUMULATIVE_LAYOUT_SHIFT
        - TAG_INVENTORY_PAGE_COUNT
        - TAG_INVENTORY_UNIQUE_TAG_COUNT
        - TAG_INVENTORY_BROKEN_TAG_COUNT
        - TAG_INVENTORY_BROKEN_PAGE_COUNT
        - TAG_HEALTH_PAGE_COUNT
        - TAG_HEALTH_AVG_TAG_LOAD_TIME
        - TAG_HEALTH_AVG_TAG_REQUEST_SIZE
        - TAG_HEALTH_SLOW_TAG_PERCENTAGE
        - TAG_HEALTH_BROKEN_TAG_PERCENTAGE
        - TAG_HEALTH_TAG_REQUEST_COUNT
        - TAG_DUPLICATES_AND_MULTIPLES_PAGE_COUNT
        - TAG_DUPLICATES_AND_MULTIPLES_UNIQUE_TAG_COUNT
        - TAG_DUPLICATES_AND_MULTIPLES_TAG_REQUEST_COUNT
        - TAG_DUPLICATES_AND_MULTIPLES_TAG_DUPLICATE_COUNT
        - TAG_DUPLICATES_AND_MULTIPLES_TAG_MULTIPLE_COUNT
        - VARIABLE_INVENTORY_PAGE_COUNT
        - VARIABLE_INVENTORY_UNIQUE_TAG_COUNT
        - VARIABLE_INVENTORY_TAG_REQUEST_COUNT
        - VARIABLE_INVENTORY_UNIQUE_VARIABLE_COUNT
        - VARIABLE_INVENTORY_UNIQUE_VARIABLE_VALUE_COUNT
        - BROWSER_LOGS_PAGE_COUNT
        - BROWSER_LOGS_ERROR_LOG_COUNT
        - BROWSER_LOGS_WARN_LOG_COUNT
        - BROWSER_LOGS_INFO_LOG_COUNT
        - BROWSER_LOGS_DEBUG_LOG_COUNT
        - BROWSER_LOGS_OTHER_LOG_COUNT
        - COOKIE_INVENTORY_PAGE_COUNT
        - COOKIE_INVENTORY_UNIQUE_COOKIE_COUNT
        - COOKIE_INVENTORY_FIRST_PARTY_COOKIE_COUNT
        - COOKIE_INVENTORY_THIRD_PARTY_COOKIE_COUNT
        - COOKIE_INVENTORY_NON_SECURE_COOKIE_COUNT
        - COOKIE_INVENTORY_SAME_SITE_EMPTY_COOKIE_COUNT
        - PRIVACY_COOKIES_PAGE_COUNT
        - PRIVACY_COOKIES_PAGE_WITH_UNAPPROVED_COOKIES_COUNT
        - PRIVACY_COOKIES_UNIQUE_COOKIE_COUNT
        - PRIVACY_COOKIES_APPROVED_COOKIE_COUNT
        - PRIVACY_COOKIES_UNAPPROVED_COOKIE_COUNT
        - PRIVACY_TAGS_PAGE_COUNT
        - PRIVACY_TAGS_PAGE_WITH_UNAPPROVED_TAGS_COUNT
        - PRIVACY_TAGS_UNIQUE_TAG_COUNT
        - PRIVACY_TAGS_APPROVED_TAG_COUNT
        - PRIVACY_TAGS_UNAPPROVED_TAG_COUNT
        - PRIVACY_REQUESTS_PAGE_COUNT
        - PRIVACY_REQUESTS_PAGE_WITH_UNAPPROVED_REQUESTS_COUNT
        - PRIVACY_REQUESTS_REQUEST_COUNT
        - PRIVACY_REQUESTS_UNIQUE_DOMAIN_COUNT
        - PRIVACY_REQUESTS_UNIQUE_LOCATION_COUNT
        - PRIVACY_REQUESTS_APPROVED_REQUEST_COUNT
        - PRIVACY_REQUESTS_UNAPPROVED_REQUEST_COUNT
        - FILE_CHANGES_PAGE_COUNT
        - FILE_CHANGES_CHANGED_FILE_COUNT
        - FILE_CHANGES_NEW_FILE_COUNT
        - FILE_CHANGES_FILE_DATE_CHANGE_COUNT
        - FILE_CHANGES_FILE_SIZE_CHANGE_COUNT
        - RULE_RESULTS_PAGE_COUNT
        - RULE_RESULTS_RULE_COUNT
        - RULE_RESULTS_RULE_FAILURE_COUNT
        - RULE_RESULTS_FAILED_RULE_COUNT
        - RULE_RESULTS_PASSED_RULE_COUNT
        - RULE_RESULTS_NOT_APPLIED_RULE_COUNT
        - RULE_RESULTS_FAILED_RULE_PAGE_COUNT
        - RULE_RESULTS_PASSED_RULE_PAGE_COUNT
        - RULE_RESULTS_NOT_APPLIED_RULE_PAGE_COUNT
    AlertMetricTypeToFilterMapping:
      description: >-
        This mapping describes what alert filters are supported by different
        alert metric types - `AlertMetricTypeEnum`
      discriminator:
        propertyName: metricType
        mapping:
          ACCOUNT_USAGE_THIS_MONTH_AUDIT_PAGE_SCANNED_COUNT: '#/components/schemas/AccountUsage_RequestDTO'
          ACCOUNT_USAGE_12_MONTH_AUDIT_PAGE_SCANNED_COUNT: '#/components/schemas/AccountUsage_RequestDTO'
          ACCOUNT_USAGE_12_MONTH_WJ_RUN_COUNT: '#/components/schemas/AccountUsage_RequestDTO'
          ACCOUNT_USAGE_THIS_MONTH_WJ_RUN_COUNT: '#/components/schemas/AccountUsage_RequestDTO'
          ACCOUNT_USAGE_LAST_30_DAYS_LOGIN_USER_COUNT: '#/components/schemas/AccountUsage_RequestDTO'
          ACCOUNT_USAGE_V2_THIS_MONTH_AUDIT_PAGE_USAGE_PERCENTAGE: '#/components/schemas/AccountUsageV2_RequestDTO'
          ACCOUNT_USAGE_V2_CURRENT_TERM_PAGE_USAGE_PERCENTAGE: '#/components/schemas/AccountUsageV2_RequestDTO'
          ACCOUNT_USAGE_V2_CURRENT_TERM_WJ_RUN_USAGE_PERCENTAGE: '#/components/schemas/AccountUsageV2_RequestDTO'
          ACCOUNT_USAGE_V2_THIS_MONTH_WJ_RUN_USAGE_PERCENTAGE: '#/components/schemas/AccountUsageV2_RequestDTO'
          ACCOUNT_USAGE_V2_LAST_30_DAYS_LOGIN_USER_COUNT: '#/components/schemas/AccountUsageV2_RequestDTO'
          SCORE_TOTAL: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          SCORE_TAG_PRESENCE: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          SCORE_TAG_PERFORMANCE: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          SCORE_RULES: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          SCORE_PAGE_PERFORMANCE: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          SCORE_COOKIE: '#/components/schemas/AuditRun_AuditSummary_RequestDTO'
          PAGE_SUMMARY_PAGE_COUNT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_AVG_PAGE_LOAD_TIME: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_BROKEN_INITIAL_PAGE_COUNT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_BROKEN_FINAL_PAGE_COUNT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_PAGE_WITH_BROKEN_LINKS_COUNT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_FAILED_RULE_COUNT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_WEB_VITALS_P75_LARGEST_CONTENTFUL_PAINT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_WEB_VITALS_P75_FIRST_CONTENTFUL_PAINT: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_WEB_VITALS_P75_TIME_TO_FIRST_BYTE: '#/components/schemas/PageSummaryRequestDTO'
          PAGE_SUMMARY_WEB_VITALS_P75_CUMULATIVE_LAYOUT_SHIFT: '#/components/schemas/PageSummaryRequestDTO'
          TAG_INVENTORY_PAGE_COUNT: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
          TAG_INVENTORY_UNIQUE_TAG_COUNT: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
          TAG_INVENTORY_BROKEN_TAG_COUNT: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
          TAG_INVENTORY_BROKEN_PAGE_COUNT: '#/components/schemas/AuditRun_TagInventory_RequestDTO'
          TAG_HEALTH_PAGE_COUNT: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_HEALTH_AVG_TAG_LOAD_TIME: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_HEALTH_AVG_TAG_REQUEST_SIZE: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_HEALTH_SLOW_TAG_PERCENTAGE: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_HEALTH_BROKEN_TAG_PERCENTAGE: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_HEALTH_TAG_REQUEST_COUNT: '#/components/schemas/AuditRun_TagHealth_RequestDTO'
          TAG_DUPLICATES_AND_MULTIPLES_PAGE_COUNT: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO'
          TAG_DUPLICATES_AND_MULTIPLES_UNIQUE_TAG_COUNT: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO'
          TAG_DUPLICATES_AND_MULTIPLES_TAG_REQUEST_COUNT: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO'
          TAG_DUPLICATES_AND_MULTIPLES_TAG_DUPLICATE_COUNT: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO'
          TAG_DUPLICATES_AND_MULTIPLES_TAG_MULTIPLE_COUNT: '#/components/schemas/AuditRun_TagDuplicatesAndMultiples_RequestDTO'
          VARIABLE_INVENTORY_PAGE_COUNT: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
          VARIABLE_INVENTORY_UNIQUE_TAG_COUNT: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
          VARIABLE_INVENTORY_TAG_REQUEST_COUNT: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
          VARIABLE_INVENTORY_UNIQUE_VARIABLE_COUNT: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
          VARIABLE_INVENTORY_UNIQUE_VARIABLE_VALUE_COUNT: '#/components/schemas/AuditRun_VariableInventory_RequestDTO'
          BROWSER_LOGS_PAGE_COUNT: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
          BROWSER_LOGS_ERROR_LOG_COUNT: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
          BROWSER_LOGS_WARN_LOG_COUNT: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
          BROWSER_LOGS_INFO_LOG_COUNT: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
          BROWSER_LOGS_DEBUG_LOG_COUNT: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
          BROWSER_LOGS_OTHER_LOG_COUNT: '#/components/schemas/AuditRun_BrowserLogs_RequestDTO'
          COOKIE_INVENTORY_PAGE_COUNT: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          COOKIE_INVENTORY_UNIQUE_COOKIE_COUNT: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          COOKIE_INVENTORY_FIRST_PARTY_COOKIE_COUNT: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          COOKIE_INVENTORY_THIRD_PARTY_COOKIE_COUNT: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          COOKIE_INVENTORY_NON_SECURE_COOKIE_COUNT: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          COOKIE_INVENTORY_SAME_SITE_EMPTY_COOKIE_COUNT: '#/components/schemas/AuditRun_CookieInventory_RequestDTO'
          PRIVACY_COOKIES_PAGE_COUNT: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          PRIVACY_COOKIES_PAGE_WITH_UNAPPROVED_COOKIES_COUNT: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          PRIVACY_COOKIES_UNIQUE_COOKIE_COUNT: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          PRIVACY_COOKIES_APPROVED_COOKIE_COUNT: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          PRIVACY_COOKIES_UNAPPROVED_COOKIE_COUNT: '#/components/schemas/AuditRun_CookiePrivacy_RequestDTO'
          PRIVACY_TAGS_PAGE_COUNT: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          PRIVACY_TAGS_PAGE_WITH_UNAPPROVED_TAGS_COUNT: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          PRIVACY_TAGS_UNIQUE_TAG_COUNT: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          PRIVACY_TAGS_APPROVED_TAG_COUNT: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          PRIVACY_TAGS_UNAPPROVED_TAG_COUNT: '#/components/schemas/AuditRun_TagPrivacy_RequestDTO'
          PRIVACY_REQUESTS_PAGE_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          PRIVACY_REQUESTS_PAGE_WITH_UNAPPROVED_REQUESTS_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          PRIVACY_REQUESTS_REQUEST_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          PRIVACY_REQUESTS_UNIQUE_DOMAIN_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          PRIVACY_REQUESTS_UNIQUE_LOCATION_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          PRIVACY_REQUESTS_APPROVED_REQUEST_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          PRIVACY_REQUESTS_UNAPPROVED_REQUEST_COUNT: '#/components/schemas/AuditRun_RequestPrivacy_RequestDTO'
          FILE_CHANGES_PAGE_COUNT: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
          FILE_CHANGES_CHANGED_FILE_COUNT: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
          FILE_CHANGES_NEW_FILE_COUNT: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
          FILE_CHANGES_FILE_DATE_CHANGE_COUNT: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
          FILE_CHANGES_FILE_SIZE_CHANGE_COUNT: '#/components/schemas/AuditRun_FileChanges_RequestDTO'
          RULE_RESULTS_PAGE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_RULE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_RULE_FAILURE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_FAILED_RULE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_PASSED_RULE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_NOT_APPLIED_RULE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_FAILED_RULE_PAGE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_PASSED_RULE_PAGE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
          RULE_RESULTS_NOT_APPLIED_RULE_PAGE_COUNT: '#/components/schemas/AuditRun_RuleSummary_RequestDTO'
    AlertMetricChangeTypeEnum:
      type: string
      description: >
        Behaviour per type:

        - VALUE_CHANGE: current - previous

        - VALUE_CHANGE_ABS: ABS(current - previous)

        - RELATIVE_VALUE_CHANGE: 100% * (current - previous) / previous

        - RELATIVE_VALUE_CHANGE: ABS(100% * (current - previous) / previous)


        Composite metric change operators shown on ObservePoint UI should be
        defined as described below:

        - `Changes by (∆)` = VALUE_CHANGE_ABS + GREATER_OR_EQUAL(positive
        number)

        - `Increases by (+)` = VALUE_CHANGE + GREATER_OR_EQUAL(positive number)

        - `Decreases by (-)` = VALUE_CHANGE + LESS_OR_EQUAL(negative number)

        - `Any change` = VALUE_CHANGE_ABS (or VALUE_CHANGE) + NOT_EQUAL(0)

        - `Changes by (∆ %)` = RELATIVE_CHANGE_ABS + GREATER_OR_EQUAL(positive
        number)

        - `Increases by (+%)` = RELATIVE_CHANGE + GREATER_OR_EQUAL(positive
        number)

        - `Decreases by (-%)` = RELATIVE_CHANGE + LESS_OR_EQUAL(negative number)
      enum:
        - VALUE_CHANGE
        - VALUE_CHANGE_ABS
        - RELATIVE_VALUE_CHANGE
        - RELATIVE_VALUE_CHANGE_ABS
    AlertMetricValueComparator:
      type: object
      description: >
        Subtypes: - AlertMetricSpecificValueComparator -
        AlertMetricValueInRangeComparator - AlertMetricValueNotInRangeComparator
      required:
        - operator
      properties:
        operator:
          $ref: '#/components/schemas/AlertMetricValueComparisonOperatorEnum'
      discriminator:
        propertyName: operator
        mapping:
          GREATER: '#/components/schemas/AlertMetricSpecificValueComparator'
          GREATER_OR_EQUAL: '#/components/schemas/AlertMetricSpecificValueComparator'
          EQUAL: '#/components/schemas/AlertMetricSpecificValueComparator'
          NOT_EQUAL: '#/components/schemas/AlertMetricSpecificValueComparator'
          LESS_OR_EQUAL: '#/components/schemas/AlertMetricSpecificValueComparator'
          LESS: '#/components/schemas/AlertMetricSpecificValueComparator'
          BETWEEN: '#/components/schemas/AlertMetricValueInRangeComparator'
          NOT_BETWEEN: '#/components/schemas/AlertMetricValueNotInRangeComparator'
    AlertMetricValueComparisonOperatorEnum:
      type: string
      enum:
        - GREATER
        - GREATER_OR_EQUAL
        - EQUAL
        - NOT_EQUAL
        - LESS_OR_EQUAL
        - LESS
        - BETWEEN
        - NOT_BETWEEN
    AlertMetricSpecificValueComparator:
      allOf:
        - $ref: '#/components/schemas/AlertMetricValueComparator'
        - type: object
          required:
            - targetValue
          properties:
            targetValue:
              type: number
              format: float
    AlertMetricValueInRangeComparator:
      allOf:
        - $ref: '#/components/schemas/AlertMetricValueComparator'
        - type: object
          description: Alert is triggered when `actual >= min AND actual < max`
          required:
            - minInclusive
            - maxExclusive
          properties:
            minInclusive:
              type: number
              format: float
            maxExclusive:
              type: number
              format: float
    AlertMetricValueNotInRangeComparator:
      allOf:
        - $ref: '#/components/schemas/AlertMetricValueComparator'
        - type: object
          description: Alert is triggered when `actual < min OR actual >= max`
          required:
            - minExclusive
            - maxInclusive
          properties:
            minExclusive:
              type: number
              format: float
            maxInclusive:
              type: number
              format: float
    AdHocAlertResultsDTO:
      type: object
      required:
        - alerts
      properties:
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AdHocAlertResultsItem'
    AdHocAlertResultsItem:
      type: object
      required:
        - alert
        - result
      properties:
        alert:
          $ref: '#/components/schemas/AdHocAlertRequestItem'
        result:
          $ref: '#/components/schemas/AdHocAlertResultDetails'
    AdHocAlertResultDetails:
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/AlertResultStatusEnum'
        actualValue:
          description: Value of the computed metric or its change.
          type: number
          format: double
        currentRunValue:
          description: >-
            Value of computed metric for current run. Present when alert is
            configured on metric change, not on single run metric value
          type: number
          format: double
        previousRunValue:
          description: >-
            Value of computed metric for previous run. Present when alert is
            configured on metric change, not on single run metric value
          type: number
          format: double
        affectedPageCount:
          description: >-
            Number of pages that are affected by triggered alert. Present when
            alert is triggered and metric type supports it
          type: integer
        filteredPageCount:
          description: Total number of pages that were used to compute alert.
          type: integer
    AlertResultStatusEnum:
      type: string
      description: >
        All statuses except `TRIGGERED` and `NOT_TRIGGERED` mean that
        alert/metric could not be computed. Statuses:

        - UNKNOWN_ERROR: data retrieval or alert computation failed

        - RUN_NOT_FOUND: requested run not found

        - NO_VALUE: no data found for requested run (e.g. rules or consent
        categories were not applied)  

        - PREVIOUS_RUN_NOT_FOUND: previous run not found for run-over-run metric
        change alert

        - PREVIOUS_RUN_NO_VALUE: no data found for previous run for run-over-run
        metric change alert
      enum:
        - TRIGGERED
        - NOT_TRIGGERED
        - UNKNOWN_ERROR
        - RUN_NOT_FOUND
        - NO_VALUE
        - PREVIOUS_RUN_NOT_FOUND
        - PREVIOUS_RUN_NO_VALUE
    AlertId:
      type: integer
      format: int64
    LabelId:
      type: integer
      format: int64
      description: Label identifier
      example: 223
      minimum: 1
    CreateAlertRequestDTO:
      type: object
      description: >
        Alert is triggered when comparison holds: `actual value`
        &lt;targetValueComparisonOperator&gt; `targetValue`
      required:
        - name
        - metricType
        - targetValueComparator
        - filtersV0
      properties:
        name:
          $ref: '#/components/schemas/AlertName'
        labels:
          type: array
          description: >-
            Passing null instead of this array while updating an entity will
            prevent API from changing associated labels
          items:
            $ref: '#/components/schemas/LabelId'
        metricType:
          $ref: '#/components/schemas/AlertMetricTypeEnum'
        metricChangeType:
          $ref: '#/components/schemas/AlertMetricChangeTypeEnum'
        targetValueComparator:
          $ref: '#/components/schemas/AlertMetricValueComparator'
        filtersV0:
          type: object
          description: >
            Filters to be applied before computing the alert. Exact type depends
            on `metricType`, see mapping in `AlertMetricTypeToFilterMapping`
        emails:
          type: array
          description: >-
            List of email addresses that receive notifications when alert
            triggers. Will be replaced with Notification Profiles
          items:
            $ref: '#/components/schemas/EmailAddress'
        customAlertMessage:
          type: string
        notificationPolicy:
          $ref: '#/components/schemas/AlertNotificationPolicyEnum'
        isDefaultForNewDataSources:
          $ref: '#/components/schemas/AlertIsDefaultForNewDataSources'
        assignments:
          type: array
          description: >
            Passing null instead of this array while updating an alert will
            prevent API from changing its assignments.   

            To pass only updates of assignments (additions/removals) for
            existing alert use `PATCH /v3/alerts/{alertId}/target-items`
            endpoint
          items:
            $ref: '#/components/schemas/AlertAssignmentItem'
        skipSendingAlertSharedWithYouEmail:
          type: boolean
          description: >
            When TRUE, "Alert shared with you" email will NOT be sent to newly
            added email addresses.

            When NOT specified or FALSE, it will be sent.
    AlertIsDefaultForNewDataSources:
      type: boolean
      description: >
        Makes this alert selected by default in data-source (audit/WJ) creation
        UI.

        This is a user-specific flag.
    AlertNotificationPolicyEnum:
      type: string
      description: >
        Behaviour per type:

        - WHEN_NEWLY_TRIGGERED: (*default*) send alert when goes from "ok" to
        "triggered" (resets when no longer triggered)

        - ALWAYS_WHEN_TRIGGERED: send alert notification each time it is
        triggered per run
      enum:
        - WHEN_NEWLY_TRIGGERED
        - ALWAYS_WHEN_TRIGGERED
    AlertAssignmentItem:
      type: object
      required:
        - itemType
        - itemId
      properties:
        itemType:
          $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
        itemId:
          $ref: '#/components/schemas/AlertAssignmentItemId'
    AlertAssignmentItemTypeEnum:
      type: string
      enum:
        - AUDIT
        - WEB_JOURNEY
    AlertAssignmentItemId:
      type: integer
      format: int64
      description: >-
        ID of the item that can have assigned Alert(s) onto it. See also
        `AlertAssignmentTypeEnum`
    CreateAlertResponseDTO:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/AlertId'
    GetAlertDefinitionResponseDTO:
      allOf:
        - $ref: '#/components/schemas/AlertConfigTrait'
        - type: object
          description: >
            Alert is triggered when comparison holds: `actual value`
            &lt;targetValueComparisonOperator&gt; `targetValue`
          required:
            - id
            - labels
            - emails
            - notificationPolicy
            - isDefaultForNewDataSources
          properties:
            id:
              $ref: '#/components/schemas/AlertId'
            labels:
              type: array
              minItems: 0
              items:
                $ref: '#/components/schemas/LabelId'
            emails:
              type: array
              description: >-
                List of email addresses that receive notifications when alert
                triggers. Will be replaced with Notification Profiles
              minItems: 0
              items:
                $ref: '#/components/schemas/EmailAddress'
            customAlertMessage:
              type: string
            notificationPolicy:
              $ref: '#/components/schemas/AlertNotificationPolicyEnum'
            isDefaultForNewDataSources:
              $ref: '#/components/schemas/AlertIsDefaultForNewDataSources'
    GetAlertsLibraryRequestDTO:
      type: object
      description: >-
        All filters are optional. All populated filters are combined via `AND`
        boolean operator
      properties:
        alertName:
          minLength: 1
          type: string
          description: when present works as "alert `name` contains give substring` filter
        metricType:
          $ref: '#/components/schemas/AlertMetricTypeEnum'
        labels:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        createdByUserId:
          $ref: '#/components/schemas/UserId'
        isSubscribed:
          type: boolean
          default: false
          description: >-
            When `true` then only those alerts will be returned that have
            Notification Profile of a requestor user assigned onto them
    GetAlertsLibrarySortColumn:
      type: string
      enum:
        - ALERT_NAME
        - TARGET_ITEMS
        - REPORT_METRIC
        - UPDATED_AT
        - SUBSCRIBERS
    GetAlertsLibraryResponseDTO:
      type: object
      required:
        - metadata
        - alerts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        alerts:
          type: array
          items:
            title: GetAlertsLibraryItem
            type: object
            required:
              - id
              - name
              - metricType
              - labels
              - updatedAt
              - targetItemCount
              - subscribedCount
              - isOwner
            properties:
              id:
                $ref: '#/components/schemas/AlertId'
              name:
                $ref: '#/components/schemas/AlertName'
              metricType:
                $ref: '#/components/schemas/AlertMetricTypeEnum'
              labels:
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/LabelId'
              updatedAt:
                $ref: '#/components/schemas/DateAndTime'
              targetItemCount:
                type: integer
                description: Number of audits/journeys that have this alert configured
              subscribedCount:
                type: integer
                description: Number of notification profiles configured for this alert
              isOwner:
                type: boolean
                description: Indicates whether the current user is the owner of this alert
    GetAlertsByMetricSortColumn:
      type: string
      enum:
        - ALERT_NAME
        - SUBSCRIBERS
    GetAlertsByMetricResponseDTO:
      type: object
      required:
        - metadata
        - alerts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/GetAlertsByMetricItem'
    GetAlertsByMetricItem:
      allOf:
        - $ref: '#/components/schemas/AlertConfigTrait'
        - type: object
          required:
            - id
            - emails
          properties:
            id:
              $ref: '#/components/schemas/AlertId'
            emails:
              type: array
              description: >-
                List of email addresses that receive notifications when alert
                triggers. Will be replaced with Notification Profiles
              minItems: 0
              items:
                $ref: '#/components/schemas/EmailAddress'
    AlertConfigTrait:
      description: Core parts of alert definition
      type: object
      required:
        - name
        - metricType
        - targetValueComparator
        - filtersV0
      properties:
        name:
          $ref: '#/components/schemas/AlertName'
        metricType:
          $ref: '#/components/schemas/AlertMetricTypeEnum'
        metricChangeType:
          $ref: '#/components/schemas/AlertMetricChangeTypeEnum'
        targetValueComparator:
          $ref: '#/components/schemas/AlertMetricValueComparator'
        filtersV0:
          type: object
          description: >
            Filters to be applied before computing the alert. Exact type depends
            on `metricType`, see mapping in `AlertMetricTypeToFilterMapping`
    SearchAlertAssignmentsRequestDTO:
      type: object
      description: >
        Filters for searching for items that may have specific Alert assigned or
        not assigned. 

        - when `alertId` is specified, `isAssigned` field in response object
        will be set to true 

        for items already assigned to alert with the specified ID
      properties:
        alertId:
          $ref: '#/components/schemas/AlertId'
        assignedToAlert:
          type: boolean
          description: >
            if `alertId` is NOT specified, `assignedToAlert` is ignored.

            if `alertId` IS specified `assignedToAlert` has 3 states:

            when TRUE - only items assigned to the specified alert will be
            returned;

            when FALSE - only NOT assigned;

            when NOT specified or NULL - both assigned and not assigned items
            will be returned
        itemName:
          type: string
          minLength: 1
          description: optional "item name contains substring" filter
        itemId:
          $ref: '#/components/schemas/AlertAssignmentItemId'
        itemLabels:
          type: array
          description: >-
            non-empty array of labels present on an item, works as "item has all
            specified labels" filter
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        folders:
          $ref: '#/components/schemas/FoldersFilter'
    SearchAlertAssignmentsResponseDTO:
      type: object
      required:
        - metadata
        - items
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        items:
          type: array
          items:
            title: AlertAssignmentItem
            type: object
            description: >
              `itemLastRunAt` property available only for audits and
              web-journeys.
            required:
              - isAssigned
              - itemType
              - itemId
              - itemName
            properties:
              isAssigned:
                type: boolean
                description: TRUE if Alert is assigned to this item, FALSE otherwise
              itemType:
                $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
              itemId:
                $ref: '#/components/schemas/AlertAssignmentItemId'
              itemName:
                type: string
                description: Name of audit/WJ etc
              itemLastRunAt:
                $ref: '#/components/schemas/DateAndTime'
              itemLabels:
                description: may be absent if item does not support labels
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/LabelId'
    AlertAssignmentsSortColumn:
      type: string
      enum:
        - IS_ASSIGNED
        - ITEM_NAME
        - RUN_DATE
    SearchAlertsForAssignmentRequestDTO:
      type: object
      description: >-
        All included filters are optional. All populated filters are combined
        via `AND` boolean operator
      properties:
        targetItem:
          title: SearchAlertsForAssignmentSpecificTargetItem
          description: Item (audit/journey) alerts are assigned or not assigned to
          type: object
          required:
            - itemType
            - itemId
            - isAssigned
          properties:
            itemType:
              $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
            itemId:
              $ref: '#/components/schemas/AlertAssignmentItemId'
            isAssigned:
              type: boolean
              description: >-
                When TRUE it works as "alert IS assigned to specified target
                item (audit/journey)" and if false "alert IS NOT assigned to
                specified target item
        search:
          type: string
          minLength: 1
          description: >-
            When value is present it works as "alert `name` contains given
            substring" filter
        labels:
          type: array
          description: >-
            non-empty array of labels present on an alert, works as "alert has
            all specified labels" filter
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        isDefaultForNewDataSources:
          $ref: '#/components/schemas/AlertIsDefaultForNewDataSources'
    SearchAlertsForAssignmentResponseDTO:
      type: object
      required:
        - metadata
        - alerts
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        alerts:
          type: array
          minItems: 0
          items:
            title: SearchAlertsForAssignmentAlertItem
            type: object
            required:
              - id
              - name
              - metricType
              - labels
            properties:
              id:
                $ref: '#/components/schemas/AlertId'
              name:
                $ref: '#/components/schemas/AlertName'
              metricType:
                $ref: '#/components/schemas/AlertMetricTypeEnum'
              labels:
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/LabelId'
    SearchAlertsForAssignmentSortColumn:
      type: string
      description: >
        Behaviour per type:

        - REPORT_METRIC: sort by name of data/report type corresponding to
        alert's `metricType`
      enum:
        - ALERT_NAME
        - REPORT_METRIC
    UpdateSpecificItemAlertsRequestDTO:
      type: object
      required:
        - assignmentUpdates
      properties:
        assignmentUpdates:
          type: array
          items:
            title: UpdateSpecificItemAlertAssignments_Item
            type: object
            required:
              - alertId
              - operation
            properties:
              alertId:
                $ref: '#/components/schemas/AlertId'
              operation:
                $ref: '#/components/schemas/AlertAssignmentUpdateOperationTypeEnum'
    UpdateSpecificAlertAssignmentsRequestDTO:
      type: object
      required:
        - assignmentUpdates
      properties:
        assignmentUpdates:
          type: array
          items:
            title: UpdateSpecificAlertAssignments_Item
            type: object
            required:
              - scope
              - itemType
              - itemId
              - operation
            properties:
              scope:
                description: For forward-compatibility
                type: string
                enum:
                  - SINGLE_ITEM
              itemType:
                $ref: '#/components/schemas/AlertAssignmentItemTypeEnum'
              itemId:
                $ref: '#/components/schemas/AlertAssignmentItemId'
              operation:
                $ref: '#/components/schemas/AlertAssignmentUpdateOperationTypeEnum'
    AlertAssignmentUpdateOperationTypeEnum:
      type: string
      description: >
        Meaning by type:

        - ASSIGN: add (if not exist) or update (if already exists) alert
        assignment

        - UNASSIGN: remove alert assignment. Does nothing if assignment does not
        exist
      enum:
        - ASSIGN
        - UNASSIGN
    AccountUsageV2_RequestDTO:
      type: object
      description: Filters for usage report
      properties:
        dataSources:
          type: array
          description: >-
            Non-empty array of data sources. Usage for selected data sources
            only will be shown
          minItems: 1
          items:
            $ref: '#/components/schemas/ItemId'
        dataSourceCreators:
          type: array
          description: >-
            Non-empty array of user IDs. Matches data sources that have been
            created by any of the specified users
          minItems: 1
          items:
            $ref: '#/components/schemas/UserId'
        dataSourceFolders:
          $ref: '#/components/schemas/FoldersFilter'
        dataSourceLabels:
          type: array
          description: >-
            Non-empty array of labels present on an item. Matches data sources
            that have all specified labels
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        runFrequencies:
          type: array
          description: >-
            Non-empty array of frequency names. Matches data sources that have
            any of the specified frequencies
          minItems: 1
          items:
            $ref: '#/components/schemas/AccountUsageV2_RunFrequency'
        contractTerm:
          $ref: '#/components/schemas/AccountUsageV2_ContractTermFilter'
    AccountUsageV2_ExportRequestDTO:
      description: Filters for usage report exports
      allOf:
        - $ref: '#/components/schemas/AccountUsageV2_RequestDTO'
        - type: object
          properties:
            runDateRange:
              $ref: '#/components/schemas/AccountUsageV2_RunDateRangeFilter'
    AccountUsageV2_RunDateRangeFilter:
      type: object
      required:
        - startDateInclusive
        - endDateExclusive
      properties:
        startDateInclusive:
          $ref: '#/components/schemas/DateUtc'
        endDateExclusive:
          $ref: '#/components/schemas/DateUtc'
    AccountUsageV2_DataSourcesFilterItem:
      type: object
      required:
        - itemType
        - itemId
      properties:
        itemType:
          $ref: '#/components/schemas/AccountUsageV2_ItemTypeEnum'
        itemId:
          $ref: '#/components/schemas/ItemId'
    AccountUsageV2_ContractTermFilter:
      type: object
      description: Select specific contract term. Current term will be shown if omitted
      required:
        - startDateInclusive
        - endDateInclusive
      properties:
        startDateInclusive:
          $ref: '#/components/schemas/DateUtc'
        endDateInclusive:
          $ref: '#/components/schemas/DateUtc'
    AccountUsageV2_Overview_ResponseDTO:
      type: object
      description: >
        `webJourneyUsage` can be absent if web journeys are not included in
        contract.
      required:
        - auditUsage
        - allowOverages
      properties:
        auditUsage:
          $ref: '#/components/schemas/AccountUsageV2_Overview_SpecificItemTypeUsage'
        webJourneyUsage:
          $ref: '#/components/schemas/AccountUsageV2_Overview_SpecificItemTypeUsage'
        allowOverages:
          $ref: '#/components/schemas/AccountUsageV2_AllowOveragesFlag'
    AccountUsageV2_Overview_SpecificItemTypeUsage:
      type: object
      description: |
        `usagePercentage` and `usageLimit` can be omitted if there is no limit.
        `overLimitPrice` is only visible to account admins.
      required:
        - currentContractTerm
        - usageCount
      properties:
        usageCount:
          type: integer
          format: integer
          description: >-
            Number of pages scanned (for audits) or runs completed (for web
            journeys) to date
        usageLimit:
          type: integer
          format: integer
          description: >-
            Limit of pages scanned (for audits) or runs completed (for web
            journeys) for the current contract term
        limitNoteType:
          $ref: '#/components/schemas/AccountUsageV2_LimitNoteTypeEnum'
        usagePercentage:
          type: number
          format: float
          description: Percentage of usage relative to contract term limit
        overLimitPrice:
          $ref: '#/components/schemas/AccountUsageV2_OverLimitPrice'
        currentContractTerm:
          $ref: '#/components/schemas/AccountUsageV2_ContractTerm'
    AccountUsageV2_Summary_ResponseDTO:
      type: object
      required:
        - usersUsage
        - contacts
        - allowOverages
      properties:
        usersUsage:
          $ref: '#/components/schemas/AccountUsageV2_Summary_UsersUsage'
        contacts:
          type: array
          description: List of people to contact for support
          minItems: 0
          items:
            $ref: '#/components/schemas/AccountUsageV2_Summary_SupportContact'
        allowOverages:
          $ref: '#/components/schemas/AccountUsageV2_AllowOveragesFlag'
    AccountUsageV2_Summary_SupportContact:
      type: object
      required:
        - type
        - name
        - email
      properties:
        type:
          $ref: '#/components/schemas/AccountUsageV2_Summary_SupportContactType'
        name:
          type: string
          description: Name of the person to contact
        email:
          type: string
    AccountUsageV2_Summary_SupportContactType:
      type: string
      description: |
        `AE` - Account Executive
        `CSM` - Customer Success Manager
      enum:
        - AE
        - CSM
    AccountUsageV2_Summary_UsersUsage:
      type: object
      required:
        - totalUsers
        - usersLoggedInLast30Days
      properties:
        totalUsers:
          description: Number of users in account
          type: integer
        usersLoggedInLast30Days:
          type: array
          description: List of user IDs that logged in last 30 days
          items:
            $ref: '#/components/schemas/UserId'
    AccountUsageV2_SpecificItemTypeSummary_ResponseDTO:
      type: object
      required:
        - currentContractTerm
        - contractTerms
        - usage
      properties:
        currentContractTerm:
          $ref: '#/components/schemas/AccountUsageV2_ContractTerm'
        contractTerms:
          type: array
          description: Dates of contracts
          minItems: 0
          items:
            $ref: '#/components/schemas/AccountUsageV2_ContractTerm'
        usage:
          $ref: >-
            #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_BaseUsage
    AccountUsageV2_SpecificItemTypeSummary_AuditUsage:
      x-discriminator-value: AUDIT
      allOf:
        - $ref: >-
            #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_BaseUsage
    AccountUsageV2_SpecificItemTypeSummary_WebJourneyUsage:
      x-discriminator-value: WEB_JOURNEY
      allOf:
        - $ref: >-
            #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_BaseUsage
        - type: object
          required:
            - supportUsage
          properties:
            supportUsage:
              $ref: >-
                #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_WebJourneySupportUsage
    AccountUsageV2_SpecificItemTypeSummary_WebJourneySupportUsage:
      type: object
      description: >
        `maxMonitoredWebJourneys` and `remainingWebJourneySupportRequests` can
        be omitted if there is no limit

        `currentlyMonitoredWebJourneys#filtered` is no longer in use and will be
        omitted
      required:
        - currentlyMonitoredWebJourneys
      properties:
        currentlyMonitoredWebJourneys:
          $ref: '#/components/schemas/AccountUsageV2_FilterableInteger'
        maxMonitoredWebJourneys:
          type: integer
        remainingWebJourneySupportRequests:
          type: integer
    AccountUsageV2_SpecificItemTypeSummary_BaseUsage:
      type: object
      description: >
        Subtypes:

        - AccountUsageV2_SpecificItemTypeSummary_AuditUsage

        - AccountUsageV2_SpecificItemTypeSummary_WebJourneyUsage


        `cumulativeTotal` - number of pages scanned (for audits) or runs
        completed (for web journeys) to date.

        `termLimit`, `cumulativePacing` - can be omitted if there is no limit.

        `overLimitPrice` is only visible to account admins.
      required:
        - itemType
        - cumulativeTotal
      properties:
        itemType:
          $ref: '#/components/schemas/AccountUsageV2_ItemTypeEnum'
        cumulativeTotal:
          $ref: '#/components/schemas/AccountUsageV2_FilterableInteger'
        termLimit:
          $ref: '#/components/schemas/AccountUsageV2_TermLimit'
        limitNoteType:
          $ref: '#/components/schemas/AccountUsageV2_LimitNoteTypeEnum'
        cumulativePacing:
          $ref: '#/components/schemas/AccountUsageV2_CumulativePacing'
        overLimitPrice:
          $ref: '#/components/schemas/AccountUsageV2_OverLimitPrice'
      discriminator:
        propertyName: itemType
        mapping:
          AUDIT: >-
            #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_AuditUsage
          WEB_JOURNEY: >-
            #/components/schemas/AccountUsageV2_SpecificItemTypeSummary_WebJourneyUsage
    AccountUsageV2_Trends_ResponseDTO:
      type: object
      description: |
        `termLimit`, `monthlyPacing` - can be omitted if there is no limit
      required:
        - pastPeriods
        - futurePeriods
      properties:
        pastPeriods:
          type: array
          description: Represents all past months
          items:
            $ref: '#/components/schemas/AccountUsageV2_Trends_PastPeriod'
        currentPeriod:
          $ref: '#/components/schemas/AccountUsageV2_Trends_CurrentPeriod'
        futurePeriods:
          type: array
          description: Represents future months, with projected values
          items:
            $ref: '#/components/schemas/AccountUsageV2_Trends_FuturePeriod'
        termLimit:
          $ref: '#/components/schemas/AccountUsageV2_TermLimit'
        limitNoteType:
          $ref: '#/components/schemas/AccountUsageV2_LimitNoteTypeEnum'
        monthlyPacing:
          $ref: '#/components/schemas/AccountUsageV2_MonthlyPacing'
    AccountUsageV2_Trends_PastPeriod:
      allOf:
        - $ref: '#/components/schemas/AccountUsageV2_Trends_BasePeriodTrait'
        - type: object
          description: >
            `periodTotal` and `cumulativeTotal` can represent either pages
            scanned (for audits) or runs completed (for web journeys)
          required:
            - periodTotal
            - cumulativeTotal
          properties:
            periodTotal:
              $ref: '#/components/schemas/AccountUsageV2_FilterableInteger'
            cumulativeTotal:
              $ref: '#/components/schemas/AccountUsageV2_FilterableInteger'
    AccountUsageV2_Trends_FuturePeriod:
      allOf:
        - $ref: '#/components/schemas/AccountUsageV2_Trends_BasePeriodTrait'
        - type: object
          description: >
            `periodProjectedTotal` and `cumulativeProjectedTotal` can represent
            either pages scanned (for audits) or runs completed (for web
            journeys)
          required:
            - periodProjectedTotal
            - cumulativeProjectedTotal
          properties:
            periodProjectedTotal:
              $ref: '#/components/schemas/AccountUsageV2_FilterableProjectedUsage'
            cumulativeProjectedTotal:
              $ref: '#/components/schemas/AccountUsageV2_FilterableProjectedUsage'
    AccountUsageV2_Trends_CurrentPeriod:
      description: >
        `periodTotal` and `cumulativeTotal` calculated for completed runs in
        current period, `periodProjectedTotal` and `cumulativeProjectedTotal`
        estimated for future runs
      allOf:
        - $ref: '#/components/schemas/AccountUsageV2_Trends_PastPeriod'
        - $ref: '#/components/schemas/AccountUsageV2_Trends_FuturePeriod'
    AccountUsageV2_Trends_BasePeriodTrait:
      type: object
      description: >
        `startDateInclusive` and `endDateExclusive` define period of time for
        which usage is shown
      required:
        - startDateInclusive
        - endDateExclusive
      properties:
        startDateInclusive:
          $ref: '#/components/schemas/DateUtc'
        endDateExclusive:
          $ref: '#/components/schemas/DateUtc'
    AccountUsageV2_DailyTrends_ResponseDTO:
      type: object
      required:
        - dailyUsageItems
      properties:
        dailyUsageItems:
          type: array
          description: >-
            Runs completed per day in the last 3 days, today and scheduled in
            the next 3 days
          items:
            $ref: '#/components/schemas/AccountUsageV2_DailyTrends_Usage'
    AccountUsageV2_DailyTrends_Usage:
      type: object
      description: Scheduled items are shown only for today and dates in the future
      required:
        - day
      properties:
        day:
          $ref: '#/components/schemas/DateUtc'
        noOfCompletedRuns:
          type: integer
        noOfScheduledRuns:
          type: integer
        completedItems:
          type: array
          description: 100 items per day in the account
          maxItems: 100
          items:
            $ref: >-
              #/components/schemas/AccountUsageV2_DailyTrends_ItemInfoWithRunDetails
        scheduledItems:
          type: array
          description: 100 items per day in the account
          maxItems: 100
          items:
            $ref: >-
              #/components/schemas/AccountUsageV2_DailyTrends_ScheduledItemInfoWithRunDetails
        noOfPagesScanned:
          description: used for Audits only
          type: integer
        noOfPagesScheduledToScan:
          description: used for Audits only
          type: integer
    AccountUsageV2_DailyTrends_ItemInfoWithRunDetails:
      allOf:
        - $ref: '#/components/schemas/AccountUsageV2_DailyTrends_ItemInfo'
        - type: object
          properties:
            lastRunId:
              $ref: '#/components/schemas/RunId'
            lastRunCompletedAt:
              $ref: '#/components/schemas/DateAndTime'
            noOfRunsCompleted:
              type: integer
    AccountUsageV2_DailyTrends_ScheduledItemInfoWithRunDetails:
      allOf:
        - $ref: '#/components/schemas/AccountUsageV2_DailyTrends_ItemInfo'
        - type: object
          properties:
            nextScheduledRunDateTime:
              $ref: '#/components/schemas/DateAndTime'
            noOfRunsScheduled:
              type: integer
            noOfPagesScheduledToScan:
              type: integer
    AccountUsageV2_DailyTrends_ItemInfo:
      type: object
      required:
        - frequency
        - itemName
        - itemId
      properties:
        frequency:
          $ref: '#/components/schemas/AccountUsageV2_RunFrequency'
        description:
          description: Schedule description or value of frequency if no schedule is present
          type: string
        itemName:
          description: Audit name or Web Journey name
          type: string
        itemId:
          description: Audit ID or Web Journey ID
          type: integer
    AccountUsageV2_FilterableInteger:
      type: object
      description: |
        `filtered` property can be omitted if filters were not applied
      required:
        - total
      properties:
        total:
          type: integer
        filtered:
          type: integer
    AccountUsageV2_ProjectedUsage:
      type: object
      required:
        - scheduledUsageEstimate
        - historicalUsageEstimate
      properties:
        scheduledUsageEstimate:
          description: Based on scheduled runs
          type: integer
        historicalUsageEstimate:
          description: Based on historical averages
          type: integer
    AccountUsageV2_FilterableProjectedUsage:
      type: object
      description: >-
        Duplicates `AccountUsageV2_ProjectedUsage`, but includes `total` and
        `filtered` values for each estimate
      required:
        - scheduledUsageEstimate
        - historicalUsageEstimate
      properties:
        scheduledUsageEstimate:
          $ref: '#/components/schemas/AccountUsageV2_FilterableInteger'
        historicalUsageEstimate:
          $ref: '#/components/schemas/AccountUsageV2_FilterableInteger'
    AccountUsageV2_ItemTypeEnum:
      type: string
      enum:
        - AUDIT
        - WEB_JOURNEY
    AccountUsageV2_TermLimit:
      type: integer
      description: >-
        Limit of pages scanned (for audits) or runs completed (for web journeys)
        for the contract term
    AccountUsageV2_LimitNoteTypeEnum:
      type: string
      enum:
        - UNLIMITED
        - LIMIT_UNDETERMINED
    AccountUsageV2_CumulativePacing:
      type: integer
      description: >-
        Shows how many pages should be scanned to date to hit the limit by the
        end of the contract term
    AccountUsageV2_MonthlyPacing:
      type: integer
      description: >-
        Shows how many pages should be scanned per month to hit the limit by the
        end of the contract term
    AccountUsageV2_OverLimitPrice:
      description: >-
        Price of a page scan (for audits) or a run (for web journeys) over the
        limit
      allOf:
        - $ref: '#/components/schemas/MonetaryAmount'
    AccountUsageV2_AllowOveragesFlag:
      type: boolean
      description: >
        When TRUE, account is allowed to go over the limit and will be charged
        for overages.

        When FALSE, account will be blocked from running audits and web journeys
        that will go over the limit.
    AccountUsageV2_ContractTerm:
      type: object
      description: Contract start and end dates
      required:
        - startDateInclusive
        - endDateInclusive
      properties:
        startDateInclusive:
          $ref: '#/components/schemas/DateUtc'
        endDateInclusive:
          $ref: '#/components/schemas/DateUtc'
    AccountUsageV2_RunFrequency:
      type: string
      description: combination of journey and audit frequency
      enum:
        - paused
        - once
        - 15 minutes
        - 1 hour
        - 6 hours
        - 12 hours
        - daily
        - weekly
        - biweekly
        - monthly
        - quarterly
        - semiannually
        - yearly
        - custom
        - unscheduled
    NotificationCenter_GetEmails_RequestDTO:
      type: object
      description: Filters for searching for emails
      required:
        - itemType
        - itemIds
      properties:
        itemType:
          $ref: >-
            #/components/schemas/NotificationCenter_EmailSubscriptionItemTypeEnum
        itemIds:
          type: array
          description: >-
            Non-empty array of item IDs. Emails for selected items only will be
            shown
          minItems: 1
          items:
            $ref: '#/components/schemas/ItemId'
    NotificationCenter_EmailSubscriptionItemTypeEnum:
      type: string
      enum:
        - AUDIT
    NotificationCenter_GetEmails_ResponseDTO:
      type: object
      description: All emails in an account
      required:
        - emails
      properties:
        emails:
          type: array
          minItems: 0
          items:
            title: NotificationCenter_EmailItem
            type: object
            required:
              - email
              - usage
            properties:
              email:
                type: string
              usage:
                $ref: '#/components/schemas/NotificationCenter_EmailUsage'
    NotificationCenter_EmailUsage:
      type: object
      required:
        - auditCount
        - webJourneyCount
        - ruleCount
        - alertCount
        - emailInboxMessageReceivedCount
        - emailInboxMessageProcessedCount
      properties:
        auditCount:
          type: integer
        webJourneyCount:
          type: integer
        ruleCount:
          type: integer
        alertCount:
          type: integer
          description: Number of alerts excluding usage alerts
        usageAlertCount:
          type: integer
        emailInboxMessageReceivedCount:
          type: integer
        emailInboxMessageProcessedCount:
          type: integer
        scheduledExportCount:
          type: integer
    NotificationCenter_SearchForAssignments_RequestDTO:
      type: object
      description: >-
        Filters for searching for items that may have specific email assigned or
        not assigned
      required:
        - email
      properties:
        email:
          type: string
          minLength: 1
          description: email to search for
        itemName:
          type: string
          minLength: 1
          description: optional "item name contains substring" filter
        itemLabels:
          type: array
          description: >-
            non-empty array of labels present on an item. When multiple labels
            specified, target item is expected to have all of them (condition
            works as "AND" for all labels specified)
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        isAssigned:
          type: boolean
          description: >
            - when TRUE - only target items with the specified `email` currently
            assigned will be returned;

            - when FALSE - only target items with the specified `email`
            currently NOT assigned will be returned;

            - when UNDEFINED or NULL - flag is ignored.
    NotificationCenter_SearchForAssignments_ResponseDTO:
      type: object
      required:
        - metadata
        - items
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        items:
          type: array
          items:
            title: NotificationCenter_AssignmentItem
            type: object
            description: >
              `itemLastRunAt` property available only for audits and
              web-journeys.
            required:
              - isAssigned
              - isEditable
              - itemType
              - itemId
              - itemName
            properties:
              isAssigned:
                type: boolean
                description: >-
                  TRUE if specified `email` is assigned to this item, FALSE
                  otherwise
              isEditable:
                type: boolean
                description: >-
                  TRUE if specified `email` can be assigned or unassigned from
                  this item, FALSE otherwise
              itemType:
                $ref: '#/components/schemas/NotificationCenter_AssignmentItemTypeEnum'
              itemId:
                $ref: '#/components/schemas/ItemId'
              itemName:
                type: string
                description: Name of audit/WJ/rule/alert etc
              itemLastRunAt:
                $ref: '#/components/schemas/DateAndTime'
              itemLabels:
                description: may be absent if item does not support labels
                type: array
                minItems: 0
                items:
                  $ref: '#/components/schemas/LabelId'
    NotificationCenter_AssignmentItemTypeEnum:
      type: string
      enum:
        - AUDIT
        - WEB_JOURNEY
        - RULE
        - ALERT
        - USAGE_ALERT
        - EMAIL_INBOX_MESSAGE_RECEIVED
        - EMAIL_INBOX_MESSAGE_PROCESSED
        - SCHEDULED_EXPORT
    NotificationCenter_AssignmentsSortColumn:
      type: string
      enum:
        - IS_ASSIGNED
        - ITEM_NAME
        - RUN_DATE
    ReportFilterValidation_RegexRequestDTO:
      type: object
      required:
        - regex
      properties:
        regex:
          type: string
    ReportFilterValidation_RegexResponseDTO:
      type: object
      required:
        - isValid
        - allUnsupportedSequences
      properties:
        isValid:
          type: boolean
        unsupportedSequence:
          type: string
          description: First unsupported by ObservePoint sequence found in regex
        allUnsupportedSequences:
          type: array
          description: list of all unsupported by ObservePoint regex features/sequences
          items:
            type: string
    AuditRun_PageSummary_WebVitals_LargestContentfulPaintFilter:
      description: >-
        Largest Contentful Paint time in milliseconds. Should have `min` and/or
        `max` properties defined. `min` is inclusive and `max` is exclusive.
        `min` should be less than `max`.
      $ref: '#/components/schemas/IntegerRangeFilterTrait'
    AuditRun_PageSummary_WebVitals_FirstContentfulPaintFilter:
      description: >-
        First Contentful Paint time in milliseconds. Should have `min` and/or
        `max` properties defined. `min` is inclusive and `max` is exclusive.
        `min` should be less than `max`.
      $ref: '#/components/schemas/IntegerRangeFilterTrait'
    AuditRun_PageSummary_WebVitals_TimeToFirstByteFilter:
      description: >-
        Time to First Byte time in milliseconds. Should have `min` and/or `max`
        properties defined. `min` is inclusive and `max` is exclusive. `min`
        should be less than `max`.
      $ref: '#/components/schemas/IntegerRangeFilterTrait'
    AuditRun_PageSummary_WebVitals_CumulativeLayoutShiftFilter:
      description: >-
        Cumulative Layout Shift unitless measurement. Should have `min` and/or
        `max` properties defined. `min` is inclusive and `max` is exclusive.
        `min` should be less than `max`.
      $ref: '#/components/schemas/DoubleRangeFilterTrait'
    AuditRun_PageSummary_AggregatedRunWebVitals:
      type: object
      description: Web Vitals aggregated on run level
      required:
        - medianLargestContentfulPaint
        - medianFirstContentfulPaint
        - medianTimeToFirstByte
        - medianCumulativeLayoutShift
        - p75LargestContentfulPaint
        - p75FirstContentfulPaint
        - p75TimeToFirstByte
        - p75CumulativeLayoutShift
      properties:
        medianLargestContentfulPaint:
          type: number
          format: double
          minimum: 0
          description: >-
            median LCP time in milliseconds. This field is deprecated and will
            be removed in the future. Use 75th percentile LCP time instead.
          deprecated: true
        medianFirstContentfulPaint:
          type: number
          format: double
          minimum: 0
          description: >-
            median FCP time in milliseconds. This field is deprecated and will
            be removed in the future. Use 75th percentile FCP time instead.
          deprecated: true
        medianTimeToFirstByte:
          type: number
          format: double
          minimum: 0
          description: >-
            median TTFB time in milliseconds. This field is deprecated and will
            be removed in the future. Use 75th percentile TTFB time instead.
          deprecated: true
        medianCumulativeLayoutShift:
          type: number
          format: double
          minimum: 0
          description: >-
            median unitless measurement of CLS. This field is deprecated and
            will be removed in the future. Use 75th percentile CLS instead.
          deprecated: true
        p75LargestContentfulPaint:
          type: number
          format: double
          minimum: 0
          description: 75th percentile LCP time in milliseconds
        p75FirstContentfulPaint:
          type: number
          format: double
          minimum: 0
          description: 75th percentile FCP time in milliseconds
        p75TimeToFirstByte:
          type: number
          format: double
          minimum: 0
          description: 75th percentile TTFB time in milliseconds
        p75CumulativeLayoutShift:
          type: number
          format: double
          minimum: 0
          description: 75th percentile CLS, unitless measurement.
    AuditRun_WebVitalsTrends_Enum:
      type: string
      enum:
        - largest_contentful_paint
        - first_contentful_paint
        - time_to_first_byte
        - cumulative_layout_shift
    AuditRun_PageDetails_WebVitalsTrends_Response:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_PageDetails_WebVitalsTrendsItem'
    AuditRun_PageDetails_WebVitalsTrendsItem:
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - $ref: '#/components/schemas/AuditRun_PageWebVitals'
    AuditRun_PageDetails_SpecificWebVitalsTrend_Response:
      type: object
      required:
        - stats
        - runs
      properties:
        stats:
          $ref: '#/components/schemas/AuditRun_PageDetails_WebVitalsTrends_Stats'
        runs:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
              - type: object
                required:
                  - trendValue
                properties:
                  trendValue:
                    type: number
                    format: double
    AuditRun_PageDetails_WebVitalsTrends_Stats:
      type: object
      description: Web Vitals trends statistics (min, max, average, median)
      required:
        - min
        - max
        - average
        - median
      properties:
        min:
          type: number
          format: double
        max:
          type: number
          format: double
        average:
          type: number
          format: double
        median:
          type: number
          format: double
    AuditRun_PageSummary_WebVitalsTrends_Response:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_PageSummary_WebVitalsTrendsItem'
    AuditRun_PageSummary_WebVitalsTrendsItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - largestContentfulPaintStats
            - firstContentfulPaintStats
            - timeToFirstByteStats
            - cumulativeLayoutShiftStats
          properties:
            largestContentfulPaintStats:
              $ref: '#/components/schemas/AuditRun_PageSummary_WebVitalsTrends_Stats'
            firstContentfulPaintStats:
              $ref: '#/components/schemas/AuditRun_PageSummary_WebVitalsTrends_Stats'
            timeToFirstByteStats:
              $ref: '#/components/schemas/AuditRun_PageSummary_WebVitalsTrends_Stats'
            cumulativeLayoutShiftStats:
              $ref: '#/components/schemas/AuditRun_PageSummary_WebVitalsTrends_Stats'
    AuditRun_PageSummary_SpecificWebVitalsTrend_Response:
      type: object
      required:
        - runs
      properties:
        runs:
          type: array
          items:
            $ref: >-
              #/components/schemas/AuditRun_PageSummary_SpecificWebVitalsTrend_ResponseItem
    AuditRun_PageSummary_SpecificWebVitalsTrend_ResponseItem:
      x-implements:
        - >-
          com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
        - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
        - type: object
          required:
            - stats
            - distribution
          properties:
            distribution:
              $ref: >-
                #/components/schemas/AuditRun_PageSummary_WebVitalsTrends_RunItem_PagesDistribution
            stats:
              $ref: '#/components/schemas/AuditRun_PageSummary_WebVitalsTrends_Stats'
    AuditRun_PageSummary_WebVitalsTrends_RunItem_PagesDistribution:
      type: object
      description: Distribution of pages by buckets of web vitals values
      required:
        - good
        - needsImprovement
        - poor
      properties:
        good:
          type: integer
        needsImprovement:
          type: integer
        poor:
          type: integer
    AuditRun_PageSummary_WebVitalsTrends_Stats:
      type: object
      description: >-
        Web Vitals trends statistics (min, max, average, median, 25th and 75th
        percentiles)
      required:
        - min
        - max
        - average
        - median
        - p25
        - p75
      properties:
        min:
          type: number
          format: double
        max:
          type: number
          format: double
        average:
          type: number
          format: double
        median:
          type: number
          format: double
        p25:
          type: number
          format: double
        p75:
          type: number
          format: double
    WebVitalsLargestContentfulPaint:
      type: number
      format: double
      description: LCP time in milliseconds
    AuditRun_PageWebVitals:
      type: object
      description: Web Vitals for a single page
      properties:
        largestContentfulPaint:
          $ref: '#/components/schemas/WebVitalsLargestContentfulPaint'
        firstContentfulPaint:
          type: number
          format: double
          description: FCP time in milliseconds
        timeToFirstByte:
          type: number
          format: double
          description: TTFB time in milliseconds
        cumulativeLayoutShift:
          type: number
          format: double
          description: unitless measurement of CLS
    ReceivedEmailMessageId:
      type: integer
    EmailInboxMessageAlertsRequestDTO:
      type: object
      required:
        - emailInboxId
        - messageIds
      properties:
        emailInboxId:
          type: integer
        messageIds:
          type: array
          description: Message IDs list cannot be empty
          minItems: 1
          maxItems: 200
          items:
            $ref: '#/components/schemas/ReceivedEmailMessageId'
    EmailInboxMessageAlertsResponseDTO:
      type: object
      required:
        - messages
      properties:
        messages:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/EmailInboxMessageAlertsResponse_MessageItem'
    EmailInboxMessageAlertsResponse_MessageItem:
      type: object
      required:
        - messageId
        - audits
      properties:
        messageId:
          $ref: '#/components/schemas/ReceivedEmailMessageId'
        audits:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/EmailInboxMessageAlertsResponse_AuditItem'
    EmailInboxMessageAlertsResponse_AuditItem:
      type: object
      description: >
        `assignedAlertCount` is the number of alerts computed for completed
        run, 

        number of alerts assigned to audit for not completed run.

        If audit is not completed then `triggeredAlertCount` property will be
        absent.
      required:
        - auditId
        - auditName
        - isCompleted
        - runId
        - assignedAlertCount
      properties:
        auditId:
          $ref: '#/components/schemas/AuditId'
        auditName:
          type: string
        isCompleted:
          type: boolean
        runId:
          $ref: '#/components/schemas/RunId'
        assignedAlertCount:
          type: integer
        triggeredAlertCount:
          type: integer
    InvokeAuditLiveResultsResponseDTO:
      type: object
      required:
        - requestId
      properties:
        requestId:
          type: string
    PagesLiveResultsSortColumn:
      type: string
      default: pageId
      enum:
        - finalUrl
        - finalStatusCode
        - uniqueTagCount
        - uniqueCookieCount
        - dataLayerCount
        - consoleErrorCount
        - pageId
        - lcpSeconds
    TagsLiveResultsSortColumn:
      type: string
      default: tagId
      enum:
        - tagName
        - tagId
        - tagVendorName
        - tagCategory
        - pagesTagged
        - pagesNotTagged
    CookiesLiveResultsSortColumn:
      type: string
      default: domain
      enum:
        - name
        - domain
        - pagesWithCookie
        - partyType
        - partitionKey
        - durationMinutes
        - sameSite
        - secure
        - httpOnly
        - origin
    AccessibilityIssuesLiveResultsSortColumn:
      type: string
      default: impact
      enum:
        - issueType
        - wcagVersionAndConformanceLevel
        - impact
        - affectedPages
        - totalCount
    AthenaQueryResultStatus:
      type: string
      enum:
        - COMPLETE
        - PENDING
        - ERROR
    AuditLiveResultsBaseResponseDTO:
      description: >-
        Response for page live results. Will only contain results object when
        status is COMPLETE. `statusMessage` is populated when status is ERROR.
      type: object
      required:
        - status
      properties:
        status:
          $ref: '#/components/schemas/AthenaQueryResultStatus'
        statusMessage:
          type: string
        results:
          type: object
    AuditLiveResultsPagesResponseDTO:
      allOf:
        - $ref: '#/components/schemas/AuditLiveResultsBaseResponseDTO'
        - type: object
          properties:
            results:
              $ref: '#/components/schemas/AuditLiveResultsPageEntriesDTO'
    AuditLiveResultsTagsResponseDTO:
      allOf:
        - $ref: '#/components/schemas/AuditLiveResultsBaseResponseDTO'
        - type: object
          properties:
            results:
              $ref: '#/components/schemas/AuditLiveResultsTagEntriesDTO'
    AuditLiveResultsCookiesResponseDTO:
      allOf:
        - $ref: '#/components/schemas/AuditLiveResultsBaseResponseDTO'
        - type: object
          properties:
            results:
              $ref: '#/components/schemas/AuditLiveResultsCookieEntriesDTO'
    AuditLiveResultsAccessibilityIssuesResponseDTO:
      allOf:
        - $ref: '#/components/schemas/AuditLiveResultsBaseResponseDTO'
        - type: object
          properties:
            results:
              $ref: >-
                #/components/schemas/AuditLiveResultsAccessibilityIssuesEntriesDTO
    AuditLiveResultsPageEntriesDTO:
      description: Object containing all of the LiveResults(TM) data for the page query.
      type: object
      required:
        - pageEntries
      properties:
        pageEntries:
          type: array
          items:
            $ref: '#/components/schemas/AuditLiveResultsPageEntryDTO'
    AuditLiveResultsPageEntryDTO:
      type: object
      description: One page's worth of LiveResults(TM) data.
      required:
        - pageId
        - finalUrl
        - finalStatusCode
        - uniqueTagCount
        - uniqueCookieCount
        - dataLayerCount
        - consoleErrorCount
        - lcpSeconds
      properties:
        pageId:
          $ref: '#/components/schemas/PageId'
        finalUrl:
          $ref: '#/components/schemas/PageUrl'
        finalStatusCode:
          $ref: '#/components/schemas/PageStatusCode'
        uniqueTagCount:
          type: number
          description: Number of unique tags found on the page.
        uniqueCookieCount:
          type: number
          description: Number of unique cookies found on the page.
        dataLayerCount:
          type: number
          description: Number of data layers found on the page.
        consoleErrorCount:
          type: number
          description: Number of console error messages on the page.
        lcpSeconds:
          $ref: '#/components/schemas/WebVitalsLargestContentfulPaint'
        accessibilityScores:
          $ref: '#/components/schemas/PageAccessibilityScores'
    AuditLiveResultsTagEntriesDTO:
      description: Object containing all of the LiveResults(TM) data for the tag query.
      type: object
      required:
        - tagEntries
      properties:
        tagEntries:
          type: array
          items:
            $ref: '#/components/schemas/AuditLiveResultsTagEntryDTO'
    AuditLiveResultsTagEntryDTO:
      type: object
      description: One tag's worth of LiveResults(TM) data.
      required:
        - tagName
        - tagId
        - tagVendorName
        - tagCategory
        - pagesTagged
        - pagesNotTagged
      properties:
        tagName:
          type: string
        tagId:
          type: number
        tagVendorName:
          type: string
        tagCategory:
          type: string
        pagesTagged:
          type: number
        pagesNotTagged:
          type: number
    AuditLiveResultsCookieEntriesDTO:
      description: Object containing all of the LiveResults(TM) data for the cookies query.
      type: object
      required:
        - cookieEntries
      properties:
        cookieEntries:
          type: array
          items:
            $ref: '#/components/schemas/AuditLiveResultsCookieEntryDTO'
    AuditLiveResultsCookieEntryDTO:
      type: object
      description: One cookie's worth of LiveResults(TM) data.
      required:
        - name
        - domain
        - pagesWithCookie
        - partyType
        - partitionKey
        - durationMinutes
        - sameSite
        - secure
        - httpOnly
        - origin
      properties:
        name:
          type: string
        domain:
          type: string
        partitionKey:
          type: string
        pagesWithCookie:
          type: number
        partyType:
          type: array
          items:
            type: string
        durationMinutes:
          type: array
          items:
            type: number
        sameSite:
          type: array
          items:
            type: string
        secure:
          type: array
          items:
            type: boolean
        httpOnly:
          type: array
          items:
            type: boolean
        origin:
          type: array
          items:
            type: string
    AuditLiveResultsAccessibilityIssuesEntriesDTO:
      description: >-
        Object containing all of the LiveResults(TM) data for the accessibility
        issues query.
      type: object
      required:
        - accessibilityIssues
      properties:
        accessibilityIssues:
          type: array
          items:
            $ref: '#/components/schemas/AuditLiveResultsAccessibilityIssuesEntryDTO'
    AuditLiveResultsAccessibilityIssuesEntryDTO:
      type: object
      description: One accessibility issue's worth of LiveResults(TM) data.
      required:
        - issueType
        - affectedPages
        - totalCount
        - wcagVersionAndConformanceLevel
        - impact
      properties:
        issueType:
          type: string
        affectedPages:
          type: number
        totalCount:
          type: number
        wcagVersionAndConformanceLevel:
          type: string
        impact:
          type: string
    EmailInboxMessageDetailsResponseDTO:
      type: object
      required:
        - subject
        - sendingPlatform
        - sendingEmail
        - linksScanned
        - headers
        - screenshot
        - screenshotThumb
        - emailRawHtml
        - linksScannedValues
      properties:
        subject:
          type: string
        receivedAt:
          type: string
        sendingPlatform:
          type: string
        sendingEmail:
          type: string
        linksScanned:
          type: integer
        headers:
          type: array
          items:
            $ref: '#/components/schemas/EmailMessageDetailsHeaderDTO'
        screenshot:
          type: string
        screenshotThumb:
          type: string
        emailRawHtml:
          type: string
        linksScannedValues:
          description: All links found in the email message
          type: array
          items:
            type: string
    EmailMessageDetailsHeaderDTO:
      type: object
      required:
        - name
        - value
        - isId
        - vendor
        - description
      properties:
        name:
          type: string
        value:
          type: string
        isId:
          type: boolean
        vendor:
          type: string
        description:
          type: string
    ErrorModel:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        message:
          type: string
        details:
          type: string
        validationReport:
          type: object
    PaginationMetadata:
      type: object
      required:
        - totalCount
        - totalPageCount
        - pageSize
        - currentPageSize
        - currentPageNumber
      properties:
        totalCount:
          description: Total number of items available from all result pages combined
          type: integer
        totalPageCount:
          description: Total number of pages available
          type: integer
        pageSize:
          description: >-
            Page size - number of items per result page configured by `size`
            query parameter or default page size
          type: integer
        currentPageSize:
          description: Number of items in current result page
          type: integer
        currentPageNumber:
          description: Current page number/ordinal
          type: integer
    ConsoleLogDto:
      type: object
      properties:
        message:
          type: string
          description: The console message
        count:
          type: integer
          minimum: 1
          description: >-
            The number of times this exact console message was encountered in
            the given context
        level:
          type: string
          enum:
            - SEVERE
            - WARNING
            - INFO
            - FINE
          description: The console log level
        timestamp:
          type: integer
          format: int64
          description: Timestamp when the log occurred
        source:
          type: string
          description: The file that triggered the console log, if it can be determined
    WebJourneyNotificationConfig:
      type: object
      properties:
        emails:
          type: array
          items:
            type: string
          description: List of email addresses for notifications
        alerts:
          type: boolean
          description: Whether alerts are enabled
        webHookUrl:
          type: string
          description: Webhook URL for notifications
    WebJourneyRunStatusObject:
      type: object
      properties:
        status:
          type: integer
          description: The numeric status value of the web journey run
    WebJourneyAndActionRules:
      type: object
      properties:
        webJourneyRules:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
          description: List of rules for the web journey
        actionRules:
          type: array
          items:
            $ref: '#/components/schemas/WebJourneyActionRules'
          description: List of action-specific rules
    WebJourneyActionRules:
      type: object
      properties:
        actionId:
          type: integer
          format: int64
          description: The ID of the action
        rules:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
          description: List of rules for this action
    WebJourneyAndActionRulesRequest:
      type: object
      properties:
        webJourneyRules:
          type: array
          items:
            type: integer
          uniqueItems: true
          description: Set of web journey rule IDs
        actionRules:
          type: array
          items:
            $ref: '#/components/schemas/WebJourneyActionRulesRequest'
          description: List of action rule requests
    WebJourneyActionRulesRequest:
      type: object
      properties:
        actionId:
          type: integer
          format: int64
          description: The ID of the action
        rules:
          type: array
          items:
            type: integer
          uniqueItems: true
          description: Set of rule IDs for this action
    AuditRun:
      type: object
      properties:
        runId:
          $ref: '#/components/schemas/RunId'
        completedAt:
          type: string
          format: date-time
    ActionSetDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
          readOnly: true
        name:
          type: string
          description: Name of the action set
          nullable: false
          minLength: 1
        actions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSetActionDto'
          description: List of actions in the action set
          nullable: false
          minItems: 1
        updatedAt:
          type: string
          format: local-date-time
          readOnly: true
          description: Timestamp when the action set was last updated
        createdAt:
          type: string
          format: local-date-time
          readOnly: true
          description: Timestamp when the action set was created
        accountId:
          type: integer
          readOnly: true
          description: ID of the account the action set belongs to
        userId:
          type: integer
          readOnly: true
          description: ID of the user the action set belongs to
      required:
        - name
        - actions
    SequencedAction:
      type: object
      properties:
        sequence:
          type: integer
          description: Sequence number of the action
          nullable: false
        id:
          type: integer
          format: int64
          readOnly: true
          description: ID of the action
        description:
          type: string
          description: >-
            Description of the action. Present for all actionTypes except:
            actionSet
        actionType:
          type: string
          enum:
            - click
            - input
            - maskedinput
            - select
            - check
            - uncheck
            - enteriframe
            - navto
            - watch
            - clearcookies
            - execute
            - exitiframe
            - privacyoptin
            - privacyoptout
            - actionset
          description: Type of the user action
          nullable: false
        waitDuration:
          type: integer
          description: >-
            Duration to wait in milliseconds. Present for actionTypes: navTo,
            click, input, select, check, uncheck, execute, watch, maskedInput,
            enterIFrame, exitIFrame, clearCookies, privacyOptIn, privacyOptOut
        selectors:
          type: array
          items:
            $ref: '#/components/schemas/WebActionSelector'
          description: >-
            List of selectors for element-based actions. Present for
            actionTypes: click, input, select, check, uncheck, maskedInput,
            enterIFrame
        preventNavigation:
          type: boolean
          description: >-
            Whether to prevent navigation after action execution. Present for
            actionTypes: click, input, select, check, uncheck, execute, watch,
            maskedInput
        value:
          type: string
          description: >-
            Value field with different meanings per actionType. For
            input/select: input value. For navTo: URL. For
            privacyOptIn/privacyOptOut: URL. For execute: JavaScript code.
            Present for actionTypes: input, select, navTo, privacyOptIn,
            privacyOptOut, execute
        maskedValue:
          type: string
          description: >-
            Masked value for secure input actions. Present for actionType:
            maskedInput
        js:
          type: string
          description: 'JavaScript code to execute. Present for actionType: execute'
        url:
          type: string
          description: >-
            URL for navigation and privacy actions. Present for actionTypes:
            navTo, privacyOptIn, privacyOptOut
        seconds:
          type: integer
          description: 'Number of seconds to watch/wait. Present for actionType: watch'
        isRequired:
          type: boolean
          description: >-
            Whether privacy action is required. Present for actionTypes:
            privacyOptIn, privacyOptOut
      required:
        - sequence
        - actionType
    AuditLoginSequencedAction:
      allOf:
        - $ref: '#/components/schemas/SequencedAction'
        - type: object
          properties:
            actionSetId:
              type: integer
              format: int64
              description: >-
                ID of the action set to reference. Present for actionType:
                actionset
    ActionSetActionDto:
      allOf:
        - $ref: '#/components/schemas/SequencedAction'
        - type: object
          properties:
            actionSetId:
              type: integer
              format: int64
              description: >-
                ID of the action set this action belongs to. For actionType
                'actionSet', this contains the referenced action set ID
            pageFilter:
              type: string
              description: Page filter pattern for the action
    WebActionSelector:
      type: object
      properties:
        selectorType:
          $ref: '#/components/schemas/WebActionSelectorType'
        value:
          description: >-
            Selector value - string for simple selectors (CSS, XPath, id, name)
            or AttributeSelectorValue object for htmlattributes selector type
      required:
        - selectorType
        - value
    WebActionSelectorType:
      type: string
      enum:
        - id
        - name
        - css
        - xpath
        - htmlattributes
    ElementAttribute:
      type: object
      properties:
        name:
          type: string
          description: Attribute name
        value:
          type: string
          description: Attribute value
      required:
        - name
        - value
    EngineActionDTO:
      type: object
      description: >-
        Engine action DTO for internal services - represents an action to be
        executed by the chrome-engine
      properties:
        elementSelectors:
          type: array
          items:
            $ref: '#/components/schemas/EngineActionSelectorDTO'
          description: List of element selectors for the action
          default: []
        filter:
          type: string
          description: CSS selector filter
        input:
          type: string
          description: Input value for the action
        label:
          type: string
          description: Label/description of the action
        secretInput:
          type: string
          description: Encrypted/secret input value
        preventNavigation:
          type: boolean
          description: Whether to prevent navigation after the action
        actionType:
          type: integer
          description: Type of action to perform
        sequenceId:
          type: integer
          description: Sequence identifier
        snapshotId:
          type: integer
          description: Snapshot identifier
        value:
          type: integer
          description: Value associated with the action
        waitDuration:
          type: integer
          description: Wait duration in milliseconds
        id:
          type: integer
          format: int64
          description: Action identifier
        isRequired:
          type: boolean
          description: Whether the action is required
    AuditActionsSnapshotDTO:
      type: object
      description: Snapshot of audit actions including pre-audit and on-page actions
      properties:
        preAuditActions:
          type: array
          items:
            $ref: '#/components/schemas/EngineActionDTO'
          description: Actions to execute before the audit
          default: []
        onPageAuditActions:
          type: array
          items:
            $ref: '#/components/schemas/EngineActionDTO'
          description: Actions to execute on each page during the audit
          default: []
    EngineActionSelectorDTO:
      description: >-
        Polymorphic selector for engine actions - can be simple (string) or
        attribute-based
      discriminator:
        propertyName: jsonType
        mapping:
          simple: '#/components/schemas/EngineActionSimpleSelectorDTO'
          attribute: '#/components/schemas/EngineActionAttributeSelectorDTO'
      oneOf:
        - $ref: '#/components/schemas/EngineActionSimpleSelectorDTO'
        - $ref: '#/components/schemas/EngineActionAttributeSelectorDTO'
    EngineActionSimpleSelectorDTO:
      type: object
      description: Simple selector using a string value (e.g., CSS selector)
      required:
        - jsonType
        - strategy
        - value
      properties:
        jsonType:
          type: string
          enum:
            - simple
          description: Selector type discriminator - must be 'simple'
        strategy:
          type: integer
          description: Selector strategy identifier
        value:
          type: string
          description: Selector value (e.g., CSS selector like '#submit-button')
    EngineActionAttributeSelectorDTO:
      type: object
      description: Attribute-based selector using element attributes
      required:
        - jsonType
        - strategy
        - value
      properties:
        jsonType:
          type: string
          enum:
            - attribute
          description: Selector type discriminator - must be 'attribute'
        strategy:
          type: integer
          description: Selector strategy identifier
        value:
          $ref: '#/components/schemas/AttributeSelectorValue'
    AttributeSelectorValue:
      type: object
      properties:
        tagName:
          type: string
          description: HTML tag name
        innerHTML:
          type: string
          description: Inner HTML content
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/ElementAttribute'
          description: List of element attributes
    WebJourneyRunRequestDTO:
      type: object
      description: Complete configuration snapshot for a web journey run
      properties:
        runId:
          type: integer
          format: int64
          description: Run identifier
        id:
          type: integer
          format: int64
          description: Web journey identifier
        accountId:
          type: integer
          format: int64
          description: Account identifier
        propertyId:
          type: integer
          format: int64
          description: Property/domain identifier
        userAgentId:
          type: integer
          description: User agent identifier
        awsRegion:
          type: string
          description: AWS region for execution
        tagMask:
          type: string
          description: Tag mask configuration
        proxy:
          type: string
          description: Proxy server configuration
        options:
          $ref: '#/components/schemas/WebJourneyOptionsDTO'
        actions:
          type: array
          items:
            $ref: '#/components/schemas/EngineActionDTO'
          description: List of actions to execute
        vpnEnabled:
          type: boolean
          description: Whether VPN is enabled
        gpcEnabled:
          type: boolean
          description: Whether Global Privacy Control is enabled
        blockThirdPartyCookies:
          type: boolean
          description: Whether to block third-party cookies
        rfmConfigs:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/RemoteFileMappingConfigDTO'
          description: Remote file mapping configurations keyed by mapping ID
        customHeaderGroup:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeaderGroupSnapshot'
          description: Custom header groups for the journey
    WebJourneyOptionsDTO:
      type: object
      description: Browser and execution options for web journey
      properties:
        loadVideos:
          type: boolean
          description: Whether to load videos
        browserWidth:
          type: integer
          description: Browser viewport width in pixels
        browserHeight:
          type: integer
          description: Browser viewport height in pixels
        dataLayer:
          type: string
          description: Data layer name for analytics
    RemoteFileMappingConfigDTO:
      type: object
      description: Configuration for remote file mapping
      properties:
        s3File:
          $ref: '#/components/schemas/S3FileDTO'
        fileUrl:
          type: string
          description: URL of the replacement file
        matchType:
          type: integer
          description: Match type (1=equals, 2=regex, etc.)
        matchValue:
          type: string
          description: Value to match against
    S3FileDTO:
      type: object
      description: S3 file reference
      properties:
        bucket:
          type: string
          description: S3 bucket name
        key:
          type: string
          description: S3 object key (full path)
    WebJourneyStartReason:
      type: integer
      description: Reason for starting the web journey run
      enum:
        - 1
        - 2
      x-enum-varnames:
        - SCHEDULE
        - RUN_NOW
    PossibleMigrations:
      type: object
      properties:
        auditsWithMatchedActions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSetLibraryItem'
          description: Audits that have actions matching the action set
        auditsWithMatchedLoginActions:
          type: array
          items:
            $ref: '#/components/schemas/ActionSetLibraryItem'
          description: Audits that have login actions matching the action set
        journeys:
          type: array
          items:
            $ref: '#/components/schemas/ActionSetLibraryItem'
          description: Web journeys that can use this action set
    ActionSetLibraryItem:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: ID of the audit or journey
        name:
          type: string
          description: Name of the audit or journey
        access:
          type: boolean
          description: Whether the user has access to this audit or journey
      required:
        - id
        - name
        - access
    PreSignedUrlResponse:
      type: object
      properties:
        putPresignedUrl:
          type: string
        getPresignedUrl:
          type: string
      required:
        - putPresignedUrl
        - getPresignedUrl
    DataSourcesResult:
      type: object
      required:
        - metadata
        - dataSources
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        dataSources:
          type: array
          items:
            $ref: '#/components/schemas/DataSource'
    DataSourceItemTypeCap:
      description: Type of data source item.
      type: string
      enum:
        - AUDIT
        - WEB_JOURNEY
    DataSourceItemType:
      description: Type of data source item.
      type: string
      enum:
        - audit
        - web-journey
    DataSource:
      type: object
      required:
        - itemType
        - itemId
        - labels
      properties:
        itemType:
          $ref: '#/components/schemas/DataSourceItemType'
        itemId:
          type: integer
        itemName:
          type: string
        lastCompletedRun:
          $ref: '#/components/schemas/AuditRun'
        consentCategoryType:
          $ref: '#/components/schemas/ConsentCategory_TypeEnum'
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
    DataSourceSortByEnum:
      type: string
      default: lastRun
      enum:
        - itemName
        - itemType
        - lastRun
    UserEventsResult:
      type: object
      required:
        - metadata
        - userEvents
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        userEvents:
          type: array
          items:
            $ref: '#/components/schemas/UserEvent'
    InstallationId:
      type: integer
      format: int64
      description: ID of a GitHub App installation
      example: 123456789
    ConsentCategoriesUploadRequest:
      type: object
      required:
        - fileId
        - consentCategories
      properties:
        fileId:
          type: string
        consentCategories:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/ConsentCategoryUploadWithLabels'
    ConsentCategoryUploadWithLabels:
      type: object
      required:
        - labels
      properties:
        consentCategoryName:
          type: string
        labels:
          type: array
          default: []
          items:
            type: integer
        consentCategoryId:
          $ref: '#/components/schemas/ConsentCategoryId'
    ConsentCategoryUploadPreviewResult:
      type: object
      required:
        - results
      properties:
        fileId:
          type: string
        results:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategoryFoundResult'
    ConsentCategoryFoundResult:
      type: object
      required:
        - consentCategoryName
        - noOfNewCookies
        - consentCategoryId
      properties:
        consentCategoryName:
          type: string
        noOfNewCookies:
          type: integer
        consentCategoryId:
          $ref: '#/components/schemas/ConsentCategoryId'
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
    ConsentCategoryLabel:
      description: DTO for label assigned to a Consent Category
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
    EmailInboxId:
      type: integer
    CensusId:
      type: integer
      format: int64
    InitiatorHierarchyNodeDTO:
      allOf:
        - $ref: '#/components/schemas/InitiatorRelationshipStrength'
        - type: object
          properties:
            aggregatedLoadTime:
              type: integer
            name:
              type: string
            size:
              type: integer
            relationshipStrength:
              $ref: '#/components/schemas/InitiatorRelationshipStrength'
            tagName:
              type: string
            tagId:
              type: integer
            url:
              type: string
            children:
              type: array
              items:
                $ref: '#/components/schemas/InitiatorHierarchyNodeDTO'
            substitution:
              $ref: '#/components/schemas/Substitution'
            requestBlocking:
              $ref: '#/components/schemas/RequestBlocking'
    LocationData:
      type: object
      required:
        - country
      properties:
        country:
          type: string
    TagProperties:
      type: object
      description: Tag information object containing category and tag details
      properties:
        tagCategoryId:
          type: integer
          description: Tag category ID
        tagCategoryName:
          type: string
          description: Tag category name
        tagId:
          type: integer
          description: Tag ID
        tagName:
          type: string
          description: Tag name
    WebJourneyActionRequestResponse:
      type: object
      properties:
        pageref:
          type: string
        startedDateTime:
          type: string
          format: date-time
          description: >-
            The full date and time, according to ISO-8601 (e. g.
            2020-08-25T21:15:43Z)
        time:
          type: integer
          minimum: 0
          description: Request's duration in milliseconds
        request:
          $ref: '#/components/schemas/HarRequest'
        response:
          $ref: '#/components/schemas/HarResponse'
        cache:
          $ref: '#/components/schemas/HarCache'
        timings:
          $ref: '#/components/schemas/HarEntryTimings'
        serverIPAddress:
          type: string
        connection:
          type: string
        comment:
          type: string
        resourceType:
          type: string
          description: Resource type (script, xhr, image, document, font, ping, etc.)
        locationData:
          $ref: '#/components/schemas/LocationData'
        tag:
          $ref: '#/components/schemas/TagProperties'
        tagId:
          type: integer
    InitiatorRelationshipStrength:
      type: string
      enum:
        - low
        - medium
        - high
    InitiatorsPageRequest:
      required:
        - runId
      properties:
        pageId:
          $ref: '#/components/schemas/PageId'
        runId:
          $ref: '#/components/schemas/RunId'
        url:
          type: string
    Frequency:
      type: string
      description: combination of journey and audit frequency
      enum:
        - paused
        - once
        - 15 minutes
        - 1 hour
        - 6 hours
        - 12 hours
        - daily
        - weekly
        - biweekly
        - monthly
        - quarterly
        - semiannually
        - yearly
    BaseScheduleForCreation:
      required:
        - dtStart
        - tzId
        - recurrenceRule
        - isPaused
      properties:
        dtStart:
          type: string
          description: Date of first desired start (if in range of recurrence rule).
        tzId:
          type: string
          description: >-
            Timezone identifier compliant with tz database (ex.
            America/New_York).
            https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
        recurrenceRule:
          type: string
          description: >-
            An RFC-5545 (https://www.rfc-editor.org/rfc/rfc5545#appendix-A)
            compliant recurrence rule string.
        isPaused:
          type: boolean
          description: Whether the schedule is paused or not.
    ScheduleWithExceptionsAndDescription:
      required:
        - description
      type: object
      description: Schedule object with exception dates for the calendar endpoint.
      allOf:
        - $ref: '#/components/schemas/ScheduleWithExceptions'
        - type: object
          properties:
            description:
              type: string
              description: A description of the schedule.
    ScheduleWithExceptions:
      required:
        - dtStart
        - tzId
        - recurrenceRule
        - isPaused
        - exceptions
      type: object
      description: Schedule object with exception dates for the calendar endpoint.
      allOf:
        - $ref: '#/components/schemas/BaseScheduleForCreation'
        - type: object
          properties:
            exceptions:
              description: List of dates to skip when scheduling.
              type: array
              items:
                $ref: '#/components/schemas/ISO8601LocalDateTime'
    Schedule:
      type: object
      required:
        - dtStart
        - tzId
        - recurrenceRule
        - isPaused
        - description
        - presetType
      allOf:
        - $ref: '#/components/schemas/BaseScheduleForCreation'
        - type: object
          properties:
            description:
              type: string
              description: A description of the schedule.
            presetType:
              type: string
              description: The preset type of the schedule.
              enum:
                - 12_HOUR
                - BIWEEKLY
                - SEMI_ANNUALLY
                - YEARLY
                - RUN_ONCE
                - 15_MIN
                - HOURLY
                - 6_HOUR
                - DAILY
                - WEEKLY
                - MONTHLY
                - QUARTERLY
                - CUSTOM
                - UNSCHEDULED
    SchedulePreset:
      type: object
      required:
        - freqId
        - friendlyName
        - rule
        - groupId
      properties:
        freqId:
          type: string
          description: The preset's frequency ID
          example: 15_MIN
        friendlyName:
          type: string
          description: The preset's user-friendly name
          example: Every 15 Minutes
        rule:
          type: string
          description: The preset's recurrence rule
          example: FREQ=MINUTELY;INTERVAL=15
        groupId:
          type: string
          description: The membership ID for the group
    ScheduleRuleDescriptionRequest:
      type: object
      required:
        - recurrenceRule
      properties:
        recurrenceRule:
          type: string
          description: >-
            An RFC-5545 (https://www.rfc-editor.org/rfc/rfc5545#appendix-A)
            compliant recurrence rule string.
    ScheduleRuleDescriptionResponse:
      type: object
      required:
        - description
      properties:
        description:
          type: string
          description: A description of the schedule.
    MonthFullString:
      type: string
      enum:
        - January
        - February
        - March
        - April
        - May
        - June
        - July
        - August
        - September
        - October
        - November
        - December
    UserEvents_ResponseDTO:
      type: object
      properties:
        nextPage:
          type: boolean
          description: true if there are more pages of data to return
        userEvents:
          items:
            $ref: '#/components/schemas/UserEvent_ItemDTO'
    UserEvent_ItemDTO:
      description: event log by user
      type: object
      properties:
        userId:
          $ref: '#/components/schemas/UserId'
        userName:
          type: string
        eventType:
          $ref: '#/components/schemas/UserEventTypeApi'
        itemType:
          $ref: '#/components/schemas/UserEventItemTypeApi'
        itemId:
          type: integer
        itemName:
          type: string
        eventTimeStamp:
          type: string
          format: date-time
    UserEvent:
      description: event log by user
      type: object
      properties:
        userId:
          $ref: '#/components/schemas/UserId'
        userName:
          type: string
        eventType:
          $ref: '#/components/schemas/UserEventTypeApi'
        itemType:
          $ref: '#/components/schemas/UserEventItemTypeApi'
        itemId:
          type: integer
        itemName:
          type: string
        eventTimeStamp:
          type: string
          format: date-time
    UserEventTypeApi:
      type: string
      enum:
        - created
        - deleted
        - run-requested
        - uploaded
        - edited
        - overage-enabled
        - overage-disabled
    UserEventItemTypeApi:
      type: string
      enum:
        - audit
        - web-journey
        - mobile-journey
        - mobile-app-file
        - folder
        - subfolder
        - consent-category
        - account
        - email-inbox
        - grid-saved-report
        - custom-http-header-group
    UserEventSortByEnum:
      type: string
      enum:
        - userId
        - userName
        - eventType
        - itemId
        - itemName
        - eventTimeStamp
      default: eventTimeStamp
    PatchDocument_RequestDTO:
      type: array
      items:
        $ref: '#/components/schemas/PatchDocument_ItemDTO'
    PatchDocument_ItemDTO:
      description: A JSONPatch document as defined by RFC 6902
      required:
        - op
        - path
      properties:
        op:
          type: string
          description: The operation to be performed
          enum:
            - add
            - remove
            - replace
            - move
            - copy
            - test
        path:
          type: string
          description: A JSON-Pointer
        value:
          type: object
          description: The value to be used within the operations.
        from:
          type: string
          description: A string containing a JSON Pointer value.
    AttachmentPatchDocument_RequestDTO:
      type: array
      items:
        $ref: '#/components/schemas/AttachmentPatchDocument_ItemDTO'
    AttachmentPatchDocument_ItemDTO:
      description: A JSONPatch document for modifying consent preference attachments
      properties:
        op:
          type: string
          description: The operation to be performed
          enum:
            - add
            - remove
        path:
          type: string
        value:
          type: integer
          description: id of the item to assign
      example:
        - op: add
          path: /-
          value: 1
        - op: remove
          path: /
          value: 2
    ConsentCategory_TypeEnum:
      type: string
      enum:
        - approved
        - unapproved
    ConsentCategory_Cmp_Data:
      type: object
      required:
        - cmpVendor
        - oneTrustCookieGroupDomain
        - oneTrustCookieGroupId
        - oneTrustCookieGroupGeo
      properties:
        cmpVendor:
          $ref: '#/components/schemas/ConsentCategory_VendorTypeEnum'
        oneTrustCookieGroupDescription:
          type: string
          description: The OneTrust provided description of the group
        oneTrustCookieGroupDomain:
          type: string
          description: The domain reported by OneTrust for which the consent group applies
          example: observepoint.com
        oneTrustCookieGroupId:
          type: string
          description: The OneTrust ID for the group
          example: C001
        oneTrustCookieGroupGeo:
          type: string
          description: The geographic location for which the consent group applies
          example: us, ut
        sourceUrl:
          type: string
          description: The full URL of the page where the CMP import was run
          example: https://example.com
    ConsentCategory_VendorTypeEnum:
      type: string
      enum:
        - ONE_TRUST
    ConsentCategory_updatedType:
      type: string
      enum:
        - ONETRUST_IMPORT
        - FILE_IMPORT
        - APP_CREATE
    ConsentCategory_CreateRequestDTO:
      type: object
      required:
        - name
        - type
      properties:
        name:
          type: string
          minLength: 1
        notes:
          type: string
        type:
          $ref: '#/components/schemas/ConsentCategory_TypeEnum'
        isDefaultCC:
          type: boolean
          description: If true, this is the default consent category
        cmpData:
          $ref: '#/components/schemas/ConsentCategory_Cmp_Data'
    ConsentCategory_UpdateRequestDTO:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          minLength: 1
        notes:
          type: string
        isDefaultCC:
          type: boolean
          description: If true, this is the default consent category
        cmpData:
          $ref: '#/components/schemas/ConsentCategory_Cmp_Data'
    ConsentCategoriesResponseDTO:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        consentCategories:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategoryDTO'
    ConsentCategoryDTO:
      type: object
      properties:
        name:
          type: string
        notes:
          type: string
        type:
          $ref: '#/components/schemas/ConsentCategory_TypeEnum'
        id:
          $ref: '#/components/schemas/ConsentCategoryId'
        isDefaultCC:
          type: boolean
          description: If true, this is the default consent category
        cmpData:
          $ref: '#/components/schemas/ConsentCategory_Cmp_Data'
        updatedType:
          $ref: '#/components/schemas/ConsentCategory_updatedType'
        updatedAt:
          type: string
          format: date-time
          description: The last time this consent category was updated in UTC timezone
    ConsentCategorySnapshotDTO:
      type: object
      description: A consent category snapshot dto
      required:
        - name
        - type
        - consentCategoryId
        - consentCategorySnapshotId
        - consentCategoryConfigExists
      properties:
        name:
          type: string
        notes:
          type: string
        type:
          $ref: '#/components/schemas/ConsentCategory_TypeEnum'
        consentCategoryId:
          $ref: '#/components/schemas/ConsentCategoryId'
        consentCategorySnapshotId:
          $ref: '#/components/schemas/ConsentCategorySnapshotId'
        consentCategoryConfigExists:
          type: boolean
          description: If false, the consent category config doesn't exist anymore
    ConsentCategory_LibraryResponseDTO:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        consentCategories:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategory_LibraryItemDTO'
    ConsentCategory_LibraryItemDTO:
      allOf:
        - $ref: '#/components/schemas/ConsentCategoryDTO'
        - type: object
          properties:
            itemCounts:
              $ref: '#/components/schemas/ConsentCategory_ItemCountsDTO'
            auditCount:
              description: the number of audits this consent category is assigned to
              type: integer
            labelIds:
              type: array
              items:
                type: integer
    ConsentCategoryLibrarySortByEnum:
      type: string
      default: name
      enum:
        - name
        - type
        - updated_at
    ConsentCategory_ItemCountsDTO:
      type: object
      properties:
        tags:
          description: the number of tags in this consent category
          type: integer
        cookies:
          description: the number of cookies in this consent category
          type: integer
        requestDomainsAndGeos:
          description: >-
            the number of request domain/geo location pairs in this consent
            category
          type: integer
    ConsentCategory_TagEntryResponseDTO:
      type: object
      properties:
        tags:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategory_TagEntryItemDTO'
    ConsentCategory_TagEntryItemDTO:
      description: DTO for tag under a consent category bucket
      type: object
      required:
        - tagId
        - accounts
      properties:
        tagId:
          type: integer
          nullable: false
        anyAccount:
          type: boolean
          default: false
        accounts:
          type: array
          uniqueItems: true
          nullable: false
          default: []
          items:
            type: string
            format: text
            minLength: 1
    ConsentCategory_RequestDomainResponseDTO:
      type: object
      properties:
        requestDomains:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategory_RequestDomainItemDTO'
    ConsentCategory_RequestDomainItemDTO:
      description: DTO for request domain under a consent category
      type: object
      required:
        - domainType
      properties:
        domain:
          type: string
        domainType:
          $ref: '#/components/schemas/RequestDomainMatchType'
        locationIds:
          description: geo location ids
          type: array
          items:
            type: integer
        anyLocation:
          description: true if request domain should apply to any location
          type: boolean
    RequestDomainMatchType:
      type: string
      enum:
        - domain_any
        - domain_regex
        - domain_exact_match
    ConsentCategory_WebAudits_ResponseDTO:
      type: object
      properties:
        webAudits:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategory_WebAudits_ItemDTO'
    ConsentCategory_WebAudits_ItemDTO:
      type: object
      properties:
        auditId:
          type: integer
        auditName:
          type: string
        domain:
          type: string
        createdBy:
          type: integer
        access:
          type: boolean
        lastRun:
          type: string
          format: date-time
    ConsentCategory_CookieEntryResponseDTO:
      description: DTO for cookie entry response
      type: object
      required:
        - cookies
      properties:
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategory_CookieEntryItemDTO'
    ConsentCategory_CookieEntryItemDTO:
      description: DTO For Cookie under a consent preference bucket
      type: object
      properties:
        nameType:
          $ref: '#/components/schemas/CookieNameMatchType'
        name:
          type: string
          nullable: false
        domainType:
          $ref: '#/components/schemas/CookieDomainMatchType'
        domain:
          type: string
          nullable: false
        cookieDescription:
          type: string
    CookieNameMatchType:
      type: string
      enum:
        - name_any
        - name_regex
        - name_exact_match
    CookieDomainMatchType:
      type: string
      enum:
        - domain_any
        - domain_regex
        - domain_exact_match
    WebAudit_ConsentCategories_ResponseDTO:
      type: object
      required:
        - consentCategories
      properties:
        consentCategories:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategoryDTO'
    WebAudit_ConsentCategorySnapshots_ResponseDTO:
      type: object
      description: >-
        NOTE: For individual consent category snapshot, Field consentCategoryId
        is omitted when the consent category is deleted
      properties:
        consentCategorySnapshots:
          type: array
          items:
            $ref: '#/components/schemas/ConsentCategorySnapshotDTO'
    LabelResponseDTO:
      description: DTO for get/patch labels
      type: object
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
    FolderDomainFilter:
      type: object
      description: >-
        non-empty array of folders with domains (subfolders), items from which
        will be included in response
      required:
        - folders
      properties:
        folders:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/FolderDomainFilterItem'
    FolderDomainFilterItem:
      type: object
      required:
        - folderId
      properties:
        folderId:
          $ref: '#/components/schemas/FolderId'
        domains:
          type: array
          description: >-
            null or empty array of domains (subfolders) present on an item,
            works as "null or empty if entire folder (all domains in a folder),
            otherwise specific domain IDs"
          items:
            $ref: '#/components/schemas/DomainId'
    Label:
      description: DTO for Labels
      type: object
      required:
        - id
        - name
      properties:
        id:
          $ref: '#/components/schemas/LabelId'
        name:
          type: string
          nullable: false
    RuleLibrary_RequestDTO:
      type: object
      description: Filters supported by Rule Library
      properties:
        ruleName:
          type: string
          example: Filter by rule name. Matched as contains, case insensitive.
        labels:
          type: array
          items:
            $ref: '#/components/schemas/LabelId'
        notificationEnabled:
          type: boolean
        createdByUserId:
          $ref: '#/components/schemas/UserId'
        fromTemplate:
          type: boolean
    RuleLibrary_SortColumn:
      type: string
      enum:
        - NAME
        - TYPE
        - AUDITS
        - WEB_JOURNEYS
        - APP_JOURNEYS
        - OWNER
        - MODIFIED_AT
    RuleLibrary_ResponseDTO:
      type: object
      properties:
        paginationMetadata:
          $ref: '#/components/schemas/PaginationMetadata'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/RuleLibrary_RuleItem'
    RuleLibrary_RuleItem:
      type: object
      required:
        - id
        - name
        - fromTemplate
        - labels
        - usage
        - ownedByUserId
        - updatedAt
      properties:
        id:
          $ref: '#/components/schemas/RuleId'
        name:
          type: string
        fromTemplate:
          type: boolean
        labels:
          type: array
          items:
            $ref: '#/components/schemas/AssignedLabel'
        usage:
          $ref: '#/components/schemas/RuleLibrary_RuleUsage'
        ownedByUserId:
          $ref: '#/components/schemas/UserId'
        updatedAt:
          $ref: '#/components/schemas/DateAndTime'
        recipients:
          type: array
          items:
            type: string
    RuleLibrary_RuleUsage:
      type: object
      required:
        - auditCount
        - webJourneyCount
        - appJourneyCount
      properties:
        auditCount:
          type: integer
          example: 0
        webJourneyCount:
          type: integer
          example: 3
        appJourneyCount:
          type: integer
          example: 1
    AssignedLabel:
      type: object
      required:
        - id
      properties:
        id:
          $ref: '#/components/schemas/LabelId'
    AuditRun_ActionSnapshotsResponseDTO:
      type: object
      required:
        - preAuditActionSnapshots
        - onPageActionSnapshots
      properties:
        preAuditActionSnapshots:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_ActionSnapshotDTO'
        onPageActionSnapshots:
          type: array
          items:
            $ref: '#/components/schemas/AuditRun_ActionSnapshotDTO'
    AuditRun_RunNowRequestDTO:
      type: object
      required:
        - callbackWorkflowEventType
        - callbackRepositoryOwner
        - callbackRepositoryName
      properties:
        startingUrls:
          nullable: true
          minItems: 0
          type: array
          items:
            type: string
        callbackWorkflowEventType:
          type: string
          description: >
            The workflow file to be used in for starting the callback workflow

            Has to be a file name without extension, e.g. "audit-complete"
            instead of "audit-complete.yml"
        callbackRepositoryOwner:
          type: string
          description: |
            The owner of the repository where the callback workflow is defined
            This is required to correctly invoke the callback workflow
        callbackRepositoryName:
          type: string
          description: |
            The name of the repository where the callback workflow is defined
            This is required to correctly invoke the callback workflow
        callbackContext:
          type: object
          description: |
            Contains a context for the callback URL to be used in the run
    AuditRun_ConfigurationInfoResponseDTO:
      type: object
      required:
        - blockThirdPartyCookies
        - browserName
        - browserVersion
        - customProxy
        - filters
        - gpcEnabled
        - height
        - loginActions
        - locationId
        - locationName
        - onPageActions
        - privacyConsentActions
        - runDuration
        - scanSpeed
        - startingUrlCount
        - urlsScanned
        - userAgent
        - vpnEnabled
        - width
        - technologyBlockingEnabled
        - fileSubstitutionConfigured
        - discoverSitemaps
        - customHeadersApplied
      properties:
        blockThirdPartyCookies:
          type: boolean
          description: When true the browser blocks all third-party cookies
        browserName:
          type: string
          description: Browser name
        browserVersion:
          type: string
          description: Browser version
        customProxy:
          type: string
          description: The custom proxy used for the audit
        discoverSitemaps:
          type: boolean
          description: >-
            When true, the audit discovers sitemaps on any domains for starting
            URLs and uses those to find URLs to scan
        sitemapData:
          $ref: '#/components/schemas/AuditRun_SitemapData'
        filters:
          type: object
          description: Filters used for the audit to include and exclude urls to be scanned
          required:
            - includeFilters
            - excludeFilters
          properties:
            includeFilters:
              type: array
              items:
                type: string
                format: regex
                example: ^https?://([^/:\?]*\.)?google.com
              description: List of include filters
            excludeFilters:
              type: array
              items:
                type: string
                format: regex
                example: /careers
              description: List of exclude filters
        gpcEnabled:
          type: boolean
          description: GPC enabled or not
        height:
          type: integer
          description: Browser height in pixels
        loginActions:
          type: boolean
          description: Pre-Audit Actions present in configuration or not
        locationId:
          type: integer
          description: Location (Proxy) ID, this maps to a location in the location table
        locationName:
          type: string
          description: >-
            Location  human readable name. This field maps to the db
            location.label
          example: England, London
        onPageActions:
          type: boolean
          description: On Page Actions present in configuration or not
        privacyConsentActions:
          type: boolean
          description: Privacy Consent Actions present in configuration or not
        runDuration:
          type: integer
          description: Run duration in seconds
        scanSpeed:
          type: integer
          description: >
            Scan speed is the number of engines the customer requests to run the
            audit with

            Currently a value between 1-50 is supported, but not guaranteed.
        startingUrlCount:
          type: number
        urlsScanned:
          type: integer
          description: Number of URLs scanned
        userAgent:
          type: string
          description: User agent
        vpnEnabled:
          type: boolean
          description: 'VPN enabled or not for the run configuration '
        width:
          type: integer
          description: Browser width in pixels
        technologyBlockingEnabled:
          type: boolean
          description: Tag ID/Tag Category ID blocking enabled or not
        fileSubstitutionConfigured:
          type: boolean
          description: File Substitution configured or not
        customHeadersApplied:
          type: boolean
          description: Custom HTTP headers applied or not
        auditStoppedByUserId:
          type: integer
          format: int64
          description: ID of the user who stopped the audit run early, if applicable
          nullable: true
    AuditRun_SitemapData:
      type: object
      description: Data about sitemaps that were discovered and visited by the audit
      properties:
        sitemapsScannedCount:
          type: integer
          description: Number of sitemaps visited successfully by the audit
        sitemapsScanned:
          type: array
          description: List of sitemaps visited successfully by the audit
          items:
            $ref: '#/components/schemas/AuditRun_SitemapDataItem'
        sitemapsBrokenCount:
          type: integer
          description: >-
            Number of sitemaps that were found, but could not be visited by the
            audit
        sitemapsBrokenUrls:
          type: array
          items:
            type: string
            format: url
            example: https://www.example.com/sitemap.xml
          description: List of sitemap URLs that could not be visited
    AuditRun_SitemapDataItem:
      type: object
      required:
        - sitemapUrl
        - urlsFound
      properties:
        sitemapUrl:
          type: string
        urlsFound:
          type: integer
    AuditRun_ActionSnapshotDTO:
      type: object
      required:
        - actionSnapshotId
        - sequenceId
        - actionType
      properties:
        actionSnapshotId:
          type: integer
        sequenceId:
          type: integer
        actionType:
          type: integer
        description:
          type: string
    WebJourneyRun_ConfigurationInfoResponseDTO:
      type: object
      required:
        - browserName
        - browserVersion
        - width
        - height
        - userAgent
        - locationId
        - privacyConsentActions
        - vpnEnabled
        - gpcEnabled
        - technologyBlockingEnabled
        - fileSubstitutionConfigured
        - blockThirdPartyCookies
        - customHeadersApplied
      properties:
        browserName:
          type: string
          description: Browser name
        browserVersion:
          type: string
          description: Browser version
        width:
          type: integer
          description: Browser width in pixels
        height:
          type: integer
          description: Browser height in pixels
        userAgent:
          type: string
          description: User agent
        locationId:
          type: integer
          description: Location  ID, this maps to a location in the location table
        customProxy:
          type: string
          description: Custom proxy used for the run, if supplied by the user.
          example: http://90.90.90.90:8888
        privacyConsentActions:
          type: boolean
          description: Privacy Consent Actions present in configuration or not
        vpnEnabled:
          type: boolean
          description: VPN enabled or not for the run configuration
        gpcEnabled:
          type: boolean
          description: GPC enabled or not
        technologyBlockingEnabled:
          type: boolean
          description: Tag ID/Tag Category ID blocking enabled or not
        fileSubstitutionConfigured:
          type: boolean
          description: File Substitution configured or not
        blockThirdPartyCookies:
          type: boolean
          description: Block third party cookies or not
        customHeadersApplied:
          type: boolean
          description: Custom HTTP headers applied or not
    BlockingConfig_DTO:
      type: object
      description: The blocking configuration to be applied to the Audit or Journey.
      properties:
        tagIds:
          description: >-
            (Optional) Present when blockingType is `tag_id`, a list of tag ids
            to block
          type: array
          items:
            type: integer
        tagCategoryIds:
          description: >-
            (Optional) Present when blockingType is `tag_category`, a list of
            tag category ids to block
          type: array
          items:
            type: integer
    EmailInboxResponseDTO:
      type: object
      required:
        - id
        - emailAddress
        - labelIds
        - name
        - linkExclusionFilters
        - omitSocialLinks
      properties:
        id:
          type: integer
          format: int64
          example: 10
        labelIds:
          description: The ids of the labels associated to the Email Inbox
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/LabelId'
        name:
          type: string
          example: Christmas Marketing Campaign
        emailAddress:
          description: The email address that has been assigned to the inbox
          type: string
          example: scanTest+<8^[a-z0-9]>@email.observepoint.com
        notes:
          type: string
        subscribers:
          $ref: '#/components/schemas/EmailInboxSubscribersDTO'
        linkExclusionFilters:
          type: array
          items:
            $ref: '#/components/schemas/EmailInboxLinkExclusionFilters'
        omitSocialLinks:
          type: boolean
    EmailInboxLinkExclusionFilters:
      description: A regex to be used to exclude links in email scans.
      type: string
    EmailInboxSubscribersDTO:
      type: object
      properties:
        onReceived:
          type: array
          items:
            type: string
            description: Email address subscribers to be alerted on email message received.
        onProcessed:
          type: array
          items:
            type: string
            description: >-
              Email address subscribers to be alerted on email message
              processed.
    EmailInboxLibraryDTO:
      type: object
      properties:
        id:
          type: integer
          format: int64
          example: 10
        labelIds:
          description: The ids of the labels associated to the Email Inbox
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/LabelId'
        name:
          type: string
          example: Christmas Marketing Campaign
        emailAddress:
          description: The email address that has been assigned to the inbox
          type: string
          example: scanTest+<8^[a-z0-9]>@email.observepoint.com
        notes:
          type: string
        messagesReceived:
          description: The number of messages received by the Email Inbox
          type: integer
          default: 0
        lastMessageReceived:
          $ref: '#/components/schemas/DateAndTime'
        testScenariosCount:
          description: >-
            The number of test scenarios performed against the email landing
            pages.
          type: integer
    EmailInboxLibraryResponseDTO:
      type: object
      required:
        - metadata
        - emailInboxes
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        emailInboxes:
          type: array
          items:
            $ref: '#/components/schemas/EmailInboxLibraryDTO'
    EmailInboxConfigurationDTO:
      type: object
      required:
        - auditId
        - auditName
        - auditLastRunAt
        - auditLabels
      properties:
        auditId:
          $ref: '#/components/schemas/AuditId'
        auditName:
          type: string
          description: Name of audit/WJ etc
        auditLastRunAt:
          $ref: '#/components/schemas/DateAndTime'
        auditLabels:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/LabelId'
    EmailInboxRequestDTO:
      type: object
      required:
        - name
      properties:
        name:
          type: string
          example: Adove Campaign Holidays, Marketing Department
        notes:
          type: string
        labelIds:
          description: The ids of the labels to be associated to the Email Inbox
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/LabelId'
        subscribers:
          $ref: '#/components/schemas/EmailInboxSubscribersDTO'
        linkExclusionFilters:
          type: array
          items:
            $ref: '#/components/schemas/EmailInboxLinkExclusionFilters'
        omitSocialLinks:
          type: boolean
    EmailInboxLibraryRequestDTO:
      type: object
      properties:
        name:
          type: string
          example: Adobe Campaign Holidays, Marketing Department
        emailAddress:
          type: string
          example: scanTest+<8^[a-z0-9]>-<truncatedInboxName>@email.observepoint.com
        auditIds:
          description: The ids of the audits to be associated to the Email Inbox
          type: array
          items:
            type: integer
            format: int64
        labelIds:
          description: The ids of the labels to be associated to the Email Inbox
          type: array
          items:
            $ref: '#/components/schemas/LabelId'
        createdBy:
          description: The ids of Email Inbox owners
          type: array
          items:
            $ref: '#/components/schemas/UserId'
    EmailInboxLibrarySortByEnum:
      type: string
      default: name
      enum:
        - name
        - emailAddress
        - messagesReceived
        - lastMessageReceived
        - testScenariosCount
    ReceivedEmailMessageBaseDTO:
      type: object
      required:
        - id
        - status
      properties:
        id:
          type: integer
          format: int64
          example: 10
        status:
          type: string
          enum:
            - RECEIVED
            - PROCESSING
            - AUDITING
            - NOT_AUDITING
            - NOTIFYING
            - COMPLETE
            - FAILED
            - CANCELLED
          example: COMPLETE
        statusReason:
          type: string
          enum:
            - ITEM_CONCURRENCY_REACHED
            - ACCOUNT_CONCURRENCY_REACHED
            - USER_CONCURRENCY_REACHED
            - USAGE_LIMIT_EXCEEDED_WHEN_OVERAGE_NOT_ALLOWED
            - NO_AUDITS_ASSIGNED
            - UNABLE_TO_PROCESS_MESSAGE
            - NO_LINKS_FOUND
            - MESSAGE_NOT_FOUND
            - ABORTED
            - UNKNOWN
          example: NO_AUDITS_ASSIGNED
    ReceivedEmailMessageDTO:
      type: object
      required:
        - metadata
        - messages
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        messages:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/ReceivedEmailMessageBaseDTO'
              - $ref: '#/components/schemas/ReceivedEmailMessageEntryDTO'
    ReceivedEmailMessageEntryDTO:
      type: object
      required:
        - subject
        - receivedAt
        - senderEmailAddress
        - uniqueLinks
        - runs
        - screenshotPath
        - screenshotThumbnailPath
      properties:
        receivedAt:
          $ref: '#/components/schemas/DateAndTime'
        senderEmailAddress:
          type: string
          example: marketing@email.observepoint.com
        subject:
          type: string
          example: Christmas Marketing Campaign
        uniqueLinks:
          type: integer
          format: int64
          example: 317
        runs:
          type: array
          items:
            $ref: '#/components/schemas/ReceivedEmailMessageAuditInfo'
        screenshotPath:
          type: string
          description: A url that redirects to a time-limited screenshot of the email.
          example: /v2/screenshots?token=a.b.c
        screenshotThumbnailPath:
          type: string
          description: >-
            Provides a smaller resolution screenshot than the screenshot
            property.
          example: /v2/screenshots?token=a.b.c
    ReceivedEmailMessageAuditInfo:
      type: object
      required:
        - auditName
        - auditId
        - runId
      properties:
        auditName:
          type: string
          example: Audit Name
        auditId:
          type: integer
          example: 123
        runId:
          type: integer
          example: 123
        isCompleted:
          type: boolean
          description: TRUE if the audit run is completed, otherwise FALSE
    CmpProviders_CookieGroupsImportRequest:
      type: object
      required:
        - cmpProvider
        - sourceUrl
        - locales
      properties:
        cmpProvider:
          type: string
          description: The type of CMP provider expected on the sourceUrl
          enum:
            - ONE_TRUST
        sourceUrl:
          type: string
          description: The URL of the page where the CMP cookie data should be harvested
          example: https://www.example.com
        locales:
          type: array
          items:
            $ref: '#/components/schemas/CmpProviders_Locale'
    CmpProviders_CookieGroupsImportResultRequest:
      type: object
      required:
        - importRequestIds
      properties:
        importRequestIds:
          type: array
          description: The unique identifiers for the CMP import results
          items:
            type: string
            format: uuid
            maxItems: 500
            example: 123e4567-e89b-12d3-a456-426614174000
    CmpProviders_CookieGroupsImportRequestHandles:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/CmpProviders_CookieGroupsImportHandle'
    CmpProviders_CookieGroupsImportResults:
      type: object
      properties:
        importResults:
          type: object
          description: >
            A JSON object containing the current state of CMP import results.

            The object keys will represent each valid import request ID. Invalid
            request IDs will be omitted from the object.

            The object values will be the current state of the import request
            for the respective import request ID.
          additionalProperties:
            $ref: '#/components/schemas/CmpCookieGroups'
    CmpProviders_CookieGroupsImportHandle:
      type: object
      required:
        - requestId
        - locale
      properties:
        requestId:
          type: string
          format: uuid
          description: >-
            The unique identifier for the import request associated with this
            handle
        locale:
          $ref: '#/components/schemas/CmpProviders_Locale'
    CmpProviders_Locale:
      type: string
      description: >
        The locale of the cookie configuration. Provide an ISO-3166 alpha-2
        country code. If for a US state, use 'US' followed by a comma and the
        state abbreviation. Example: US,CA

        At least one locale must be provided.
    StartedAt:
      type: string
      format: datetime
      description: Date/time of when an item was started
    SubFolderId:
      type: integer
      description: |
        The ID of the subfolder under which the WebJourney/Audit is within.
    CurrentlyRunningItem:
      type: object
      description: Run of data source item that is in progress.
      properties:
        runId:
          $ref: '#/components/schemas/RunId'
        startedAt:
          $ref: '#/components/schemas/StartedAt'
    ISO8601LocalDateTime:
      type: string
      description: >-
        ISO-8601 Formatted date time implicitly in the user's local timezone
        (ex: YYYY-MM-DDTHH:MM:SS/2020-10-30T12:00:00)
    ScheduledItem:
      type: object
      description: Base scheduled item which includes data source specific information.
      properties:
        itemName:
          description: Name of the scheduled item.
          type: string
        itemId:
          description: Item id of scheduled item.
          type: integer
        itemType:
          $ref: '#/components/schemas/DataSourceItemTypeCap'
        runs:
          type: array
          items:
            $ref: '#/components/schemas/CurrentlyRunningItem'
        futureOccurrences:
          type: array
          items:
            $ref: '#/components/schemas/ISO8601LocalDateTime'
        folderId:
          $ref: '#/components/schemas/FolderId'
        subFolderId:
          $ref: '#/components/schemas/SubFolderId'
        userId:
          $ref: '#/components/schemas/UserId'
        labels:
          type: array
          uniqueItems: true
          items:
            $ref: '#/components/schemas/LabelId'
        isMonitoredByScriptServices:
          type: boolean
          description: Whether the journey is monitored by script services.
        schedule:
          $ref: '#/components/schemas/ScheduleWithExceptionsAndDescription'
    ScheduledItemWithNextTest:
      type: object
      description: >-
        Scheduled item which includes data source specific information and next
        check info.
      allOf:
        - $ref: '#/components/schemas/ScheduledItem'
        - type: object
          properties:
            nextTest:
              type: string
              format: datetime
    CalendarUpdateItem:
      description: Item in a calendar update (PUT) request.
      type: object
      required:
        - itemType
        - itemId
        - schedule
      properties:
        itemType:
          $ref: '#/components/schemas/DataSourceItemTypeCap'
        itemId:
          description: Item id of scheduled item.
          type: number
        schedule:
          $ref: '#/components/schemas/ScheduleWithExceptions'
    CalendarUpdateRequestBody:
      description: The body for calendar item updates using the bulk PUT endpoint.
      type: object
      required:
        - updateItems
      properties:
        updateItems:
          type: array
          items:
            $ref: '#/components/schemas/CalendarUpdateItem'
    CustomHeaderBody:
      type: object
      required:
        - groupName
        - headers
        - requestUrlFilters
        - assignments
        - applyToAll
      properties:
        id:
          type: integer
          format: int64
        groupName:
          type: string
        headers:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeader'
        requestUrlFilters:
          type: array
          items:
            $ref: '#/components/schemas/RequestUrlFilter'
        assignments:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeaderAssignments'
        applyToAll:
          type: boolean
    CustomHeaderGroupSnapshot:
      type: object
      description: >-
        Custom header group for runtime snapshots - matches s3-schema
        CustomHeaderGroup structure
      required:
        - groupName
        - headers
        - requestUrlFilters
      properties:
        id:
          type: integer
          format: int64
        groupName:
          type: string
        headers:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeader'
        requestUrlFilters:
          type: array
          items:
            $ref: '#/components/schemas/RequestUrlFilter'
    CustomHeaderGroupSummaryResponse:
      type: object
      required:
        - customHeaderGroups
      properties:
        customHeaderGroups:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeaderGroupSummary'
    CustomHeaderGroupSummary:
      type: object
      required:
        - id
        - groupName
        - headerCount
        - requestUrlFilterCount
        - createdBy
        - createdAt
        - updatedAt
        - applyToAll
        - assignments
      properties:
        id:
          type: integer
          format: int64
        groupName:
          type: string
        headerCount:
          type: integer
        requestUrlFilterCount:
          type: integer
        createdBy:
          type: integer
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        applyToAll:
          type: boolean
        assignments:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeaderAssignments'
    CustomHeader:
      type: object
      required:
        - name
        - value
        - type
      properties:
        name:
          type: string
        value:
          type: string
        type:
          type: string
          enum:
            - REQUEST
            - RESPONSE
    RequestUrlFilter:
      type: object
      required:
        - requestUrlFilter
        - allowSubdomains
      properties:
        requestUrlFilter:
          type: string
        allowSubdomains:
          type: boolean
    CustomHeaderAssignments:
      type: object
      required:
        - itemType
        - itemId
      properties:
        itemType:
          type: string
          enum:
            - AUDIT
            - WEB_JOURNEY
        itemId:
          type: integer
          format: int64
    CustomHeaderTargetItemsSearchRequest:
      type: object
      description: Filters supported by Custom Header Target Items Search
      properties:
        customHeaderGroupId:
          type: integer
          format: int64
        assignedToCustomHeaderGroup:
          type: boolean
        itemName:
          type: string
          minLength: 1
        itemLabels:
          type: array
          description: >-
            non-empty array of labels present on an item, works as "item has all
            specified labels" filter
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        folders:
          $ref: '#/components/schemas/FolderDomainFilter'
    CustomHeaderTargetItemsSearchResponse:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/PaginationMetadata'
        items:
          type: array
          items:
            $ref: '#/components/schemas/CustomHeaderTargetItem'
    CustomHeaderTargetItem:
      type: object
      properties:
        isAssigned:
          type: boolean
        itemType:
          type: string
          enum:
            - AUDIT
            - WEB_JOURNEY
        itemId:
          type: integer
          format: int64
        itemName:
          type: string
        lastRunAt:
          type: string
          format: date-time
          description: The timestamp of the last run for this item
        itemLabels:
          type: array
          items:
            $ref: '#/components/schemas/AssignedLabel'
    CustomHeaderSortByEnum:
      type: string
      default: ITEM_NAME
      enum:
        - IS_ASSIGNED
        - ITEM_NAME
        - RUN_DATE
    WebJourneyCustomHeaderDTO:
      type: object
      required:
        - assignedCustomHttpHeaders
      properties:
        assignedCustomHttpHeaders:
          type: array
          items:
            required:
              - groupId
            properties:
              groupId:
                type: integer
                format: int64
              isApplyToAll:
                type: boolean
                description: >-
                  Indicates whether custom header should be applied to all
                  requests. For GET request, indicates that the header is not
                  just assigned to the request but also applied to all requests.
                  For PUT request, it specifies that the header should be
                  updated to apply to all requests, if set to true, header will
                  not be applied to the request.
    DataSourcesTargetItemsSearchRequest:
      type: object
      description: Filters supported by Unified Data Sources Target Items Search.
      properties:
        searchItemType:
          type: string
          enum:
            - ALERT
            - CUSTOM_HEADER
            - EMAIL_INBOX
            - RULE
        searchedItemId:
          type: integer
          format: int64
        assignedToSearchedItem:
          type: boolean
        itemName:
          type: string
          minLength: 1
        itemLabels:
          type: array
          description: >-
            non-empty array of labels present on an item, works as "item has all
            specified labels" filter
          minItems: 1
          items:
            $ref: '#/components/schemas/LabelId'
        folders:
          $ref: '#/components/schemas/FolderDomainFilter'
    DataSourcesTargetItemsSearchResponse:
      type: object
      properties:
        metadata:
          $ref: '#/components/schemas/PaginationMetadata'
        items:
          type: array
          items:
            $ref: '#/components/schemas/DataSourcesTargetItem'
    DataSourcesTargetItem:
      type: object
      properties:
        isAssigned:
          type: boolean
        itemType:
          type: string
          enum:
            - AUDIT
            - WEB_JOURNEY
        itemId:
          type: integer
          format: int64
        itemName:
          type: string
        lastRunAt:
          type: string
          format: date-time
          description: The timestamp of the last run for this item
        itemLabels:
          type: array
          items:
            $ref: '#/components/schemas/AssignedLabel'
    DataSourceTargetItemSortByEnum:
      type: string
      default: ITEM_NAME
      enum:
        - ITEM_NAME
        - RUN_DATE
    SiteCensusBaseDTO:
      type: object
      required:
        - name
        - autoPauseAfter
        - notificationEmails
      properties:
        id:
          type: integer
          format: int64
          description: The unique identifier for the Site Census.
        accountId:
          type: integer
          format: int64
          description: The account ID associated with the Site Census.
        name:
          type: string
          description: The name of the Site Census.
        autoPauseAfter:
          type: integer
          maximum: 10080
          minimum: 1
          description: The max time the scan will run, in minutes.
        ownerId:
          type: integer
          format: int64
          description: The userId of the user who created the Site Census.
        currentScanStartedAt:
          type: string
          format: date-time
          nullable: true
          description: The date and time when the current scan session started.
        lastScanStoppedAt:
          type: string
          format: date-time
          nullable: true
          description: The date and time when the last scan session stopped.
        notificationEmails:
          type: array
          minItems: 0
          items:
            type: string
            format: email
          description: >-
            Target email addresses for notification when this census auto-pauses
            or runs out of URLs.
    SiteCensusBehaviorDTO:
      allOf:
        - $ref: '#/components/schemas/SiteCensusBaseDTO'
        - type: object
          required:
            - startingUrls
            - filterPatterns
          properties:
            startingUrls:
              type: array
              minItems: 0
              items:
                type: string
                format: uri
              description: The list of starting URLs for the Site Census.
            filterPatterns:
              type: array
              minItems: 0
              items:
                $ref: '#/components/schemas/SiteCensusFilterPattern'
    SiteCensusFilterPattern:
      type: object
      required:
        - pathPattern
        - fqdn
        - type
      properties:
        pathPattern:
          type: string
          description: The GLOB pattern to match the path of the URL.
        fqdn:
          type: string
          description: The fully qualified domain name (FQDN) to match against the URL.
        type:
          type: string
          enum:
            - PRIORITY
            - IGNORE
          description: Indicates whether matches should be prioritized or ignored.
    SiteCensusCompleteDTO:
      allOf:
        - $ref: '#/components/schemas/SiteCensusBehaviorDTO'
        - type: object
          required:
            - id
          properties:
            id:
              type: integer
              format: int64
              description: The unique identifier for the Site Census.
    SiteCensusResultsSummaryDTO:
      type: object
      required:
        - uniqueUrls
        - visitedUrls
        - urlsToVisit
        - externalLinks
        - brokenUrls
        - isRunning
      properties:
        uniqueUrls:
          type: integer
          minimum: 0
          description: >-
            The number of unique included URLs found. Included is defined as
            URLs that share the same main-domain as any starting URL.
        visitedUrls:
          type: integer
          minimum: 0
          description: >-
            The number of included URLs visited. Included is defined as URLs
            that share the same main-domain as any starting URL.
        urlsToVisit:
          type: integer
          minimum: 0
          description: >-
            The number of included URLs to visit. Included is defined as URLs
            that share the same main-domain as any starting URL.
        externalLinks:
          type: integer
          minimum: 0
          description: >-
            The number of external links found on included pages. Included is
            defined as URLs that share the same main-domain as any starting URL.
        brokenUrls:
          type: integer
          minimum: 0
          description: >-
            The number of included URLs that are broken. Broken is defined as
            URLs that return a non-2xx,3xx status code. Included is defined as
            URLs that share the same main-domain as any starting URL.
        isRunning:
          type: boolean
          description: Indicates whether the Site Census is currently scanning.
    SiteCensusSummaryDTO:
      allOf:
        - $ref: '#/components/schemas/SiteCensusResultsSummaryDTO'
        - type: object
          required:
            - censusConfig
          properties:
            censusConfig:
              $ref: '#/components/schemas/SiteCensusCompleteDTO'
    SiteCensusSummariesResponseDTO:
      type: object
      required:
        - metadata
        - censuses
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        censuses:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/SiteCensusSummaryDTO'
    SiteCensusUrlSegment:
      type: object
      required:
        - segmentType
      properties:
        segmentType:
          type: string
          description: >
            The type of segment in the path. A static segment is a string in the
            path that does not represent a variable. 

            A dynamic segment is one that represents a variable in the URL. For
            example, a dynamic segment could be a user ID.
          enum:
            - STATIC
            - DYNAMIC
        staticSegmentValue:
          type: string
          description: >-
            present when segment type is `static`. A static segment is a string
            in the path that does not represent a variable.
        dynamicSegmentType:
          type: string
          description: >-
            present when segment type is `dynamic`. Use this type to make
            rendering decisions when displaying path segments.
          enum:
            - NUMBER
            - DATETIME
            - ALPHA
            - ALPHA_NUMERIC
    SiteCensusBaseUrlPattern:
      type: object
      description: >-
        The ObservePoint proprietary pattern used to classify URLs with similar
        paths based upon dynamic path segments.
      required:
        - fqdn
        - renderedPathPattern
      properties:
        fqdn:
          type: string
          description: The fully qualified domain name (FQDN) of the URL pattern.
        renderedPathPattern:
          type: string
          description: >-
            The rendered path of the URL pattern with the dynamic segment
            character. Not meant for display.
    SiteCensusUrlPattern:
      allOf:
        - $ref: '#/components/schemas/SiteCensusBaseUrlPattern'
        - type: object
          description: >-
            The ObservePoint proprietary pattern used to classify URLs with
            similar paths based upon dynamic path segments.
          required:
            - urlSegments
          properties:
            urlSegments:
              type: array
              minItems: 0
              description: >-
                The list of URL path segments.  Construct a full path pattern by
                appending the segment in order of array index separated by
                forward slashes.
              items:
                $ref: '#/components/schemas/SiteCensusUrlSegment'
    SiteCensusUrlPatternResultsDTO:
      type: object
      required:
        - urlPattern
        - totalUrls
        - urlsToVisit
        - visitedUrls
        - brokenUrls
      properties:
        urlPattern:
          $ref: '#/components/schemas/SiteCensusUrlPattern'
        totalUrls:
          type: integer
          minimum: 0
          description: The total number of URLs within this pattern.
        urlsToVisit:
          type: integer
          minimum: 0
          description: The number of URLs in this pattern that can still be visited.
        visitedUrls:
          type: integer
          minimum: 0
          description: The number of URLs in this pattern that have been visited.
        brokenUrls:
          type: integer
          minimum: 0
          description: >-
            The number of URLs in this pattern that have been visited, but
            returned with 4xx or 5xx status codes.
        latestFound:
          type: string
          format: date-time
          description: >-
            The date and time of the last URL in this pattern that was found in
            ISO 8601 format
    SiteCensusCurrentResultsDTO:
      type: object
      required:
        - metadata
        - paginatedUrlPatternResults
        - resultsSummary
      properties:
        metadata:
          $ref: '#/components/schemas/CommonIterableResponseMetadata'
        paginatedUrlPatternResults:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/SiteCensusUrlPatternResultsDTO'
        resultsSummary:
          $ref: '#/components/schemas/SiteCensusResultsSummaryDTO'
    SiteCensusPatternPreviewResponse:
      type: object
      required:
        - censusId
        - totalUrls
        - urls
      properties:
        censusId:
          type: integer
          format: int64
          description: The unique identifier for the Site Census.
        totalUrls:
          type: integer
        urls:
          type: array
          minItems: 0
          items:
            type: string
    SiteCensusResultsSortByEnum:
      type: string
      default: TOTAL_URLS
      enum:
        - TOTAL_URLS
        - URL_PATTERN
        - URLS_TO_VISIT
        - VISITED_URLS
        - BROKEN_URLS
        - LAST_FOUND
    SiteCensusSortByEnum:
      type: string
      default: NAME
      enum:
        - NAME
        - UNIQUE_URLS
        - VISITED_URLS
        - URLS_TO_VISIT
        - EXTERNAL_LINKS
        - BROKEN_URLS
        - SCAN_DATE
    RequestBlocking:
      type: object
      description: >-
        (Optional) Present if run configuration had TMS blocking enabled and
        request for this entry was blocked.
      required:
        - blockReason
        - urlSignature
      properties:
        blockReason:
          description: The configuration chosen by user. Phase 2 will include url_signature
          type: string
          enum:
            - tag_id
            - tag_category
            - url_signature
        urlSignature:
          type: string
          description: >-
            The singature used to identify requests.  Tag Signatures shall not
            be exposed to customers (blockReason is `tag_id` or `tag_category`).
        tagId:
          description: >-
            (Optional - Present when reason is `tag_id`) Allows FE to get
            Vendor, Category and other info as they do in tag initiators
          type: integer
        tagCategoryId:
          description: (Optional) Present when reason is `tag_category`)
          type: integer
        failureMessage:
          description: >-
            (Optional) Present if the request was meant to be blocked but it was
            not.
          type: string
    Substitution:
      type: object
      required:
        - substituteUrl
      properties:
        substituteUrl:
          type: string
        failure:
          $ref: '#/components/schemas/RemoteFileMappingFailure'
        tagId:
          type: integer
        tagName:
          type: string
    RemoteFileMappingFailure:
      type: object
      required:
        - failureType
      properties:
        failureType:
          $ref: '#/components/schemas/RemoteFileMappingFailureType'
        failureMessage:
          type: string
    RemoteFileMappingFailureType:
      type: integer
      enum:
        - 1
        - 2
        - 3
        - 4
      x-enum-varnames:
        - UNKNOWN
        - FILE_SIZE_LIMIT_EXCEEDED
        - FILE_NOT_FOUND
        - CANNOT_GET_FILE
    HarEntryTimings:
      type: object
      properties:
        blocked:
          type: number
          minimum: -1
          nullable: true
        dns:
          type: number
          minimum: -1
          nullable: true
        connect:
          type: number
          minimum: -1
          nullable: true
        send:
          type: number
          minimum: -1
        wait:
          type: number
          minimum: -1
        receive:
          type: number
          minimum: -1
        ssl:
          type: number
          minimum: -1
          nullable: true
        comment:
          $ref: '#/components/schemas/HarComment'
    HarResponse:
      type: object
      properties:
        status:
          type: integer
          minimum: 100
          maximum: 600
        statusText:
          type: string
        httpVersion:
          type: string
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/HarCookie'
        headers:
          type: array
          items:
            $ref: '#/components/schemas/HarHeaderOrQueryString'
        content:
          $ref: '#/components/schemas/HarResponseContent'
        redirectURL:
          type: string
          nullable: true
        headersSize:
          type: integer
          minimum: -1
          description: >-
            Number of bytes in response headers (including ending \r\n\r\n). -1
            if unavailable
        bodySize:
          type: integer
          minimum: -1
          description: Number of bytes in response body. -1 if unavailable
        _transferSize:
          type: integer
          format: int64
          minimum: 0
        comment:
          $ref: '#/components/schemas/HarComment'
    HarResponseContent:
      type: object
      properties:
        size:
          type: integer
          minimum: 0
        compression:
          type: integer
          minimum: 0
          nullable: true
        mimeType:
          type: string
          format: mimeType
        text:
          type: string
          nullable: true
        encoding:
          type: string
          nullable: true
        comment:
          $ref: '#/components/schemas/HarComment'
    HarHeaderOrQueryString:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
          nullable: true
        comment:
          $ref: '#/components/schemas/HarComment'
    HarCookie:
      allOf:
        - $ref: '#/components/schemas/CookieBase'
        - type: object
          properties:
            comment:
              $ref: '#/components/schemas/HarComment'
    CookieBase:
      type: object
      required:
        - name
        - value
      properties:
        name:
          type: string
        value:
          type: string
        domain:
          type: string
        path:
          type: string
        expires:
          type: string
        httpOnly:
          type: boolean
        secure:
          type: boolean
        partyType:
          $ref: '#/components/schemas/CookiePartyType'
        sameSite:
          $ref: '#/components/schemas/CookieSameSite'
        partitionKey:
          description: >
            The partition key used for 3rd party cookies using CHIPS

            See
            https://developer.mozilla.org/en-US/docs/Web/Privacy/Partitioned_cookies
          type: string
        partitionKeyOpaque:
          description: >
            True if a partition key is used, but for security reasons the
            partition key is not exposed

            If this value is true, a cookie will be considered partitioned.
          type: boolean
    HarCache:
      type: object
      nullable: true
      properties:
        beforeRequest:
          $ref: '#/components/schemas/HarCacheEntry'
        afterRequest:
          $ref: '#/components/schemas/HarCacheEntry'
        comment:
          $ref: '#/components/schemas/HarComment'
    HarCacheEntry:
      type: object
      nullable: true
      properties:
        expires:
          $ref: '#/components/schemas/nullableDatetime'
        lastAccess:
          $ref: '#/components/schemas/datetime'
        eTag:
          type: string
        hitCount:
          type: integer
          minimum: 0
        comment:
          $ref: '#/components/schemas/HarComment'
    Har:
      type: object
      properties:
        log:
          $ref: '#/components/schemas/HarLog'
    HarComment:
      type: string
      nullable: true
    HarLog:
      type: object
      properties:
        version:
          type: string
        creator:
          $ref: '#/components/schemas/HarCreatorOrBrowser'
        browser:
          $ref: '#/components/schemas/HarCreatorOrBrowser'
        pages:
          type: array
          items:
            $ref: '#/components/schemas/HarPage'
        entries:
          type: array
          items:
            $ref: '#/components/schemas/HarEntry'
        comment:
          $ref: '#/components/schemas/HarComment'
    HarCreatorOrBrowser:
      type: object
      properties:
        name:
          type: string
        version:
          type: string
        comment:
          $ref: '#/components/schemas/HarComment'
    HarPage:
      type: object
      properties:
        startedDateTime:
          $ref: '#/components/schemas/datetime'
        id:
          type: string
          description: An automatically-generated identifier string unique within the HAR
        title:
          type: string
        pageTimings:
          $ref: '#/components/schemas/HarPageTimings'
        comment:
          $ref: '#/components/schemas/HarComment'
    HarPageTimings:
      type: object
      properties:
        onContentLoad:
          type: integer
          minimum: -1
          nullable: true
          description: >-
            Number of milliseconds from page load to firing of "onContentLoad"
            event, or -1 if not recorded
        onLoad:
          type: integer
          minimum: -1
          nullable: true
          description: >-
            Number of milliseconds from page load to firing of "onLoad" event,
            or -1 if not recorded
        comment:
          $ref: '#/components/schemas/HarComment'
    nullableDatetime:
      type: string
      format: date-time
      description: >-
        The full date and time, according to ISO-8601 (e. g.
        2020-08-25T21:15:43Z)
      nullable: true
    datetime:
      type: string
      format: date-time
      description: >-
        The full date and time, according to ISO-8601 (e. g.
        2020-08-25T21:15:43Z)
    RequestId:
      type: string
      format: uuid
      description: A UUIDv4 unique identifier for a CMP data harvest request
      maxLength: 36
    timestamp:
      type: integer
      format: int64
    CmpCookieGroups:
      type: object
      required:
        - requestId
        - accountId
        - created
        - status
        - cmpProvider
        - sourceUrl
        - locale
        - groups
      properties:
        requestId:
          $ref: '#/components/schemas/RequestId'
        accountId:
          $ref: '#/components/schemas/AccountId'
        created:
          $ref: '#/components/schemas/timestamp'
        status:
          $ref: '#/components/schemas/CmpCookieGroupStatus'
        errorMessage:
          type: string
          description: (Optional) Present if status is FAILURE
        cmpProvider:
          type: string
          description: CMP provider
          enum:
            - ONE_TRUST
        domain:
          type: string
          description: Domain to which the gathered cookie groups are related
        sourceUrl:
          type: string
          description: URL of the page where the CMP data was harvested
        locale:
          type: string
          description: >-
            An ISO-3166 alpha-2 country code or 'US' followed by a 2 letter
            state code separated by comma
        groups:
          type: array
          description: Array of CMP cookie groups
          items:
            $ref: '#/components/schemas/CmpCookieGrouping'
    CmpCookieGroupStatus:
      type: string
      description: Status of the CMP data harvest request
      enum:
        - PROCESSING
        - COMPLETE
        - FAILURE
    CmpCookieGrouping:
      type: object
      description: A consent group containing cookies assigned to the group
      required:
        - groupId
        - groupName
        - cookies
        - status
      properties:
        groupId:
          type: string
        groupName:
          type: string
        status:
          type: string
          description: >-
            The current status of the CMP group on the domain. e.g. "always
            active", "active", "inactive".
        cookies:
          type: array
          description: The cookies in the consent group
          items:
            $ref: '#/components/schemas/CmpCookieDefinition'
    CmpCookieDefinition:
      type: object
      required:
        - domain
        - regexDomain
        - name
      properties:
        domain:
          type: string
          description: The raw domain of the cookie as reported by the CMP
        regexDomain:
          type: string
          description: The cookie domain with regex applied to include any subdomains
        name:
          type: string
        nameIsRegex:
          type: boolean
          default: false
          description: >-
            Indicates if the cookie name should be treated as a regular
            expression
        description:
          type: string
    HarRequest:
      type: object
      properties:
        method:
          type: string
        url:
          type: string
        httpVersion:
          type: string
        cookies:
          type: array
          items:
            $ref: '#/components/schemas/HarCookie'
        headers:
          type: array
          items:
            $ref: '#/components/schemas/HarHeaderOrQueryString'
        queryString:
          type: array
          items:
            $ref: '#/components/schemas/HarHeaderOrQueryString'
        postData:
          $ref: '#/components/schemas/HarPostData'
        headersSize:
          type: integer
          minimum: -1
          description: >-
            Number of bytes in request headers (including ending \r\n\r\n). -1
            if unavailable
        bodySize:
          type: integer
          minimum: -1
          description: Number of bytes in POST data payload. -1 if unavailable
        comment:
          $ref: '#/components/schemas/HarComment'
        substitution:
          $ref: '#/components/schemas/Substitution'
        requestBlocking:
          $ref: '#/components/schemas/RequestBlocking'
    HarPostData:
      type: object
      properties:
        mimeType:
          type: string
          format: mimeType
        params:
          type: array
          items:
            $ref: '#/components/schemas/HarPostParameter'
        text:
          type: string
        comment:
          $ref: '#/components/schemas/HarComment'
      nullable: true
    HarPostParameter:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
          nullable: true
        fileName:
          type: string
          format: fileName
          nullable: true
        contentType:
          type: string
          format: mimeType
          nullable: true
        comment:
          $ref: '#/components/schemas/HarComment'
    HarEntry:
      type: object
      properties:
        pageref:
          type: string
          nullable: true
        startedDateTime:
          $ref: '#/components/schemas/datetime'
        time:
          type: integer
          minimum: 0
          description: Request's duration in milliseconds
        request:
          $ref: '#/components/schemas/HarRequest'
        response:
          $ref: '#/components/schemas/HarResponse'
        cache:
          $ref: '#/components/schemas/HarCache'
        timings:
          $ref: '#/components/schemas/HarEntryTimings'
        serverIPAddress:
          type: string
          format: ipAddress
          nullable: true
        connection:
          type: string
          nullable: true
        _tagId:
          type: integer
        _resourceType:
          type: string
          description: >-
            The type of request (e.g. 'xhr', 'fetch', 'document', 'script',
            'image', 'stylesheet', 'font', 'other')
        comment:
          $ref: '#/components/schemas/HarComment'
    Rule:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type: string
        accountId:
          type: integer
          format: int32
        createdBy:
          type: integer
          format: int32
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        recipients:
          type: array
          items:
            type: string
        checkTimes:
          type: integer
          format: int32
        matchAllFilters:
          type: boolean
        pageFilters:
          type: array
          items:
            $ref: '#/components/schemas/PageFilter'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/RuleTag'
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
        fromTemplate:
          type: boolean
    PageFilter:
      type: object
      properties:
        id:
          type: integer
          format: int32
        ruleId:
          type: integer
          format: int32
        value:
          type: string
        type:
          $ref: '#/components/schemas/PageFilterTypeEnum'
        matchType:
          $ref: '#/components/schemas/MatchTypeEnum'
    PageFilterTypeEnum:
      type: integer
      description: Type of the page filter.
      nullable: true
      enum:
        - 1
        - 2
      x-enum-varnames:
        - URL
        - STATUSCODE
      x-enum-descriptions:
        - URL filter type
        - StatusCode filter type
    MatchTypeEnum:
      type: string
      nullable: true
      enum:
        - IsPresent
        - Equals
        - DoesNotEqual
        - Contains
        - DoesNotContain
        - IsSet
        - IsNotSet
        - Regex
        - GreaterThanOrEqualTo
        - LessThanOrEqualTo
    RuleTag:
      type: object
      properties:
        id:
          type: integer
          format: int32
        ruleId:
          type: integer
          format: int32
        tagId:
          type: integer
          format: int32
        matchType:
          $ref: '#/components/schemas/MatchTypeEnum'
        account:
          type: string
        validationDescription:
          type: string
        clause:
          $ref: '#/components/schemas/ClauseEnum'
        variables:
          type: array
          items:
            $ref: '#/components/schemas/RuleTagVariable'
    ClauseEnum:
      type: string
      nullable: true
      enum:
        - If
        - Then
        - Else
    RuleTagVariable:
      type: object
      properties:
        id:
          type: integer
          format: int32
        ruleTagId:
          type: integer
          format: int32
        variable:
          type: string
        value:
          type: string
        validationDescription:
          type: string
        matchType:
          $ref: '#/components/schemas/MatchTypeEnum'
        valueTagId:
          type: integer
          format: int32
        selectorType:
          $ref: '#/components/schemas/SelectorTypeEnum'
    SelectorTypeEnum:
      type: string
      enum:
        - Empty
        - String
        - UrlParameter
        - DataLayer
        - Tag
    GeoLocationCountryDTO:
      type: object
      description: >-
        Represents a country with geo-location information including continent
        details
      required:
        - countryId
        - countryName
        - countryCode
        - continentId
        - continentName
      properties:
        countryId:
          type: integer
          description: Unique identifier for the country
          example: 46
        countryName:
          type: string
          description: Display name of the country
          example: China
        countryCode:
          type: string
          description: ISO country code (2-letter code)
          example: CN
          maxLength: 2
          minLength: 2
        continentId:
          type: integer
          description: Unique identifier for the continent this country belongs to
          example: 5
        continentName:
          type: string
          description: Name of the continent this country belongs to
          example: Asia
    BrowserInfoDTO:
      type: object
      description: Browser configuration information for audit run snapshots
      properties:
        width:
          type: integer
          description: Browser viewport width in pixels
          example: 1920
        height:
          type: integer
          description: Browser viewport height in pixels
          example: 1080
        gcpEnabled:
          type: boolean
          description: Global Privacy Control (GPC) enabled flag
          example: true
        vpnEnabled:
          type: boolean
          description: VPN enabled flag for the audit run
          example: false
    AuditFiltersSnapshotRequestDTO:
      type: object
      description: >-
        Request body for creating audit run snapshots with optional filter
        override
      properties:
        filterSnapshotOverride:
          $ref: '#/components/schemas/AuditFilterSnapshotDTO'
    AuditFilterSnapshotDTO:
      type: object
      description: Audit filter snapshot configuration
      properties:
        accountId:
          type: integer
          description: Account ID for the audit filter snapshot
        itemId:
          type: integer
          format: int64
          description: Item ID (audit ID) for the snapshot
        runId:
          type: integer
          format: int64
          description: Run ID for the snapshot
        includes:
          type: array
          description: List of include filters
          items:
            $ref: '#/components/schemas/AuditFilterDTO'
        excludes:
          type: array
          description: List of exclude filters
          items:
            $ref: '#/components/schemas/AuditFilterDTO'
    AuditFilterDTO:
      type: object
      description: Audit filter configuration
      properties:
        filter:
          type: string
          description: Filter pattern or value
          example: https://example.com/*
        includeLimit:
          type: integer
          nullable: true
          description: Include limit for the filter (null for exclude filters)
          example: 100
    WebAuditDTO:
      type: object
      description: Web audit information
      required:
        - auditId
        - auditName
        - folderId
        - domainId
      properties:
        auditId:
          type: integer
          description: Unique identifier for the audit
        auditName:
          type: string
          description: Name of the audit
        ownerId:
          type: integer
          description: User ID of the audit owner
        createdAt:
          type: string
          format: date-time
          description: Timestamp when the audit was created
        folderId:
          type: integer
          description: Folder ID where the audit is stored
        domainId:
          type: integer
          description: Domain ID associated with the audit
        updatedAt:
          type: string
          format: date-time
          description: Timestamp when the audit was last updated
    AuditNotesDTO:
      type: object
      description: Audit notes information
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the audit notes
        notes:
          type: string
          description: Notes content for the audit
    LatestRunItemDTO:
      type: object
      description: Latest run information for an audit
      required:
        - id
        - name
        - latestRun
        - domainInfo
      properties:
        id:
          type: integer
          description: Audit ID
        name:
          type: string
          description: Audit name
        latestRun:
          $ref: '#/components/schemas/RunInfoDTO'
        domainInfo:
          $ref: '#/components/schemas/DomainInfoDTO'
        labels:
          type: array
          description: Labels associated with the audit
          items:
            $ref: '#/components/schemas/Label'
    RunInfoDTO:
      type: object
      description: Run execution information
      required:
        - id
      properties:
        id:
          type: integer
          format: int64
          description: Run ID
        completedAt:
          type: string
          format: date-time
          description: Timestamp when the run completed
        pageCount:
          type: integer
          format: int64
          description: Number of pages processed in the run
    DomainInfoDTO:
      type: object
      description: Domain information
      required:
        - id
        - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
    WebJourneyDTO:
      type: object
      description: Web journey configuration and metadata
      required:
        - id
        - name
        - domainId
        - userId
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier for the web journey
          example: 12345
        name:
          type: string
          description: Name of the web journey
          example: E-commerce Checkout Flow
          maxLength: 255
        notes:
          type: string
          description: Optional notes or description
          example: Tests the complete checkout process
          nullable: true
        domainId:
          type: integer
          description: ID of the associated domain
          example: 123
        userId:
          type: integer
          description: ID of the user who created this web journey
          example: 456
        folderId:
          type: integer
          description: ID of the folder containing this web journey
          example: 789
          nullable: true
        browserWidth:
          type: integer
          description: Browser viewport width in pixels
          example: 1920
          minimum: 250
          maximum: 10000
          nullable: true
        browserHeight:
          type: integer
          description: Browser viewport height in pixels
          example: 1080
          minimum: 250
          maximum: 10000
          nullable: true
        loadVideos:
          type: boolean
          description: Whether to load video content
          example: true
          nullable: true
        vpnEnabled:
          type: boolean
          description: Whether VPN is enabled for this journey
          example: false
          nullable: true
        gpcEnabled:
          type: boolean
          description: Whether Global Privacy Control is enabled
          example: true
          nullable: true
        blockThirdPartyCookies:
          type: boolean
          description: Whether to block third-party cookies
          example: false
          nullable: true
        frequency:
          $ref: '#/components/schemas/WebJourneyFrequencyEnum'
        location:
          type: string
          description: Geographic location for the web journey execution
          example: US-West
          nullable: true
        userAgent:
          type: string
          description: User agent string to use
          example: Chrome/91.0.4472.124
          nullable: true
        userAgentDescription:
          type: string
          description: Human-readable description of the user agent
          example: Chrome Browser
          nullable: true
        customProxy:
          type: string
          description: Custom proxy server configuration
          example: proxy.example.com:8080
          nullable: true
        monitoredByScriptServices:
          type: boolean
          description: Whether this journey is monitored by script services
          example: true
          nullable: true
        createdAt:
          type: string
          format: date-time
          description: When the web journey was created
          example: '2023-06-01T10:30:00Z'
        nextCheck:
          type: string
          format: date-time
          description: When the next execution is scheduled
          example: '2023-06-02T10:30:00Z'
          nullable: true
        schedule:
          $ref: '#/components/schemas/Schedule'
          nullable: true
    WebJourneyUpdateDTO:
      type: object
      description: Web journey data for creation or update
      required:
        - domainId
      properties:
        name:
          type: string
          description: Name of the web journey
          example: E-commerce Checkout Flow
          maxLength: 255
        notes:
          type: string
          description: Optional notes or description
          example: Tests the complete checkout process
          nullable: true
        domainId:
          type: integer
          description: ID of the associated domain
          example: 123
        userId:
          type: integer
          description: ID of the user who created this web journey
          example: 456
        folderId:
          type: integer
          description: ID of the folder containing this web journey
          example: 789
          nullable: true
        browserWidth:
          type: integer
          description: Browser viewport width in pixels
          example: 1920
          minimum: 250
          maximum: 10000
          nullable: true
        browserHeight:
          type: integer
          description: Browser viewport height in pixels
          example: 1080
          minimum: 250
          maximum: 10000
          nullable: true
        loadVideos:
          type: boolean
          description: Whether to load video content
          example: true
          nullable: true
        vpnEnabled:
          type: boolean
          description: Whether VPN is enabled for this journey
          example: false
          nullable: true
        gpcEnabled:
          type: boolean
          description: Whether Global Privacy Control is enabled
          example: true
          nullable: true
        blockThirdPartyCookies:
          type: boolean
          description: Whether to block third-party cookies
          example: false
          nullable: true
        frequency:
          $ref: '#/components/schemas/WebJourneyFrequencyEnum'
        location:
          type: string
          description: Geographic location for the web journey execution
          example: US-West
          nullable: true
        userAgent:
          type: string
          description: User agent string to use
          example: Chrome/91.0.4472.124
          nullable: true
        userAgentDescription:
          type: string
          description: Human-readable description of the user agent
          example: Chrome Browser
          nullable: true
        customProxy:
          type: string
          description: Custom proxy server configuration
          example: proxy.example.com:8080
          nullable: true
        monitoredByScriptServices:
          type: boolean
          description: Whether this journey is monitored by script services
          example: true
          nullable: true
        nextCheck:
          type: string
          format: date-time
          description: When the next execution is scheduled
          example: '2023-06-02T10:30:00Z'
          nullable: true
        schedule:
          $ref: '#/components/schemas/BaseScheduleForCreation'
          nullable: true
    WebJourneyStatusDTO:
      type: object
      description: Current status of a web journey
      required:
        - status
        - webJourneyRunning
        - queued
      properties:
        status:
          $ref: '#/components/schemas/WebJourneyRunStatusEnum'
        webJourneyRunning:
          type: boolean
          description: Whether the web journey is currently running
          example: false
        lastCheck:
          type: string
          format: date-time
          description: When the web journey was last executed
          example: '2023-06-01T16:45:00Z'
          nullable: true
        queued:
          type: boolean
          description: Whether the web journey is queued for execution
          example: false
    WebJourneyFrequencyEnum:
      type: string
      description: Frequency options for web journey execution
      enum:
        - paused
        - once
        - 15 minutes
        - 1 hour
        - 6 hours
        - 12 hours
        - daily
        - weekly
        - biweekly
        - monthly
      example: daily
    WebJourneyRunStatusEnum:
      type: string
      description: Status of a web journey run
      enum:
        - NotChecked
        - Ok
        - Failure
        - PageFailure
        - ActionFailure
        - RulesFailure
        - ExecutingActions
        - ProcessingRules
      example: Ok
    WebActionSelectorTypeEnum:
      type: string
      description: Types of web element selectors
      enum:
        - CSS
        - XPath
        - ID
        - Name
        - Class
        - Tag
        - Attribute
      example: CSS
    RemoteFileMapping:
      type: object
      description: Remote file mapping configuration
      required:
        - id
        - name
        - matchType
        - matchValue
        - accountId
        - createdBy
        - createdAt
        - updatedBy
        - updatedAt
      properties:
        id:
          type: integer
          format: int64
          description: Simple surrogate key in the database for this RFM config
          example: 123
        name:
          type: string
          maxLength: 255
          description: A user-supplied name to identify this RFM config
          example: Google Analytics Replacement
        fileId:
          type: string
          description: A string GUID used as the uploaded replacement file's "name" in S3
          example: 8c59d02b-6ebc-4893-9391-9be26c6d34cc
          nullable: true
        fileUrl:
          type: string
          maxLength: 5000
          description: >-
            The replacement URL, or else the name of the replacement file before
            it was uploaded
          example: https://example.com/replacement-script.js
          nullable: true
        matchType:
          type: string
          enum:
            - equals
            - regex
          description: Either "regex" or "equals"
          example: equals
        matchValue:
          type: string
          description: >-
            The request URL to be replaced (or the regex that matches URLs to
            replace)
          example: https://www.google-analytics.com/analytics.js
        accountId:
          type: integer
          description: >-
            Foreign key reference to accounts table. The owner of this
            RemoteFileMapping
          example: 343
        createdBy:
          type: integer
          description: Foreign key reference to the users table. Who created this RFM?
          example: 1362
        createdAt:
          type: string
          format: date-time
          description: When this RFM was created
          example: '2024-01-01T10:15:00.000Z'
        updatedBy:
          type: integer
          description: >-
            Foreign key reference to the users table. Who updated this RFM most
            recently?
          example: 1362
        updatedAt:
          type: string
          format: date-time
          description: When this RFM was last updated
          example: '2024-01-02T10:15:00.000Z'
    RemoteFileMappingRequest:
      type: object
      description: Request data for creating or updating remote file mapping
      required:
        - name
        - matchType
        - matchValue
      properties:
        name:
          type: string
          maxLength: 255
          description: A user-supplied name to identify this RFM config
          example: Google Analytics Replacement
        fileId:
          type: string
          description: A string GUID used as the uploaded replacement file's "name" in S3
          example: 8c59d02b-6ebc-4893-9391-9be26c6d34cc
          nullable: true
        fileUrl:
          type: string
          maxLength: 5000
          description: >-
            The replacement URL, or else the name of the replacement file before
            it was uploaded
          example: https://example.com/replacement-script.js
          nullable: true
        matchType:
          type: string
          enum:
            - equals
            - regex
          description: Either "regex" or "equals"
          example: equals
        matchValue:
          type: string
          description: >-
            The request URL to be replaced (or the regex that matches URLs to
            replace)
          example: https://www.google-analytics.com/analytics.js
    FileUploadResponse:
      type: object
      description: Response for file upload operation
      required:
        - fileId
      properties:
        fileId:
          type: string
          description: Unique identifier for the uploaded file
          example: g3c7fa03-e442-c57b-b179-b349ee4ebce4
    GitHubAppInstallationLinkResponse:
      type: object
      description: Response containing GitHub App installation link
      required:
        - installationUrl
      properties:
        installationUrl:
          type: string
          format: uri
          description: GitHub App installation URL with state parameter for tracking
          example: >-
            https://github.com/apps/observepoint-integration/installations/new?state=550e8400-e29b-41d4-a716-446655440000
    GhAppNameEnum:
      type: string
      description: Allowed GitHub App names for installation
      enum:
        - observepoint-integration
    GitHubAppInstallationStatusEnum:
      type: string
      description: Installation status values aligned with backend enum
      enum:
        - pending
        - active
        - inactive
    GitHubAppInstallationSortByEnum:
      type: string
      description: Sortable fields for GitHub App installations
      enum:
        - initiated_at
        - completed_at
        - org_name
        - is_active
    GitHubAppInstallationDTO:
      type: object
      description: GitHub App installation record
      required:
        - id
        - createdByUserId
        - isActive
        - initiatedAt
        - status
      properties:
        id:
          type: integer
          format: int32
        createdByUserId:
          $ref: '#/components/schemas/UserId'
        status:
          $ref: '#/components/schemas/GitHubAppInstallationStatusEnum'
        orgName:
          type: string
        isActive:
          type: boolean
        initiatedAt:
          $ref: '#/components/schemas/DateAndTime'
        completedAt:
          $ref: '#/components/schemas/DateAndTime'
        updatedAt:
          $ref: '#/components/schemas/DateAndTime'
        lastUsed:
          $ref: '#/components/schemas/DateAndTime'
    GitHubAppInstallations_ResponseDTO:
      type: object
      required:
        - installations
      properties:
        installations:
          type: array
          items:
            $ref: '#/components/schemas/GitHubAppInstallationDTO'
  responses:
    BadRequest:
      description: The request cannot be accepted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    UnAuthorized:
      description: Your token is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    Forbidden:
      description: You don't have enough rights to access this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    NotFound:
      description: The object you are looking is not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    responses-BadRequest:
      description: The request cannot be accepted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    responses-UnAuthorized:
      description: Your token is invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    responses-NotFound:
      description: The object you are looking is not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    FailedDependency:
      description: >-
        The method could not be performed on the resource because the requested
        action depended on another action and that action failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
    responses-Forbidden:
      description: You don't have enough rights to access this resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorModel'
  securitySchemes:
    API_Key:
      type: apiKey
      in: header
      name: Authorization
      description: >
        Use the `Authorization` header in your requests with ObservePoint API
        key as header value.


        Example: `Authorization: abc123...def456`
x-tagGroups:
  - name: Audit Reports
    tags:
      - alert-summary-report
      - audit-summary-report
      - browser-logs-report
      - cookie-inventory-report
      - cookie-privacy-report
      - file-changes-report
      - page-details-report
      - page-summary-report
      - request-privacy-report
      - rule-summary-report
      - tag-duplicates-and-multiples-report
      - tag-health-report
      - tag-inventory-report
      - tag-privacy-report
      - variable-inventory-report
      - web-audits
  - name: Web Journey Reports
    tags:
      - web-journey-cookie-report
  - name: Exports
    tags:
      - account-usage-export
      - alert-export
      - audit-run-export
      - consent-category-export
      - exports
      - manual-journey-run-export
      - scheduled-exports
      - web-journey-run-export
  - name: Alerts
    tags:
      - account-triggered-alerts
      - account-usage-alerts
      - alerts
      - email-inbox-message-alerts
  - name: Account Usage
    tags:
      - account-usage-v2
  - name: Email
    tags:
      - email-inbox-configuration
      - email-inbox-messages
      - email-inboxes
  - name: Configuration
    tags:
      - action-set-action-rules
      - action-set-actions
      - action-sets
      - audit-actions
      - audit-blocking-config
      - audit-login-actions
      - audits-consent-category
      - audits-management
      - consent-categories
      - custom-headers
      - data-sources
      - geo-locations
      - notification-center
      - remote-file-mappings
      - rules
      - schedules
      - site-censuses
      - user-events
      - web-journey-blocking-config
      - web-journey-custom-headers
      - web-journeys-management
