> ## Documentation Index
> Fetch the complete documentation index at: https://docs.visitoai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inspect website generation and selected knowledge pages

> Read current crawl status/latestJob, generation, lastCrawledAt, token usage, page source IDs and enabled flags. A failed refresh can leave the previous generation available; selected/enabled state and quota matter in addition to job completion. Current generation is not necessarily the one used for a saved answer. Required permission: knowledge:read. Connected business only; no tenant override.



## OpenAPI

````yaml /openapi.json get /knowledge/websites/{websiteId}
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /knowledge/websites/{websiteId}:
    get:
      summary: Inspect website generation and selected knowledge pages
      description: >-
        Read current crawl status/latestJob, generation, lastCrawledAt, token
        usage, page source IDs and enabled flags. A failed refresh can leave the
        previous generation available; selected/enabled state and quota matter
        in addition to job completion. Current generation is not necessarily the
        one used for a saved answer. Required permission: knowledge:read.
        Connected business only; no tenant override.
      operationId: get_knowledge_website
      parameters:
        - name: websiteId
          in: path
          required: true
          description: >-
            Copy websiteId from list_knowledge_items or list_knowledge_websites;
            it belongs to the connected business. Do not derive it from a title,
            URL or external provider ID.
          schema:
            type: string
            maxLength: 128
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeWebsite'
        '400':
          description: Invalid request
        '403':
          description: Missing permission
        '404':
          description: Resource not found
        '409':
          description: Conflict; read state and reconcile
components:
  schemas:
    KnowledgeWebsite:
      type: object
      additionalProperties: false
      properties:
        websiteId:
          type: string
          maxLength: 128
        sourceId:
          type: string
          maxLength: 128
        sourceType:
          type: string
          enum:
            - website
        active:
          type: boolean
        scope:
          type: string
          enum:
            - property
            - global
        title:
          type: string
          maxLength: 160
        url:
          type: string
          maxLength: 2048
        chunkCount:
          type: integer
          minimum: 0
        activeTokens:
          type: integer
          minimum: 0
        selectedTokens:
          type: integer
          minimum: 0
        createdBy:
          type: object
          additionalProperties: false
          properties:
            id:
              type: string
              maxLength: 128
            displayName:
              type: string
              maxLength: 160
            email:
              type: string
              maxLength: 320
        rootUrl:
          type: string
          maxLength: 2048
        normalizedRootUrl:
          type: string
          maxLength: 2048
        crawlDepth:
          type: integer
          minimum: 1
          maximum: 10
        maxPages:
          type: integer
          minimum: 1
          maximum: 500
        propertyId:
          type: string
          maxLength: 128
        propertyName:
          type: string
          maxLength: 160
        status:
          type: string
          enum:
            - idle
            - crawling
            - failed
        defaultEnabled:
          type: boolean
        selectionRules:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              kind:
                type: string
                enum:
                  - path
                  - page
              key:
                type: string
                maxLength: 2048
              enabled:
                type: boolean
            required:
              - kind
              - key
              - enabled
        currentGenerationId:
          type: string
          maxLength: 128
        latestJob:
          $ref: '#/components/schemas/KnowledgeCrawlJob'
        totalPages:
          type: integer
          minimum: 0
        enabledPages:
          type: integer
          minimum: 0
        pages:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              sourceId:
                type: string
                maxLength: 128
              url:
                type: string
                maxLength: 2048
              canonicalUrl:
                type: string
                maxLength: 2048
              path:
                type: string
                maxLength: 2048
              enabled:
                type: boolean
              chunkCount:
                type: integer
                minimum: 0
              tokens:
                type: integer
                minimum: 0
              displayOrder:
                type: integer
                minimum: 0
              updatedAt:
                type: string
                maxLength: 128
            required:
              - sourceId
              - url
              - canonicalUrl
              - path
              - enabled
              - chunkCount
          maxItems: 500
        createdAt:
          type: string
          maxLength: 128
        updatedAt:
          type: string
          maxLength: 128
        lastCrawledAt:
          type: string
          maxLength: 128
      required:
        - websiteId
        - sourceId
        - sourceType
        - active
        - scope
        - title
        - url
        - chunkCount
        - rootUrl
        - normalizedRootUrl
        - crawlDepth
        - maxPages
        - status
        - defaultEnabled
        - selectionRules
        - totalPages
        - enabledPages
    KnowledgeCrawlJob:
      type: object
      properties:
        jobId:
          type: string
        status:
          type: string
          enum:
            - queued
            - running
            - completed
            - failed
        progress:
          type: object
          properties:
            phase:
              type: string
              enum:
                - queued
                - crawling
                - embedding
                - finalizing
            pagesDiscovered:
              type: integer
            pagesProcessed:
              type: integer
            chunksEmbedded:
              type: integer
        chunks:
          type: integer
        url:
          type: string
        crawlDepth:
          type: integer
        maxPages:
          type: integer
        sourceId:
          type: string
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
        websiteId:
          type: string
          maxLength: 128
        websiteGenerationId:
          type: string
          maxLength: 128
        createdAt:
          type: string
          maxLength: 128
        startedAt:
          type: string
          maxLength: 128
        completedAt:
          type: string
          maxLength: 128
        updatedAt:
          type: string
          maxLength: 128
        snapshotPages:
          type: integer
          minimum: 0
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.