curl https://zeplo.ai/api/training/1/sources \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
{
"success": true,
"data": [
{
"id": 1,
"siteId": 1,
"type": "url",
"source": "https://example.com/faq",
"status": "processed",
"chunksCount": 15,
"createdAt": "2026-01-01T08:00:00Z"
}
]
}
Knowledge Base & Training
GET Training Sources
Manage AI training data sources.
GET
/
api
/
training
/
:siteId
/
sources
curl https://zeplo.ai/api/training/1/sources \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
{
"success": true,
"data": [
{
"id": 1,
"siteId": 1,
"type": "url",
"source": "https://example.com/faq",
"status": "processed",
"chunksCount": 15,
"createdAt": "2026-01-01T08:00:00Z"
}
]
}
Get training sources
GET /api/training/:siteId/sources
Manage training data sources for the AI chatbot.
Headers
string
required
Session cookie (login via POST /api/auth/login)
integer
required
Site ID.
curl https://zeplo.ai/api/training/1/sources \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
{
"success": true,
"data": [
{
"id": 1,
"siteId": 1,
"type": "url",
"source": "https://example.com/faq",
"status": "processed",
"chunksCount": 15,
"createdAt": "2026-01-01T08:00:00Z"
}
]
}
Add URL source
POST /api/training/:siteId/url
integer
required
Site ID.
Body parameters
string
required
URL to crawl.
boolean
Whether to crawl linked pages.
integer
Maximum number of pages to crawl.
{
"url": "https://example.com/faq",
"crawlPages": true,
"maxPages": 10
}
curl -X POST https://zeplo.ai/api/training/1/url \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/faq",
"crawlPages": true,
"maxPages": 10
}'
Upload document
POST /api/training/:siteId/document
integer
required
Site ID.
multipart/form-data. Supported formats: PDF, TXT, DOCX.
curl -X POST https://zeplo.ai/api/training/1/document \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-F "file=@faq.pdf"
Add text source
POST /api/training/:siteId/text
integer
required
Site ID.
Body parameters
string
required
Title of the text content.
string
required
Text content.
{
"title": "Return Policy",
"content": "Our return policy allows returns within 30 days..."
}
curl -X POST https://zeplo.ai/api/training/1/text \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-H "Content-Type: application/json" \
-d '{
"title": "Return Policy",
"content": "Our return policy allows returns within 30 days..."
}'
Sync knowledge base
POST /api/training/:siteId/kb-sync
curl -X POST https://zeplo.ai/api/training/1/kb-sync \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
Delete training source
DELETE /api/training/source/:sourceId
integer
required
Source ID.
curl -X DELETE https://zeplo.ai/api/training/source/1 \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
Reprocess source
POST /api/training/source/:sourceId/reprocess
integer
required
Source ID.
curl -X POST https://zeplo.ai/api/training/source/1/reprocess \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
Get training stats
GET /api/training/:siteId/stats
integer
required
Site ID.
curl https://zeplo.ai/api/training/1/stats \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
{
"success": true,
"data": {
"totalSources": 5,
"totalChunks": 120,
"totalQaPairs": 30,
"processingStatus": "completed"
}
}
Preview training data
GET /api/training/:siteId/preview
integer
required
Site ID.
curl https://zeplo.ai/api/training/1/preview \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw"
Test chat
POST /api/training/:siteId/test-chat
integer
required
Site ID.
Body parameters
string
required
Chat message to test.
{
"message": "What is your return policy?"
}
curl -X POST https://zeplo.ai/api/training/1/test-chat \
-H "Cookie: connect.sid=s%3A7HImZ-T2BxWSbUsf9dtWdOlBW4rVuORO.5J0Do0NyvBu%2BkTvu1aHvtNs00BKhkpUKTwiokLS0cpw" \
-H "Content-Type: application/json" \
-d '{
"message": "What is your return policy?"
}'
{
"success": true,
"data": {
"answer": "Our return policy allows returns within 30 days of purchase...",
"confidence": 0.92,
"sources": [
{ "type": "text", "title": "Return Policy" }
]
}
}
