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

# Retrieve a knowledge source

> Requires `knowledge:read`. 



## OpenAPI

````yaml /openapi.json get /knowledge/sources/{sourceId}
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/sources/{sourceId}:
    get:
      tags:
        - Knowledge
      summary: Retrieve a knowledge source
      description: 'Requires `knowledge:read`. '
      operationId: m2mGetKnowledgeSourcesSourceid
      parameters:
        - name: sourceId
          in: path
          required: true
          schema:
            type: string
        - name: includeInactive
          in: query
          schema:
            type: boolean
          description: ''
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeSource'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    KnowledgeSource:
      type: object
      properties:
        sourceId:
          type: string
        sourceType:
          type: string
          enum:
            - text
            - file
            - url
        title:
          type: string
        active:
          type: boolean
        updatedAt:
          type: string
          format: date-time
        text:
          type: string
        url:
          type: string
        chunkCount:
          type: integer
        activeTokens:
          type: integer
        scope:
          type: string
          enum:
            - global
            - property
        propertyId:
          type: string
        propertyName:
          type: string
        preview:
          type: string
        originalFile:
          type: object
          properties:
            filename:
              type: string
            contentType:
              type: string
            size:
              type: integer
            uploadedAt:
              type: string
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: M2M_AUTH_INSUFFICIENT_SCOPE
            message:
              type: string
            details:
              type: object
              additionalProperties: true
      example:
        error:
          code: M2M_AUTH_INSUFFICIENT_SCOPE
          message: M2M credential does not have required scope.
          details:
            requiredScopes:
              - conversations:write
            missingScopes:
              - conversations:write
  responses:
    Error:
      description: Structured error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````