> ## 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.

# Enable or disable website knowledge pages

> Change selection for the entire website, an existing path, or an existing page canonicalUrl. Obtain path/canonicalUrl from get_knowledge_website; do not guess. Website-wide target implements activation/deactivation and resets child overrides under existing rules. Enabling checks quota; it does not bypass failed processing or fetch new content. Read detail/usage after changes. Required permission: knowledge:write. Connected business only; no tenant override.



## OpenAPI

````yaml /openapi.json patch /knowledge/websites/{websiteId}/selection
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}/selection:
    patch:
      summary: Enable or disable website knowledge pages
      description: >-
        Change selection for the entire website, an existing path, or an
        existing page canonicalUrl. Obtain path/canonicalUrl from
        get_knowledge_website; do not guess. Website-wide target implements
        activation/deactivation and resets child overrides under existing rules.
        Enabling checks quota; it does not bypass failed processing or fetch new
        content. Read detail/usage after changes. Required permission:
        knowledge:write. Connected business only; no tenant override.
      operationId: set_knowledge_website_selection
      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
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeWebsiteSelectionInput'
      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:
    KnowledgeWebsiteSelectionInput:
      type: object
      additionalProperties: false
      properties:
        target:
          oneOf:
            - type: object
              additionalProperties: false
              properties:
                kind:
                  type: string
                  enum:
                    - website
              required:
                - kind
            - type: object
              additionalProperties: false
              properties:
                kind:
                  type: string
                  enum:
                    - path
                path:
                  type: string
                  maxLength: 2048
              required:
                - kind
                - path
            - type: object
              additionalProperties: false
              properties:
                kind:
                  type: string
                  enum:
                    - page
                canonicalUrl:
                  type: string
                  maxLength: 2048
              required:
                - kind
                - canonicalUrl
        enabled:
          type: boolean
      required:
        - target
        - enabled
    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.