ObservePoint Rule Summary Report API

Rule Summary report endpoints

Operations 8

POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary Get rule summary for specified audit run #
GET /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/trends Get rule status trends for specified audit run #
GET /v3/web-audits/{auditId}/reports/rule-summary/trends/rule-results Get rule results trend values for specified audit run relative to current day #
GET /v3/web-audits/{auditId}/reports/rule-summary/trends/page-count Get rule results page count trend values for specified audit run relative to… #
POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/rule-results Get all rules overview for specified audit run #
POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/rule-results/{ruleSnapshotId} Get rule details for specified rule within specified audit run #
POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/page-rule-results Get page rule results within specified audit run #
POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/page-rule-results/{ruleSnapshotId} Get specific rule page results within specified audit run #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/observepoint-rule-summary-report-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

observepoint-rule-summary-report-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: V3 Rule Summary Report 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: rule-summary-report
  x-displayName: Rule Summary Report
  description: Rule Summary report endpoints
paths:
  /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: POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary
  /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: GET /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/trends
  /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: GET /v3/web-audits/{auditId}/reports/rule-summary/trends/rule-results
  /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…
      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: GET /v3/web-audits/{auditId}/reports/rule-summary/trends/page-count
  /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: POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/rule-results
  /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: POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/rule-results/{ruleSnapshotId}
  /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: POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/page-rule-results
  /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: POST /v3/web-audits/{auditId}/runs/{runId}/reports/rule-summary/page-rule-results/{ruleSnapshotId}
components:
  schemas:
    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
    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'
    AuditId:
      type: integer
      format: int64
      example: 107239
    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'
    MatchType:
      type: string
      enum:
      - Unknown
      - TagPresent
      - Equals
      - NotEqual
      - Contains
      - DoesNotContain
      - Regex
      - IsSet
      - NotSet
      - GreaterThanOrEquals
      - LessThanOrEquals
      - EqualIgnoreCase
      - NotEqualIgnoreCase
      - ContainsIgnoreCase
      - DoesNotContainIgnoreCase
    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
    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
    StatusCodeValueType:
      type: string
      enum:
      - Specific
      - SuccessAndRedirect
      - 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_SpecificRuleResultsRequestDTO:
      description: Request to get rule results list
      x-implements:
      - com.observepoint.reportingapi.gen.interfaces.RuleSummaryFilters
      allOf:
      - $ref: '#/components/schemas/AuditRun_RuleSummary_BaseRequestTrait'
    RuleStatus:
      type: string
      enum:
      - failed
      - passed
      - not_applied
    RuleTagSnapshotId:
      type: integer
      format: int64
    TagAccount:
      type: string
      description: Tag account
    RuleSnapshotId:
      type: integer
      format: int64
    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_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_PageRuleResultsRuleFilterEnum:
      type: string
      enum:
      - page_filter
      - tag_filter
      - tag_variable_filter
    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
    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'
    AuditRunRuleResultsPageCountTrendItem:
      x-implements:
      - com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
      - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
      - $ref: '#/components/schemas/AuditRunRulePageCountTrait'
    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'
    AuditRun_RuleSummary_SpecificRulePageRuleResultsItem:
      allOf:
      - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
      - type: object
        required:
        - conditionResult
        properties:
          conditionResult:
            $ref: '#/components/schemas/AuditRun_RuleSummary_RuleConditionResult'
    AuditRun_RuleSummary_RuleResultEnum:
      type: string
      enum:
      - passed
      - failed
      - not_applied
      - broken
    RuleId:
      type: integer
      format: int64
      description: Rule ID
      example: 12
    RuleTagVariableSnapshotId:
      type: integer
      format: int64
    AuditRun_RuleSummary_RuleResultsTrendDTO:
      description: Audit rule results trend values
      type: object
      required:
      - runs
      properties:
        runs:
          type: array
          items:
            $ref: '#/components/schemas/AuditRunRuleResultsTrendItem'
    TagCategoryId:
      type: integer
      description: Tag category ID
    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
    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'
    PageUrl:
      type: string
      format: url
      example: https://example.com/about
    RunId:
      type: integer
      format: int64
      example: 33010
    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'
    CommonIterableResponseMetadata:
      description: Common metadata for iterable
      type: object
      required:
      - pagination
      properties:
        pagination:
          $ref: '#/components/schemas/PaginationMetadata'
    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'
    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'
    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
    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
    IntegerFilterTypeEnum:
      type: string
      enum:
      - specific
      - range
    AuditRun_RuleSummary_PageRuleResultsItem:
      allOf:
      - $ref: '#/components/schemas/AuditRunPageCommonColumnsWithFinalValuesTrait'
      - type: object
        required:
        - ruleFailureCount
        properties:
          ruleFailureCount:
            type: integer
            description: Number of rules failed on the page
    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'
    StringInclusionFilterTypeEnum:
      type: string
      enum:
      - contains
      - not_contains
    TagId:
      type: integer
      description: Tag ID
    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'
    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'
    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
    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'
    RulePageFilterSnapshotId:
      type: integer
      format: int64
    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'
    RuleTagStatusCode:
      type: object
      required:
      - matchType
      - valueType
      properties:
        matchType:
          $ref: '#/components/schemas/MatchType'
        valueType:
          $ref: '#/components/schemas/StatusCodeValueType'
        value:
          type: integer
          format: int32
    TagCategoryName:
      type: string
      description: Name of a category of a tag
    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'
    PageId:
      type: string
      example: f9d32cc7cc2046d6decb145a80289287f5226323
    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'
    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'
    IntegerRangeFilterTrait:
      type: object
      description: Common trait for integer min max filter
      properties:
        min:
          type: integer
          minimum: 0
        max:
          type: integer
    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'
    AuditRunRuleResultsTrendItem:
      x-implements:
      - com.observepoint.reportingapi.gen.interfaces.ItemRunTrendsItemTraitInterface
      allOf:
      - $ref: '#/components/schemas/ItemRunTrendsItemTrait'
      - $ref: '#/components/schemas/AuditRunRuleCountTrait'
    AuditRun_RuleSummary_AllRules_PagesSortColumn:
      type: string
      enum:
      - page_url
      - final_page_url
      - page_status_code
      - final_page_status_code
      - page_load_time
      - rule_failures
    PageStatusCode:
      type: integer
      description: Page HTTP status code
    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
    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'
    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:
            $r

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/observepoint/refs/heads/main/openapi/observepoint-rule-summary-report-api-openapi.yml