ObservePoint Site Censuses API

APIs for managing Site Census

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-site-censuses-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 email required.

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

OpenAPI Specification

observepoint-site-censuses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: V3 Site Censuses 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: site-censuses
  x-displayName: Site Censuses
  description: APIs for managing Site Census
paths:
  /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: returnExcludedOnly
        required: false
        description: Indicates that the results will only contain patterns for excluded URLs. Excluded URLs include external URLs linked from included pages, and internal URLs matching an IGNORE filter pattern.
        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}/url-folders:
    get:
      tags:
      - site-censuses
      summary: Browse a host's folder tree, list every host's root, or search folders and pages across the census -- each returned folder carrying a preview of its direct URLs
      description: '<div class="op-path-box"><span class="op-http-method-get">GET</span> /v3/site-censuses/<span class="op-path-parameter">{censusId}</span>/url-folders</div>


        In both modes every counted folder row nests a preview of its own DIRECT child URLs in `urls` (capped at urlsPerFolder, with the uncapped total in matchedUrlCount), so one request returns a fully renderable tree level -- folders and the pages inside them -- without a follow-up call to folders/urls. That endpoint remains the way to page through a folder whose preview was truncated; it lists in the same default (URL, id) order, so the preview''s URLs reappear there in the same relative order. It lists every direct URL of the folder without this endpoint''s view filtering, so its rows and totals can exceed the preview''s matchedUrlCount (e.g. on censuses with IGNORE patterns or in excluded views).


        Browse mode (no searchPattern): With host, one level of that host''s folder tree; without host, the root folder of every host on the census. Every row is a counted row, so every row carries the preview: all of its in-view direct URLs, up to the cap. Counts always cover each folder''s entire subtree, whether they are read from the persisted folder rollup or computed live, so a folder''s totalUrls does not change when the census finalizes.


        Search mode (searchPattern supplied): A folder is a hit when its OWN name (folderName; a host''s root folder is named "/" and is instead findable by its hostname) contains the pattern, or when it DIRECTLY contains a URL whose own page name -- the last segment of its path, not the folders above it -- contains the pattern. Hits come back in `folders` with matched=true, each nesting its matching direct URLs in `urls`. Neither kind of match inherits: searching "shoes" does not return every page under a /shoes/ folder (the folder is a name hit, but its `urls` preview lists only direct children whose own name matches), and a page named shoes.html puts its containing folder on the page without making that folder''s name a match.


        `folders` additionally carries the unmatched ancestor folders needed to render a connected tree path, with matched=false and no `urls`/matchedUrlCount. Every hit is connected back to the root (or to parentFolderPath when supplied). parentFolderPath still requires host, but host on its own is a whole-host search.


        Pagination counts matched folders only: totalCount is the number of matching folders, and one page is pageSize matched rows. Nested `urls` entries and ancestor context rows are additional and never counted. A matching URL appears exactly once across the whole pagination -- nested under its containing folder, on the page where that folder sorts.


        Where the counts come from: the excluded view (returnExcludedOnly=true) is always computed live from URLs, and so is the included view whenever the census is running, has IGNORE patterns configured, or has not finished folder aggregation; otherwise the included view is served from the persisted folder rollup. A search result''s folder counts always describe the folder''s whole subtree on both paths -- they are never restricted to matching URLs -- so the same folder reports the same totalUrls whether it was reached by browsing or by searching. Persisted counts still bucket status codes slightly differently from live ones: live treats any status other than 0 as visited, while the persisted unknown-status bucket additionally absorbs missing, 1xx and 6xx+ codes and reports them under urlsToVisit. visitedUrls + urlsToVisit always equals totalUrls on both paths.

        '
      operationId: getSiteCensusUrlFolders
      parameters:
      - $ref: '#/components/parameters/SiteCensusId'
      - in: query
        name: host
        required: false
        description: 'The URL hostname to scope folder results. Omit (or send blank) to list the root folder of every host on the census (initial browse view; parentFolderPath must then also be omitted, and each root row carries host-wide counts).

          '
        schema:
          type: string
      - in: query
        name: parentFolderPath
        required: false
        description: 'The normalized parent folder path key; returns immediate child folders under this parent. Coupled to host: requires host (400 if supplied without it), and defaults to the root path "/" when host is supplied without it. Blank counts as omitted. Caller variations are normalized the same way ingestion normalizes stored keys (lowercased, repeated slashes collapsed, trailing slash dropped); a path deeper than 50 folders, with any single folder name longer than 512 characters, or longer than 2048 characters overall cannot name a real folder and is a 400 rather than being answered with a shallower folder''s children.

          '
        schema:
          type: string
      - in: query
        name: searchPattern
        required: false
        description: 'Case-insensitive substring matched against a folder''s own name (or, for a host''s root folder, its hostname) and against a page''s own name -- the last path segment. For page names, glob `*` is treated as the dynamic-segment symbol, so `*` finds dynamically-segmented pages; folder names are raw path text, so a `*` in the pattern only matches a literal `*` in the name. Blank counts as omitted (browse mode). May be combined with or without host.

          '
        schema:
          type: string
      - in: query
        name: returnExcludedOnly
        required: false
        description: 'Indicates that the results will only contain excluded folder results: external folders (a non-included baseDomain) reachable via a discovered link, or internal folders matching an IGNORE filter pattern.'
        schema:
          type: boolean
      - $ref: '#/components/parameters/PageParam'
      - in: query
        name: pageSize
        required: false
        description: 'Page size, counted in folder rows (matched rows in search mode). Up to 10000 when searchPattern is supplied; requests without a searchPattern are limited to 1000 (400 above that). Nested urls and ancestor context rows are additional, so worst-case response size scales with pageSize * urlsPerFolder.

          '
        schema:
          type: integer
          maximum: 10000
          default: 100
          minimum: 1
      - in: query
        name: urlsPerFolder
        required: false
        description: 'The maximum number of direct-child URLs nested in each counted folder row''s `urls` array. The uncapped in-view total is always reported in matchedUrlCount, so a truncated folder can be paged onward through the folders/urls endpoint, which lists in the same default (URL, id) order (unfiltered by this endpoint''s view, so it may interleave additional URLs). 0 disables previews entirely: `urls` and matchedUrlCount are then absent from every row, matching the pre-preview response shape.

          '
        schema:
          type: integer
          minimum: 0
          maximum: 100
          default: 50
      - in: query
        name: sortBy
        required: false
        description: 'Results are ordered by this column and then by (host, folderPath), so a page is stable even when the sort column ties. On the hostless root listing FOLDER_NAME orders by host: every row there is some host''s "/" folder, so folderName is the same literal on every row and carries no ordering. Nested `urls` previews are not governed by this sort; they always list in (URL, id) order, matching the folders/urls endpoint''s default.

          '
        schema:
          $ref: '#/components/schemas/SiteCensusUrlFolderSortByEnum'
      - $ref: '#/components/parameters/SortDescendingParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusUrlFolderResultsDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - API_Key: []
  /v3/site-censuses/{censusId}/folders/summary:
    get:
      tags:
      - site-censuses
      summary: Returns the rolled-up counts for a single site-census folder
      description: '<div class="op-path-box"><span class="op-http-method-get">GET</span> /v3/site-censuses/<span class="op-path-parameter">{censusId}</span>/folders/summary</div>


        Reads the precomputed rollup counts for one folder from site_census_url_folders (trustworthy only when finalized is true), plus live included/ignored URL counts computed over the folder''s subtree.

        '
      operationId: getSiteCensusFolderSummary
      parameters:
      - $ref: '#/components/parameters/SiteCensusId'
      - in: query
        name: baseDomain
        required: true
        description: The URL base domain the folder belongs to.
        schema:
          type: string
      - in: query
        name: host
        required: true
        description: The URL hostname the folder belongs to.
        schema:
          type: string
      - in: query
        name: folderPath
        required: true
        description: The normalized path key of the selected folder.
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusFolderSummaryDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - API_Key: []
  /v3/site-censuses/{censusId}/folders/urls:
    get:
      tags:
      - site-censuses
      summary: Returns the URLs sitting directly in a site-census folder
      description: '<div class="op-path-box"><span class="op-http-method-get">GET</span> /v3/site-censuses/<span class="op-path-parameter">{censusId}</span>/folders/urls</div>


        Lists the individual URLs whose containing folder is exactly folderPath (direct URLs only, not descendants), from site_census_urls, paginated.


        Supply searchPattern to page through only the matching pages of one folder - the same pages the url-folders search nests in that folder''s `urls` preview, using the identical page-name predicate and the same default (URL, id) order, so paging past a truncated preview continues the exact sequence the preview started and cannot surface pages the search itself would not have matched.

        '
      operationId: getSiteCensusFolderUrls
      parameters:
      - $ref: '#/components/parameters/SiteCensusId'
      - in: query
        name: baseDomain
        required: true
        description: The URL base domain the folder belongs to.
        schema:
          type: string
      - in: query
        name: host
        required: true
        description: The URL hostname the folder belongs to.
        schema:
          type: string
      - in: query
        name: folderPath
        required: true
        description: The normalized path key of the folder whose direct URLs to return.
        schema:
          type: string
      - in: query
        name: searchPattern
        required: false
        description: 'Restricts the listing to pages whose own name - the last path segment - contains this case-insensitive substring, matched exactly as the url-folders search matches page hits. Glob `*` is treated as the dynamic-segment symbol. Blank or omitted returns every direct URL in the folder.

          '
        schema:
          type: string
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/PageSize'
      - in: query
        name: sortBy
        required: false
        schema:
          $ref: '#/components/schemas/SiteCensusFolderUrlSortByEnum'
      - $ref: '#/components/parameters/SortDescendingParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SiteCensusFolderUrlsResultsDTO'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
      - API_Key: []
  /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/site-censuses/finder:
    get:
      tags:
      - site-censuses
      operationId: findSiteCensuses
      summary: Find site censuses
      description: '<div class="op-path-box"><span class="op-http-method-get">GET</span> /v3/site-censuses/finder</div>


        Find site censuses. Available for ≥ OpAdmins only.'
      parameters:
      - name: search
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/SiteCensusSearchParam'
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/PageSize'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FoundSiteCensusesListResponseDTO'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/UnAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
      - API_Key: []
components:
  schemas:
    FoundSiteCensusDTO:
      type: object
      description: 'Represents a site census retrieved from a search operation. Site censuses can be searched by the following properties:

        - `id`

        - `name`

        '
      required:
      - id
      - name
      - accountId
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        accountId:
          type: integer
          format: int64
    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
    SiteCensusSortByEnum:
      type: string
      default: NAME
      enum:
      - NAME
      - UNIQUE_URLS
      - VISITED_URLS
      - URLS_TO_VISIT
      - IGNORED_URLS
      - BROKEN_URLS
      - SCAN_DATE
    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'
    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
          - 'null'
          format: date-time
          description: The date and time when the current scan session started.
        lastScanStoppedAt:
          type:
          - string
          - 'null'
          format: date-time
          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.
        userAgentId:
          type: integer
          default: 122
          description: The user agent ID used for data collection.
        customHttpHeaders:
          type: array
          default: []
          minItems: 0
          items:
            $ref: '#/components/schemas/SiteCensusCustomHttpHeader'
          description: List of custom HTTP header groups assigned to this site census.
    SiteCensusResultsSummaryDTO:
      type: object
      required:
      - uniqueUrls
      - visitedUrls
      - urlsToVisit
      - ignoredUrls
      - brokenUrls
      - isRunning
      - isArchived
      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.
        ignoredUrls:
          type: integer
          minimum: 0
          description: The number of URLs matching an IGNORE filter pattern 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.
        isArchived:
          type: boolean
          description: Indicates whether the Site Census has been archived. True if and only if the census has an archived_at timestamp.
    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.
    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
    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'
    SiteCensusUrlFolderSortByEnum:
      type: string
      default: FOLDER_NAME
      enum:
      - FOLDER_NAME
      - TOTAL_URLS
      - URLS_TO_VISIT
      - VISITED_URLS
      - BROKEN_URLS
      - LAST_FOUND
    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
    SiteCensusCustomHttpHeader:
      type: object
      required:
      - groupId
      properties:
        groupId:
          type: integer
          format: int64
          desc

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/observepoint/refs/heads/main/openapi/observepoint-site-censuses-api-openapi.yml