Apps

App related APIs

get
Authorizations
Query parameters
publishedstringOptional
idstring[]Optional
localestringOptional
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Responses
200

get Apps API success response

application/json
get
GET /webapi/apps HTTP/1.1
Host: backend.alli.ai
API-KEY: YOUR_API_KEY
Accept: */*
200

get Apps API success response

{
  "result": [
    {
      "id": "text",
      "name": "text",
      "type": "single_action",
      "description": "text",
      "category": "text",
      "app_from": "text",
      "app_url": "text"
    }
  ]
}
post
Authorizations
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
user_idstringOptional
typestring · enumRequiredPossible values:
namestringRequired
descriptionstringRequired
categorystringRequired
publishedbooleanRequired
enabledbooleanRequired
Responses
200

create App API success response

application/json
post
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"
      }
    ]
  }
}
200

create App API success response

{
  "result": {
    "id": "text"
  }
}

Executing a Skill

post

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.

Authorizations
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
idstringRequired

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.

textstringRequired

This is an input text for the skill execution.

variablesobjectOptional

Variables is a JSON object to set the variables in the skill. To learn more about variables in Alli, please see the user guide.

Responses
200

Skill executed successfully

application/json
post
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

post

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.

Authorizations
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
querystringOptional

This is a query string.

modelstringOptional

Utilize the LLM of your choice when generating answers. Default model is GPT4o. Please see documentation for available options.

answerFormatstringOptional

Determine the format of the response given for easier integrations. Acceptable values are DRAFTJS and MARKDOWN. Default format is DRAFTJS.

isStatefulbooleanOptional

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.

threadIdstring · uuidOptional

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.

promptGroupIdstringOptional

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.

modestringOptional

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.

clueTextbooleanOptional

Whether to include the text of the document used as a clue. Default = False. ONLY works if clues is enabled.

cluesbooleanOptional

Whether to include clues in the output that will be used to create a generative answer. Default = False.

search_fromstring[]Optional

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"]

temperaturenumberOptional

Controls the randomness of the output. Higher values make the output more random. Default = 0.

knowledgeBaseIdsstring[]Optional

Limits the search to specific knowledge base IDs.

folderIdsstring[]Optional

Limits the search to specific folder IDs.

Responses
200

Successfully generated answer

application/json
post
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 Conversation

post

Start a conversation using a Skill. Note: this endpoint is currently only compatible with Message Node, Q&A Node, and Documents Node.

Authorizations
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
placementstringOptional

Used to match which Skill to start the conversation with.

Responses
200

Successfully started conversation

application/json
post
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"
}
200

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 Conversation by Agent

post

End a conversation from the agent side.

Authorizations
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

API-KEYstringRequired

Your API key can be found in your dashboard Settings menu, under the General tab.

Body
idstringRequired

The conversation ID to end

Responses
200

Conversation ended successfully

application/json
post
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"
}
200

Conversation ended successfully

{
  "result": {
    "conversation": {
      "id": "text",
      "completedTime": 1,
      "state": "text",
      "__typename": "text"
    },
    "__typename": "text"
  },
  "errors": {}
}

Send Chat

post

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.

Authorizations
Header parameters
AGENT-EMAILstringOptional

Optional: Email of the agent to use for this request

USER-EMAILstringOptional

Optional: Email address to associate with the user

OWN-USER-IDstringOptional

Optional: User ID to identify or create a user

Body
messagestringRequired

The message to send in the conversation. Cannot be null or an empty string.

conversationIdstringRequired

Unique id for the conversation you want to send a message in.

Responses
200

Successfully sent chat

application/json
post
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"
}
200

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?