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"
}
]
}
Knowledge Bases
Knowledge Base Sources
List sources or add URL/file sources to a knowledge base
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
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
string
required
Must be
url.string
required
URL to crawl and ingest.
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:- Create a file source to get
presignedUrl,sourceId, andjobId. - Upload the file bytes to
presignedUrlwithPUT. - Call Enqueue File Source.
string
required
Must be
file.string
required
Original file name.
string
required
MIME type. Supported:
application/pdf, DOCX, TXT, HTML, CSV, and Markdown MIME types.number
required
File size in bytes. Maximum 50 MB.
string
Optional client-computed hash used for duplicate detection.
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"
}'
curl -X PUT "PRESIGNED_URL_FROM_RESPONSE" \
-H "Content-Type: application/pdf" \
--data-binary "@guide.pdf"
{
"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"
}
}
{
"error": "duplicate_source",
"error_description": "This file already exists in the knowledge base",
"details": {
"existingSource": {
"id": "22222222-2222-2222-2222-222222222222",
"name": "guide.pdf",
"status": "active"
}
}
}
