Skip to main content
POST
/
v1
/
knowledge-bases
/
{knowledgeBaseId}
/
sources
curl https://api.telzino.com/v1/knowledge-bases/11111111-1111-1111-1111-111111111111/sources \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
  "data": [
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "knowledge_base_id": "11111111-1111-1111-1111-111111111111",
      "organization_id": "987fcdeb-51a2-3bc4-d567-890123456789",
      "name": "https://example.com/docs",
      "source_type": "url",
      "status": "active",
      "url": "https://example.com/docs",
      "chunk_count": 12,
      "last_synced_at": "2026-06-17T12:30:00Z",
      "created_at": "2026-06-17T12:00:00Z"
    }
  ]
}

Path Parameters

knowledgeBaseId
string
required
Knowledge base ID (UUID).

List Sources

curl https://api.telzino.com/v1/knowledge-bases/11111111-1111-1111-1111-111111111111/sources \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
  "data": [
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "knowledge_base_id": "11111111-1111-1111-1111-111111111111",
      "organization_id": "987fcdeb-51a2-3bc4-d567-890123456789",
      "name": "https://example.com/docs",
      "source_type": "url",
      "status": "active",
      "url": "https://example.com/docs",
      "chunk_count": 12,
      "last_synced_at": "2026-06-17T12:30:00Z",
      "created_at": "2026-06-17T12:00:00Z"
    }
  ]
}

Add a URL Source

sourceType
string
required
Must be url.
url
string
required
URL to crawl and ingest.
forceReingest
boolean
If the URL already exists, re-ingest the existing source instead of returning a duplicate error.
curl -X POST https://api.telzino.com/v1/knowledge-bases/11111111-1111-1111-1111-111111111111/sources \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceType": "url",
    "url": "https://example.com/docs"
  }'
{
  "data": {
    "sourceId": "22222222-2222-2222-2222-222222222222",
    "jobId": "33333333-3333-3333-3333-333333333333"
  }
}

Add a File Source

File ingestion uses a two-step upload, then an enqueue call:
  1. Create a file source to get presignedUrl, sourceId, and jobId.
  2. Upload the file bytes to presignedUrl with PUT.
  3. Call Enqueue File Source.
sourceType
string
required
Must be file.
fileName
string
required
Original file name.
fileMime
string
required
MIME type. Supported: application/pdf, DOCX, TXT, HTML, CSV, and Markdown MIME types.
fileSize
number
required
File size in bytes. Maximum 50 MB.
contentHash
string
Optional client-computed hash used for duplicate detection.
forceReingest
boolean
Skip duplicate blocking for the submitted file hash.
curl -X POST https://api.telzino.com/v1/knowledge-bases/11111111-1111-1111-1111-111111111111/sources \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceType": "file",
    "fileName": "guide.pdf",
    "fileMime": "application/pdf",
    "fileSize": 1048576,
    "contentHash": "9a0364b9e99bb480dd25e1f0284c8555"
  }'
{
  "data": {
    "presignedUrl": "https://s3.amazonaws.com/...",
    "fileKey": "rag/org/kb/source/original.pdf",
    "sourceId": "22222222-2222-2222-2222-222222222222",
    "jobId": "33333333-3333-3333-3333-333333333333"
  }
}