---
title: "Retrieve a knowledge source"
method: GET
path: "/knowledge/sources/{sourceId}"
tags: ["Knowledge"]
---

# Retrieve a knowledge source

`GET /knowledge/sources/{sourceId}`

## Request

- Base URL: `https://platform-api.visitoai.com/m2m/v1`
- URL: `https://platform-api.visitoai.com/m2m/v1/knowledge/sources/{sourceId}`
- Auth: HTTP bearer

Read current indexed/extracted text and source metadata using sourceId from list_knowledge_sources, website pages, or saved RAG receipts. includeInactive=true is needed for inactive knowledge and diagnosis; inactive or asset-only sources are not eligible answer knowledge. Text is current, not a historical version. Asset-only files can have empty text; use get_knowledge_original_file for original bytes. For why an old answer occurred, first use get_conversation_answer_trace and disclose linkage/capture gaps. Required permission: knowledge:read.

## Path parameters

- `sourceId` string, required

## Query parameters

- `includeInactive` boolean

## Response `200`

Success

- KnowledgeSource
  - `sourceId` string, required
  - `sourceType` 'text' | 'file' | 'url', required
  - `title` string
  - `active` boolean, required
  - `updatedAt` string, date-time
  - `text` string
  - `url` string
  - `chunkCount` integer, required
  - `activeTokens` integer
  - `scope` 'global' | 'property'
  - `propertyId` string
  - `propertyName` string
  - `preview` string
  - `originalFile` object
    - `filename` string
    - `contentType` string
    - `size` integer
    - `uploadedAt` string
  - `asset` KnowledgeAsset
    - `sourceId` string, required
    - `title` string, required
    - `description` string
    - `mediaType` 'image' | 'document'
    - `contentType` string, required
    - `filename` string, required
    - `sizeBytes` integer, required
    - `active` boolean, required
    - `validationStatus` 'unsupported' | 'pending' | 'ready' | 'blocked' | 'failed', required
    - `validationFindings` string[], required
    - `propertyId` string
    - `propertyName` string
    - `folderId` string
  - `createdAt` string
  - `createdBy` object
    - `id` string
    - `displayName` string
    - `email` string
  - `websiteId` string
  - `websiteGenerationId` string
  - `canonicalUrl` string
  - `websiteGenerationState` 'staging' | 'current' | 'superseded'

## Other responses

- `default`: Structured error

---

[API](https://skmtc.dev/visitoai/apis/visito-m2m-api.md) - [All operations](https://skmtc.dev/visitoai/apis/visito-m2m-api/llms.txt) - [OpenAPI document](https://skmtc.dev/visitoai/apis/visito-m2m-api/revisions/98377d35c234?raw)
