curl --request POST \
--url https://sitegpt.ai/api/v1/chatbots/{chatbotId}/links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"sourceType": "URLS_LIST",
"config": {
"urls": [
"https://sitegpt.ai",
"https://sitegpt.ai/pricing",
"https://sitegpt.ai/docs"
]
}
}
'
{
"success": true,
"message": "Added links to the chatbot successfully",
"data": {
"ingestJobId": "job_abc123",
"documentsQueued": 5
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "REQUEST_VALIDATION_FAILED",
"message": "Request body is not valid",
"details": [
{
"path": [
"config",
"recursionDepth"
],
"message": "Number must be greater than or equal to 1"
}
]
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "API_KEY_NOT_VALID",
"message": "Authorization header does not contain valid API key"
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_ADD_LINKS_FORBIDDEN",
"message": "You are not authorized to add links to this chatbot"
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_OWNER_NOT_FOUND",
"message": "Chatbot owner does not exist for the chatbot"
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_LINKS_LIMIT_REACHED",
"message": "You have reached your pages quota limit (500 pages). Current usage: 500 pages."
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_ADD_LINKS_FAILED",
"message": "Some technical error has occurred !!"
}
}Content & Training
Add Content to Chatbot
Unified endpoint to add content to a chatbot. Supports multiple source types:
- URLS_LIST: Add a list of URLs directly
- WEBSITE: Crawl a website with configurable depth and filters
- SITEMAP: Extract URLs from an XML sitemap
- YOUTUBE: Add YouTube video or channel transcripts
This endpoint provides full control over crawling behavior, scraping options, and auto-sync configuration.
POST
/
v1
/
chatbots
/
{chatbotId}
/
links
curl --request POST \
--url https://sitegpt.ai/api/v1/chatbots/{chatbotId}/links \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"sourceType": "URLS_LIST",
"config": {
"urls": [
"https://sitegpt.ai",
"https://sitegpt.ai/pricing",
"https://sitegpt.ai/docs"
]
}
}
'
{
"success": true,
"message": "Added links to the chatbot successfully",
"data": {
"ingestJobId": "job_abc123",
"documentsQueued": 5
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "REQUEST_VALIDATION_FAILED",
"message": "Request body is not valid",
"details": [
{
"path": [
"config",
"recursionDepth"
],
"message": "Number must be greater than or equal to 1"
}
]
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "API_KEY_NOT_VALID",
"message": "Authorization header does not contain valid API key"
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_ADD_LINKS_FORBIDDEN",
"message": "You are not authorized to add links to this chatbot"
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_OWNER_NOT_FOUND",
"message": "Chatbot owner does not exist for the chatbot"
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_LINKS_LIMIT_REACHED",
"message": "You have reached your pages quota limit (500 pages). Current usage: 500 pages."
}
}{
"success": false,
"message": "Failed to add links to the chatbot",
"data": null,
"error": {
"code": "CHATBOT_ADD_LINKS_FAILED",
"message": "Some technical error has occurred !!"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Id of the chatbot
Body
application/json
Request body with source type and configuration
- Option 1
- Option 2
- Option 3
- Option 4
Add URLs from a list
Available options:
URLS_LIST Show child attributes
Show child attributes
Options for web scraping
Show child attributes
Show child attributes
Frequency for automatic content re-sync (requires feature flag)
Available options:
NEVER, DAILY, WEEKLY, MONTHLY Was this page helpful?