Knowledge_bases
Knowledge base related APIs
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
The left knowledge base ID
The right knowledge base ID
OK
POST /webapi/v2/knowledge_base_diff HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 34
{
"leftId": "text",
"rightId": "text"
}
OK
{
"result": [
{
"left": {
"status": "text",
"page": 1,
"line": 1,
"text": "text",
"highlight": "text"
},
"right": {
"status": "text",
"page": 1,
"line": 1,
"text": "text",
"highlight": "text"
},
"row": 1,
"comment": "text"
}
]
}
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Name of the document to download
Document file downloaded successfully
Multiple documents found
Unauthorized
Forbidden
Document not found
Internal server error
GET /download_document_by_name/{project_id} HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19
{
"filename": "text"
}
binary
This is the method to get all details of a single document.
The id of the document.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Successfully retrieved document details
GET /webapi/single_document HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
Successfully retrieved document details
{
"result": {
"id": "text",
"documentName": "text",
"createdDate": "2025-08-14",
"hashtags": [
"text"
],
"agentFeedback": {
"positiveCount": 1,
"negativeCount": 1
},
"userFeedback": {
"positiveCount": 1,
"negativeCount": 1
}
}
}
This API method allows you to upload documents for Cognitive Search. Available file formats for the upload: PDF, TXT, MS Word, PowerPoint, Excel, HTM and HTML. To upload a HTML file with linked resources, please compress in a ZIP file along with any relative linked resources before uploading.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Your local file location
Hashtags for the uploading file
You can type in the source of the answer as a footer for search results from the uploaded file. The footer text will appear next to 'From' in search results.
You can put the URL you want to link to the footerTitle.
Target folder ID to upload to. Null to insert at top level.
Whether to allow other agents to view this document
Whether to allow other users to view this document
File uploaded successfully
Invalid request or file format
File size exceeds limit
POST /webapi/upload_file HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: multipart/form-data
Accept: */*
Content-Length: 156
{
"file": "binary",
"hashtags": [
"text"
],
"footerTitle": "text",
"footerUrl": "text",
"parentFolderId": "text",
"allowOtherAgentsView": true,
"allowOtherUsersView": true
}
{
"result": {
"id": "text",
"file_name": "text",
"hashtags": [
"text"
],
"footer": "text"
}
}
This API lets you transfer documents stored in S3 into Cognitive Search. They will appear as Knowledge Base documents in the dashboard. Available file formats are same in the section of Upload Documents.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
S3 path of the file. It should end with the file name. Don't include the bucket name
Your S3 Secret Key.
Your S3 Access Key.
Name of S3 bucket containing your file.
You can type in the source of the answer as a footer for search results from the uploaded file. The footer text will appear next to 'From' in search results.
You can put the URL you want to link to the footerTitle.
Hashtags for the document.
Target folder ID to upload to. Null to insert at top level.
File uploaded successfully from S3
Invalid request parameters
File not found in S3
POST /webapi/upload_from_s3 HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 153
{
"path": "text",
"secretKey": "text",
"accessKey": "text",
"bucket": "text",
"footerTitle": "text",
"footerUrl": "text",
"hashtags": [
"text"
],
"parentFolderId": "text"
}
{
"result": {
"id": "text",
"file_name": "text",
"hashtags": [
"text"
],
"footer": "text"
}
}
Once you upload documents through API, it is converted, parsed, and embedded as vectors. This API shows the status of the process for a document being uploaded.
The document id to check the status
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
File status retrieved successfully
Invalid task ID or file not found
GET /webapi/check_file_status HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
{
"result": {
"id": "text",
"status": "text",
"errorName": "text"
}
}
This API lets you update the name for an uploaded document.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
The document ID that you want to rename.
The new name for the specified document.
Knowledge base name updated successfully
Invalid parameters
POST /webapi/update_kb_name HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 31
{
"id": "text",
"filename": "text"
}
{
"result": {
"id": "text",
"filename": "text"
}
}
This API allows you to search for documents by their titles, not their content.
The search term for document titles.
Comma-separated list of hashtags to filter documents by.
Complex hashtag filtering using semicolons to separate groups and commas to separate tags within a group (e.g., "a,b;c,d").
Comma-separated list of hashtags to exclude documents by.
Set to 'true' to use vector search for semantic matching, or 'false' for text-based search.
The property field to sort results by.
The direction to sort results in (ascending or descending).
Number of results to skip for pagination.
Maximum number of results to return.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Successfully searched documents by title
GET /webapi/search_document_by_title HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
Successfully searched documents by title
{
"result": [
{
"id": "text",
"file_name": "text",
"page_count": 1,
"download_url": "text",
"hashtags": [
"text"
],
"score": 1,
"folder": "text",
"agentEditor": [
"text"
],
"agentViewer": [
"text"
]
}
]
}
This API lets you delete uploaded files.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
The document IDs that you want to delete in the array format
Files deleted successfully
POST /webapi/delete_file HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"ids": [
"text"
]
}
Files deleted successfully
{
"result": {
"ok": true
},
"errors": {}
}
This API lets you list out the uploaded documents.
Either AND or OR, logical operator used to match multiple hashtags. Defaults to OR.
OR
Possible values: The on/off status of the document to filter the list.
Keyword search query to filter the list. You can use operators to run advanced searches. "TERM1 TERM2" for AND, "TERM1 OR TERM2" for OR, and "TERM\ for exact match.
Hashtag information to filter the list.
The order type of the list. FILE_NAME_ASC/DESC for file name, TYPE_ASC/DESC for file type, STATUS_ASC/DESC for on/off status, CREATED_AT_ASC/DESC for upload date.
offset allows you to specify the ranking number of the first item on the page.
limit allows you to set the number of objects returned on one page. The maximum value is 100.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Successfully retrieved list of documents
GET /webapi/knowledge_bases HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
Successfully retrieved list of documents
{
"result": {
"items": [
{
"id": "text",
"fileName": "text",
"hashtags": [
"text"
],
"autoHashtags": [
{}
],
"folder": "text",
"agentEditor": [
"text"
],
"agentViewer": [
"text"
],
"userViewer": {
"variables": {}
},
"allowOtherAgentsView": true,
"allowOtherUsersView": true
}
]
},
"errors": {}
}
This API lets you preview the uploaded documents.
The document ID that you want to preview
Pages of the document you want to preview
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Your API key can be found in your dashboard Settings menu, under the General tab.
Successfully retrieved document preview
GET /webapi/knowledge_base_preview HTTP/1.1
Host: backend.alli.ai
API-KEY: text
Accept: */*
Successfully retrieved document preview
{
"result": {
"totalPageCount": 1,
"pageNo": 1,
"css": "text",
"body": "text",
"highlightIndexes": [
1
],
"exactAnswer": "text",
"pdf": "text",
"draftjs": "text",
"highlights": {
"indexes": [
1
],
"pageIndexes": [
1
],
"__typename": "text"
},
"knowledgeBase": {
"id": "text",
"title": "text",
"__typename": "text"
},
"__typename": "text"
},
"errors": {}
}
This API lets you update hashtags, footer title, and footer title link for a document.
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
The id of the document you want to update
You can type in the source of the answer as a footer for search results from the uploaded file. The footer text will appear next to 'From' in search results.
You can put the URL you want to link to the footerTitle.
List of string hashtags you want to add to the document
Document updated successfully
POST /webapi/update_document HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 73
{
"id": "text",
"footerTitle": "text",
"footerUrl": "text",
"hashtags": [
"text"
]
}
Document updated successfully
{
"result": {
"knowledgeBase": {
"id": "text",
"hashtags": [
"text"
],
"footer": "text"
}
},
"errors": {}
}
This API lets you change the status of many documents (AKA knowledge bases) at once
Optional: Email of the agent to use for this request
Optional: Email address to associate with the user
Optional: User ID to identify or create a user
Whether to turn all the status of all the knowledge bases to on (True) or off (False)
This is a list of the ids of the knowledge bases that you want to toggle.
Knowledge base statuses toggled successfully
POST /webapi/toggle_documents HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 27
{
"use": true,
"ids": [
"text"
]
}
Knowledge base statuses toggled successfully
{
"result": {
"knowledgeBases": [
{
"id": "text",
"status": true
}
]
},
"errors": {}
}
Was this helpful?