Apps
App 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
get Apps API success response
GET /webapi/apps HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
get Apps API success response
{
"result": [
{
"id": "text",
"name": "text",
"type": "single_action",
"description": "text",
"category": "text",
"app_from": "text",
"app_url": "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
create App API success response
POST /webapi/apps HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 472
{
"user_id": "text",
"type": "single_action",
"name": "text",
"description": "text",
"category": "text",
"published": true,
"enabled": true,
"single_action_app_input": {
"name": "text",
"description": "text",
"llm_model": "text",
"selected_llm_processing_method": "stuff",
"selected_map_reduce_input_variable_name": "text",
"inputs": [
{
"name": "text",
"value": "text",
"placeholder": "text",
"input_type": "text",
"options": [
{
"name": "text",
"value": "text"
}
]
}
],
"messages": [
{
"role": "system",
"content": "text"
}
]
}
}
create App API success response
{
"result": {
"id": "text"
}
}
This API executes a skill and returns the final text answer as JSON format. This API can be used for entity extraction if the skill is designed for that purpose.
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
This is a skill id. If you click a skill in the Alli Dashboard, the URL is something like https://app.alli.ai/projects/PROJECT_ID/campaigns/SKILL_ID. Please put SKILL_ID here.
This is an input text for the skill execution.
Variables is a JSON object to set the variables in the skill. To learn more about variables in Alli, please see the user guide.
Skill executed successfully
Bad request
Unauthorized
POST /webapi/skill HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42
{
"id": "text",
"text": "text",
"variables": {}
}
{
"result": "text",
"errors": [
"text"
]
}
Generative Answer API finds an answer from your unstructured text documents, Q&A, and even from complex tables. It synthesizes information from various sources to provide comprehensive responses to user queries.
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
This is a query string.
Utilize the LLM of your choice when generating answers. Default model is GPT4o. Please see documentation for available options.
Determine the format of the response given for easier integrations. Acceptable values are DRAFTJS and MARKDOWN. Default format is DRAFTJS.
To use follow-up question, previous conversation history is required. The conversation history is managed by threadId. If you set isStateful option to True and enter a threadId, the query will be rewritten with reference to the previous conversation history. Default = False.
threadId is used when isStateful = True. The first time you start a conversation, send it empty, and from the next query on, send it using the threadId from the output. However, if you want to set the threadId from the beginning, write it as a UUID and send it. Example UUID - 36e7bb2b-1063-47ec-. Default = None.
Select which group prompt from your project to use for generating responses. The ID is located within the URL when viewing the group prompt within the Settings page. This is a very helpful option for a project with multiple different group prompts that are altered for specific tasks.
Whether to output data as stream or sync. Current available values: sync OR stream (default=sync). When in stream mode, .json strings with the same output format as sync are outputted as streaming.
Whether to include the text of the document used as a clue. Default = False. ONLY works if clues is enabled.
Whether to include clues in the output that will be used to create a generative answer. Default = False.
Specifies the range of source data for Generative Answer to find data from. Currently available values are: web, qna, document, and enter data in the form of a list. For example -> ["web", "qna"]
Controls the randomness of the output. Higher values make the output more random. Default = 0.
Limits the search to specific knowledge base IDs.
Limits the search to specific folder IDs.
Successfully generated answer
Bad request
Unauthorized
Rate limit exceeded
POST /webapi/generative_answer HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 476
{
"query": "text",
"model": "text",
"answerFormat": "text",
"isStateful": true,
"threadId": "123e4567-e89b-12d3-a456-426614174000",
"promptGroupId": "text",
"mode": "text",
"clueText": true,
"clues": true,
"hashtags": {
"qnaInclude": [
"text"
],
"qnaIncludeOption": "or",
"qnaExclude": [
"text"
],
"qnaExcludeOption": "or",
"docsInclude": [
"text"
],
"docsIncludeOption": "or",
"docsExclude": [
"text"
],
"docsExcludeOption": "or"
},
"search_from": [
"text"
],
"temperature": 1,
"knowledgeBaseIds": [
"text"
],
"folderIds": [
"text"
]
}
{
"answer": {},
"answerHash": "text",
"confidence": 1,
"effectiveConfidence": 1,
"documentId": "text",
"documentName": "text",
"hashtags": [],
"pageNo": 1,
"createdDate": "2025-08-14",
"agentFeedback": {},
"userFeedback": {},
"body": "text",
"css": "text",
"pdfPreview": "text",
"folder": "text",
"editor": [
"text"
],
"viewer": [
"text"
],
"threadId": "text",
"fuQuestion": "text",
"intent": "text",
"clues": []
}
Start a conversation using a Skill. Note: this endpoint is currently only compatible with Message Node, Q&A Node, and Documents Node.
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
Used to match which Skill to start the conversation with.
Successfully started conversation
POST /webapi/start_conversation HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20
{
"placement": "text"
}
Successfully started conversation
{
"result": {
"conversation": {
"id": "text",
"project": {
"nluLanguage": "text"
},
"chats": {
"edges": [
{
"node": {
"id": "text",
"message": "text",
"createdAt": 1,
"chatOptionInfos": [
{
"shortenOption": "text",
"longOption": "text",
"style": {
"bgColor": "text",
"bold": true,
"fontColor": "text",
"italic": true,
"lineColor": "text",
"underline": true
},
"meta": "text"
}
],
"isDeleted": true
}
}
]
}
}
},
"errors": {}
}
End a conversation from the agent side.
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.
The conversation ID to end
Conversation ended successfully
POST /webapi/end_conversation_by_agent HTTP/1.1
Host: backend.alli.ai
API-KEY: text
Content-Type: application/json
Accept: */*
Content-Length: 13
{
"id": "text"
}
Conversation ended successfully
{
"result": {
"conversation": {
"id": "text",
"completedTime": 1,
"state": "text",
"__typename": "text"
},
"__typename": "text"
},
"errors": {}
}
Send a message as the user for an existing conversation. Note: this endpoint is currently only compatible with Message Node, Q&A Node, and Documents Node.
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 message to send in the conversation. Cannot be null or an empty string.
Unique id for the conversation you want to send a message in.
Successfully sent chat
POST /webapi/send_chat HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42
{
"message": "text",
"conversationId": "text"
}
Successfully sent chat
{
"result": {
"responses": [
{
"id": "text",
"message": "text",
"createdAt": 1,
"chatOptionInfos": [
{
"shortenOption": "text",
"longOption": "text",
"style": {
"bgColor": "text",
"bold": true,
"fontColor": "text",
"italic": true,
"lineColor": "text",
"underline": true
},
"meta": "text"
}
],
"isDeleted": true
}
],
"state": "text"
},
"errors": {}
}
Was this helpful?