curl -X POST "https://backend.botcadence.com/organizations/ORG_ID/projects/PROJECT_ID/sources/files" \
-H "X-API-Key: bot_live_YOUR_KEY" \
-F "files=@./faq.pdf" \
-F "files=@./pricing.docx"
const form = new FormData();
form.append("files", file1, "faq.pdf");
form.append("files", file2, "pricing.docx");
const response = await fetch(
`https://backend.botcadence.com/organizations/${organizationId}/projects/${projectId}/sources/files`,
{
method: "POST",
headers: { "X-API-Key": process.env.BOTCADENCE_API_KEY },
body: form,
}
);
import os
import requests
with open("faq.pdf", "rb") as f1, open("pricing.docx", "rb") as f2:
response = requests.post(
f"https://backend.botcadence.com/organizations/{organization_id}/projects/{project_id}/sources/files",
headers={"X-API-Key": os.environ["BOTCADENCE_API_KEY"]},
files=[
("files", ("faq.pdf", f1, "application/pdf")),
("files", ("pricing.docx", f2)),
],
)
{
"status": "success",
"message": "Files uploaded successfully",
"data": null,
"status_code": 201
}
Sources
Upload files
Upload knowledge-base files to a project
POST
/
organizations
/
{organization_id}
/
projects
/
{project_id}
/
sources
/
files
curl -X POST "https://backend.botcadence.com/organizations/ORG_ID/projects/PROJECT_ID/sources/files" \
-H "X-API-Key: bot_live_YOUR_KEY" \
-F "files=@./faq.pdf" \
-F "files=@./pricing.docx"
const form = new FormData();
form.append("files", file1, "faq.pdf");
form.append("files", file2, "pricing.docx");
const response = await fetch(
`https://backend.botcadence.com/organizations/${organizationId}/projects/${projectId}/sources/files`,
{
method: "POST",
headers: { "X-API-Key": process.env.BOTCADENCE_API_KEY },
body: form,
}
);
import os
import requests
with open("faq.pdf", "rb") as f1, open("pricing.docx", "rb") as f2:
response = requests.post(
f"https://backend.botcadence.com/organizations/{organization_id}/projects/{project_id}/sources/files",
headers={"X-API-Key": os.environ["BOTCADENCE_API_KEY"]},
files=[
("files", ("faq.pdf", f1, "application/pdf")),
("files", ("pricing.docx", f2)),
],
)
{
"status": "success",
"message": "Files uploaded successfully",
"data": null,
"status_code": 201
}
Uploads one or more files as knowledge-base sources. Returns
201 Created.
This endpoint expects multipart/form-data with one or more files parts.
Authentication
string
required
Project API key for this organization and project. Format:
bot_live_…Path parameters
string
required
Organization ID. Must match the API key.
string
required
Project ID. Must match the API key.
Body (multipart)
file
required
One or more files to upload. Repeat the
files field for multiple uploads.Response
Success message confirming indexing was started.data is typically null.
Errors
Unauthorized
Missing, invalid, or revoked API key.
Forbidden
API key is not authorized for this organization or project, or upload quota exceeded.
curl -X POST "https://backend.botcadence.com/organizations/ORG_ID/projects/PROJECT_ID/sources/files" \
-H "X-API-Key: bot_live_YOUR_KEY" \
-F "files=@./faq.pdf" \
-F "files=@./pricing.docx"
const form = new FormData();
form.append("files", file1, "faq.pdf");
form.append("files", file2, "pricing.docx");
const response = await fetch(
`https://backend.botcadence.com/organizations/${organizationId}/projects/${projectId}/sources/files`,
{
method: "POST",
headers: { "X-API-Key": process.env.BOTCADENCE_API_KEY },
body: form,
}
);
import os
import requests
with open("faq.pdf", "rb") as f1, open("pricing.docx", "rb") as f2:
response = requests.post(
f"https://backend.botcadence.com/organizations/{organization_id}/projects/{project_id}/sources/files",
headers={"X-API-Key": os.environ["BOTCADENCE_API_KEY"]},
files=[
("files", ("faq.pdf", f1, "application/pdf")),
("files", ("pricing.docx", f2)),
],
)
{
"status": "success",
"message": "Files uploaded successfully",
"data": null,
"status_code": 201
}

