# Apps

App related APIs

## Get List Apps

> Get a list of apps. The apps are sorted by weight in descending order by default.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}},"schemas":{"AppsResponse":{"description":"Response for listing apps.","properties":{"apps":{"description":"List of apps","items":{"$ref":"#/components/schemas/App"},"title":"Apps","type":"array"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for pagination","title":"Cursor"}},"required":["apps"],"title":"AppsResponse","type":"object"},"App":{"description":"App information.","properties":{"id":{"description":"Unique ID of the app","title":"Id","type":"string"},"name":{"description":"Name of the app","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Description of the app","title":"Description"},"type":{"description":"Type of the app","title":"Type","type":"string"},"category":{"description":"Category of the app","title":"Category","type":"string"},"published":{"description":"Whether the app is published","title":"Published","type":"boolean"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"}},"required":["id","name","type","category","published","agentPermission","userPermission"],"title":"App","type":"object"},"AgentPermissionResponse":{"description":"Response model for agent permission.","properties":{"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"title":"Accessagents"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroupResponse"},"type":"array"},{"type":"null"}],"title":"Accesspermissiongroups"},"viewAccessToAgent":{"title":"Viewaccesstoagent","type":"boolean"}},"required":["viewAccessToAgent"],"title":"AgentPermissionResponse","type":"object"},"AccessAgent":{"properties":{"agentId":{"description":"The agent ID of the access agent","title":"Agentid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type of the access agent"}},"required":["agentId","accessType"],"title":"AccessAgent","type":"object"},"ObjectAccessType":{"enum":["order_1_editor","order_2_reader"],"title":"ObjectAccessType","type":"string"},"AccessPermissionGroupResponse":{"description":"Response model for access permission group with name included.","properties":{"permissionGroupId":{"description":"The permission group ID","title":"Permissiongroupid","type":"string"},"permissionGroupName":{"description":"The permission group name","title":"Permissiongroupname","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type"}},"required":["permissionGroupId","permissionGroupName","accessType"],"title":"AccessPermissionGroupResponse","type":"object"},"UserPermissionResponse":{"properties":{"ownUserIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ownuserids"},"customerGroups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customergroups"},"viewAccessToUser":{"title":"Viewaccesstouser","type":"boolean"}},"required":["viewAccessToUser"],"title":"UserPermissionResponse","type":"object"}}},"paths":{"/webapi/v2/apps":{"get":{"operationId":"django_server_llm_app_views_rest_apps_api_get_list_apps","summary":"Get List Apps","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"searchTerm","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search term for app name or description","title":"Searchterm"},"required":false,"description":"Search term for app name or description"},{"in":"query","name":"categories","schema":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"Filter by app categories","title":"Categories"},"required":false,"description":"Filter by app categories"},{"in":"query","name":"type","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by app type","title":"Type"},"required":false,"description":"Filter by app type"},{"in":"query","name":"published","schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by published status","title":"Published"},"required":false,"description":"Filter by published status"},{"in":"query","name":"pageSize","schema":{"default":50,"description":"Number of apps per page","maximum":100,"minimum":1,"title":"Pagesize","type":"integer"},"required":false,"description":"Number of apps per page"},{"in":"query","name":"cursor","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for pagination","title":"Cursor"},"required":false,"description":"Cursor for pagination"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppsResponse"}}}}},"description":"Get a list of apps. The apps are sorted by weight in descending order by default.","tags":["apps"]}}}}
```

## Get App By Id

> Get a specific app by ID.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}},"schemas":{"App":{"description":"App information.","properties":{"id":{"description":"Unique ID of the app","title":"Id","type":"string"},"name":{"description":"Name of the app","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Description of the app","title":"Description"},"type":{"description":"Type of the app","title":"Type","type":"string"},"category":{"description":"Category of the app","title":"Category","type":"string"},"published":{"description":"Whether the app is published","title":"Published","type":"boolean"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"}},"required":["id","name","type","category","published","agentPermission","userPermission"],"title":"App","type":"object"},"AgentPermissionResponse":{"description":"Response model for agent permission.","properties":{"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"title":"Accessagents"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroupResponse"},"type":"array"},{"type":"null"}],"title":"Accesspermissiongroups"},"viewAccessToAgent":{"title":"Viewaccesstoagent","type":"boolean"}},"required":["viewAccessToAgent"],"title":"AgentPermissionResponse","type":"object"},"AccessAgent":{"properties":{"agentId":{"description":"The agent ID of the access agent","title":"Agentid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type of the access agent"}},"required":["agentId","accessType"],"title":"AccessAgent","type":"object"},"ObjectAccessType":{"enum":["order_1_editor","order_2_reader"],"title":"ObjectAccessType","type":"string"},"AccessPermissionGroupResponse":{"description":"Response model for access permission group with name included.","properties":{"permissionGroupId":{"description":"The permission group ID","title":"Permissiongroupid","type":"string"},"permissionGroupName":{"description":"The permission group name","title":"Permissiongroupname","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type"}},"required":["permissionGroupId","permissionGroupName","accessType"],"title":"AccessPermissionGroupResponse","type":"object"},"UserPermissionResponse":{"properties":{"ownUserIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ownuserids"},"customerGroups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customergroups"},"viewAccessToUser":{"title":"Viewaccesstouser","type":"boolean"}},"required":["viewAccessToUser"],"title":"UserPermissionResponse","type":"object"}}},"paths":{"/webapi/v2/apps/{app_id}":{"get":{"operationId":"django_server_llm_app_views_rest_apps_api_get_app_by_id","summary":"Get App By Id","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"app_id","schema":{"title":"App Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"description":"Get a specific app by ID.","tags":["apps"]}}}}
```

## Update App

> Update an app.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}},"schemas":{"App":{"description":"App information.","properties":{"id":{"description":"Unique ID of the app","title":"Id","type":"string"},"name":{"description":"Name of the app","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Description of the app","title":"Description"},"type":{"description":"Type of the app","title":"Type","type":"string"},"category":{"description":"Category of the app","title":"Category","type":"string"},"published":{"description":"Whether the app is published","title":"Published","type":"boolean"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"}},"required":["id","name","type","category","published","agentPermission","userPermission"],"title":"App","type":"object"},"AgentPermissionResponse":{"description":"Response model for agent permission.","properties":{"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"title":"Accessagents"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroupResponse"},"type":"array"},{"type":"null"}],"title":"Accesspermissiongroups"},"viewAccessToAgent":{"title":"Viewaccesstoagent","type":"boolean"}},"required":["viewAccessToAgent"],"title":"AgentPermissionResponse","type":"object"},"AccessAgent":{"properties":{"agentId":{"description":"The agent ID of the access agent","title":"Agentid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type of the access agent"}},"required":["agentId","accessType"],"title":"AccessAgent","type":"object"},"ObjectAccessType":{"enum":["order_1_editor","order_2_reader"],"title":"ObjectAccessType","type":"string"},"AccessPermissionGroupResponse":{"description":"Response model for access permission group with name included.","properties":{"permissionGroupId":{"description":"The permission group ID","title":"Permissiongroupid","type":"string"},"permissionGroupName":{"description":"The permission group name","title":"Permissiongroupname","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type"}},"required":["permissionGroupId","permissionGroupName","accessType"],"title":"AccessPermissionGroupResponse","type":"object"},"UserPermissionResponse":{"properties":{"ownUserIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ownuserids"},"customerGroups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customergroups"},"viewAccessToUser":{"title":"Viewaccesstouser","type":"boolean"}},"required":["viewAccessToUser"],"title":"UserPermissionResponse","type":"object"},"UpdateAppRequest":{"description":"Request schema for updating an app.","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the app","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Description of the app","title":"Description"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Category of the app","title":"Category"},"published":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the app is published","title":"Published"},"agentPermission":{"anyOf":[{"$ref":"#/components/schemas/AgentPermission"},{"type":"null"}],"description":"Agent permission"},"userPermission":{"anyOf":[{"$ref":"#/components/schemas/UserPermission"},{"type":"null"}],"description":"User permission"}},"title":"UpdateAppRequest","type":"object"},"AgentPermission":{"properties":{"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"title":"Accessagents"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroup"},"type":"array"},{"type":"null"}],"title":"Accesspermissiongroups"},"viewAccessToAgent":{"title":"Viewaccesstoagent","type":"boolean"}},"required":["viewAccessToAgent"],"title":"AgentPermission","type":"object"},"AccessPermissionGroup":{"properties":{"permissionGroupId":{"description":"The permission group ID of the access permission group","title":"Permissiongroupid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"The access type of the access permission group"}},"required":["permissionGroupId","accessType"],"title":"AccessPermissionGroup","type":"object"},"UserPermission":{"properties":{"ownUserIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ownuserids"},"customerGroups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customergroups"},"viewAccessToUser":{"title":"Viewaccesstouser","type":"boolean"}},"required":["viewAccessToUser"],"title":"UserPermission","type":"object"}}},"paths":{"/webapi/v2/apps/{app_id}":{"patch":{"operationId":"django_server_llm_app_views_rest_apps_api_update_app","summary":"Update App","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"app_id","schema":{"title":"App Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/App"}}}}},"description":"Update an app.","tags":["apps"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppRequest"}}},"required":true}}}}}
```

## GET /webapi/apps

>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/apps":{"get":{"tags":["apps"],"operationId":"getApps","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"published","in":"query","required":false,"schema":{"type":"string"}},{"name":"id","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}}},{"name":"locale","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"get Apps API success response","content":{"application/json":{"schema":{"type":"object","required":["result"],"properties":{"result":{"type":"array","items":{"type":"object","required":["id","name","type","description","category","app_from","app_url"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["single_action","skill"]},"description":{"type":"string"},"category":{"type":"string"},"app_from":{"type":"string"},"app_url":{"type":"string"}}}}}}}}}}}}}}
```

## POST /webapi/apps

>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/apps":{"post":{"tags":["apps"],"operationId":"createApp","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["type","name","description","category","published","enabled","single_action_app_input"],"properties":{"user_id":{"type":"string"},"type":{"type":"string","enum":["single_action"]},"name":{"type":"string"},"description":{"type":"string"},"category":{"type":"string"},"published":{"type":"boolean"},"enabled":{"type":"boolean"},"single_action_app_input":{"type":"object","nullable":true,"required":["name","description","inputs","llm_model","messages"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"llm_model":{"type":"string"},"selected_llm_processing_method":{"type":"string","nullable":true,"enum":["stuff","map","map_reduce","chunk_map","chunk_map_reduce"]},"selected_map_reduce_input_variable_name":{"type":"string","nullable":true},"inputs":{"type":"array","items":{"type":"object","required":["name","value","input_type"],"properties":{"name":{"type":"string"},"value":{"type":"string"},"placeholder":{"type":"string","nullable":true},"input_type":{"type":"string","enum":["text","paragraph","single","multi","document_basic","document_advanced","image_basic","image_advanced"]},"options":{"type":"array","items":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}}},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user"]},"content":{"type":"string"}}}}}}}}}}},"responses":{"200":{"description":"create App API success response","content":{"application/json":{"schema":{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}}}}}}}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Run LLM App

> Execute an LLM App via REST API. Supports JSON requests.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/apps/{app_id}/run":{"post":{"tags":["apps"],"operationId":"runApp","summary":"Run LLM App","description":"Execute an LLM App via REST API. Supports JSON requests.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chat":{"type":"object","description":"Chat message input for conversational apps","properties":{"message":{"type":"string","description":"The user's message/question"},"source":{"type":"object","description":"Source documents and knowledge bases for the chat","properties":{"knowledgeBaseIds":{"type":"array","items":{"type":"string"},"description":"List of knowledge base IDs to attach (for conversation history)"},"folderIds":{"type":"array","items":{"type":"string"},"description":"List of folder IDs to search"},"webSites":{"type":"array","items":{"type":"string"},"description":"List of web sites to search"}}}}},"inputs":{"type":"object","description":"Input variables for the LLM App. The structure depends on the app type. For single_action apps, this contains the app-specific input fields. For campaign apps, this can include prompt overrides and other configuration.\n","additionalProperties":true},"mode":{"type":"string","enum":["sync","stream","background"],"default":"sync","description":"Execution mode. Use \"sync\" for synchronous responses or \"stream\" for streaming responses. Default is \"sync\".\n"},"isStateful":{"type":"boolean","default":false,"description":"Whether to maintain conversation state. Set to true to enable conversation history. When true, conversationId must be provided for follow-up messages.\n"},"conversationId":{"type":"string","description":"Conversation ID for continuing a previous conversation. Required when isStateful is true for follow-up messages. Use the conversation.id from the previous response.\n"},"llmModel":{"type":"string","description":"Name of the LLM model to use. Must be a registered model name (lowercase). See model registration documentation for available models.\n"},"llmPromptId":{"type":"string","description":"ID of the LLM prompt to use"},"gaPromptGroupId":{"type":"string","description":"ID of the Generative Answer prompt group to use"},"temperature":{"type":"number","default":0,"description":"Controls the randomness of the output. Higher values make the output more random. Range is typically 0 to 2.\n"},"requiredVariables":{"type":"array","items":{"type":"string"},"description":"List of required variable names to include in the response"}}}}}},"responses":{"200":{"description":"Successfully executed the LLM App","content":{"application/json":{"schema":{"type":"object","required":["result"],"properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the LLM App that was executed"},"name":{"type":"string","description":"The name of the LLM App"},"type":{"type":"string","enum":["campaign","single_action","agent"],"description":"The type of LLM App"},"category":{"type":"string","description":"The category of the LLM App"},"responses":{"type":"array","description":"List of responses from the LLM App execution","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the response (Chat or SingleActionAppResult)"},"type":{"type":"string","description":"Node type (e.g., \"tn\", \"llm\")"},"message":{"type":"string","description":"The response message content"},"source":{"type":"object","description":"Source information for the message"},"sender":{"type":"string","description":"The sender of the message"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the response was created"},"completed":{"type":"boolean","description":"Whether the generation process has been completed"},"citations":{"type":"array","description":"Citation references used in the response","items":{"type":"object","properties":{"clueId":{"type":"string","description":"Unique ID of the clue"},"source":{"type":"string","description":"Source type (DOCUMENT, FAQ, WEB)"},"title":{"type":"string","description":"Title of the source document"},"knowledgeBaseId":{"type":"string","description":"Document ID of the clue"},"pageNo":{"type":"integer","description":"Page number of the clue"},"url":{"type":"string","description":"URL of the citation"},"text":{"type":"string","description":"Text excerpt of the citation"}}}},"error":{"type":"object","description":"Error information if an error occurred","properties":{"timestamp":{"type":"integer","description":"Timestamp of the error"},"nodeId":{"type":"string","description":"ID of the node where the error occurred"},"nodeType":{"type":"string","description":"Type of the node where the error occurred"},"errorType":{"type":"string","description":"Type of the error"},"errorObject":{"type":"object","description":"Additional error details"}}},"intermediateStep":{"type":"object","description":"Intermediate step information showing progress during generation. Used for displaying status messages during processing.\n","properties":{"completed":{"type":"boolean","description":"Whether the step is completed"},"key":{"type":"string","description":"Unique key for the step"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the step was created"},"statusMessage":{"type":"string","description":"Status message (e.g., \"Reasoning\")"},"markdownMessage":{"type":"string","description":"Markdown formatted message for the step"}}}}}},"variables":{"type":"object","description":"Variable values if requiredVariables was specified in the request. Contains the current values of project variables.\n","additionalProperties":true},"conversation":{"type":"object","description":"Conversation information when isStateful is true. Use the conversation.id for subsequent requests to continue the conversation.\n","properties":{"id":{"type":"string","description":"Conversation ID for continuing the conversation"},"state":{"type":"string","description":"Current state of the conversation"}}}}},"error":{"type":"string","description":"Error message if an error occurred"}}}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized - Invalid or missing authentication token"},"429":{"description":"Rate limit exceeded"},"500":{"description":"Internal server error"}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"app_id","in":"path","required":true,"schema":{"type":"string"}}]}}}}
```

## Executing a Skill

> 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.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/skill":{"post":{"tags":["apps"],"operationId":"runSkill","summary":"Executing a Skill","description":"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.\n","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","text"],"properties":{"id":{"type":"string","description":"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.\n"},"text":{"type":"string","description":"This is an input text for the skill execution."},"variables":{"type":"object","description":"Variables is a JSON object to set the variables in the skill. To learn more about variables in Alli, please see the user guide.\n"}}}}}},"responses":{"200":{"description":"Skill executed successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","description":"The final text output from the skill execution."},"errors":{"type":"array","items":{"type":"string"},"description":"If any error happens, the error message will be included here."}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Generative Answer API

> 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.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/generative_answer":{"post":{"tags":["apps"],"operationId":"getGenerativeAnswer","summary":"Generative Answer API","description":"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.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","required":true,"description":"This is a query string."},"model":{"type":"string","description":"Utilize the LLM of your choice when generating answers. Default model is GPT4o. Please see documentation for available options.\n"},"answerFormat":{"type":"string","description":"Determine the format of the response given for easier integrations. Acceptable values are DRAFTJS and MARKDOWN. Default format is DRAFTJS.\n"},"isStateful":{"type":"boolean","description":"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.\n"},"threadId":{"type":"string","format":"uuid","description":"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.\n"},"promptGroupId":{"type":"string","description":"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.\n"},"mode":{"type":"string","description":"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.\n"},"clueText":{"type":"boolean","description":"Whether to include the text of the document used as a clue. Default = False. ONLY works if clues is enabled.\n"},"clues":{"type":"boolean","description":"Whether to include clues in the output that will be used to create a generative answer. Default = False.\n"},"includeCitations":{"type":"boolean","description":"Whether to include detailed citation information in the response. Citations provide structured references to source documents used in generating the answer. Default = False.\n"},"hashtags":{"type":"object","description":"Utilize this feature to scope the search via hashtags on documents or Q&A's. You can include or exclude certain hashtags as well as provide an option of and/or for the hashtags selected.\n","properties":{"qnaInclude":{"type":"array","items":{"type":"string"},"description":"FAQ hashtags to include in the search"},"qnaIncludeOption":{"type":"string","enum":["and","or"],"default":"or","description":"Operator for FAQ include hashtags (and/or)"},"qnaExclude":{"type":"array","items":{"type":"string"},"description":"FAQ hashtags to exclude from the search"},"qnaExcludeOption":{"type":"string","enum":["and","or"],"default":"or","description":"Operator for FAQ exclude hashtags (and/or)"},"docsInclude":{"type":"array","items":{"type":"string"},"description":"Document hashtags to include in the search"},"docsIncludeOption":{"type":"string","enum":["and","or"],"default":"or","description":"Operator for document include hashtags (and/or)"},"docsExclude":{"type":"array","items":{"type":"string"},"description":"Document hashtags to exclude from the search"},"docsExcludeOption":{"type":"string","enum":["and","or"],"default":"or","description":"Operator for document exclude hashtags (and/or)"}}},"search_from":{"type":"array","items":{"type":"string"},"description":"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\"]\n"},"temperature":{"type":"number","description":"Controls the randomness of the output. Higher values make the output more random. Default = 0."},"source":{"type":"object","description":"Source configuration for knowledge bases and folders. This is the preferred way to specify search scope. Use this instead of the legacy knowledgeBaseIds/folderIds parameters.\n","properties":{"sharedKnowledgeBaseNodeIds":{"type":"array","items":{"type":"string"},"description":"List of shared knowledge base or folder node IDs (global IDs) to search. Use empty array [] to search all shared documents. Use null to exclude shared documents from search.\n"},"personalKnowledgeBaseNodeIds":{"type":"array","items":{"type":"string"},"description":"List of personal knowledge base or folder node IDs (global IDs) to search. Use empty array [] to search all personal documents. Use null to exclude personal documents from search.\n"},"webSites":{"type":"array","items":{"type":"string"},"description":"List of web sites to search."}}},"knowledgeBaseIds":{"type":"array","items":{"type":"string"},"description":"(Legacy) Limits the search to specific knowledge base IDs. Use 'source' parameter instead for better control over shared/personal documents.\n"},"folderIds":{"type":"array","items":{"type":"string"},"description":"(Legacy) Limits the search to specific folder IDs. Use 'source' parameter instead for better control over shared/personal documents.\n"}}}}}},"responses":{"200":{"description":"Successfully generated answer","content":{"application/json":{"schema":{"type":"object","properties":{"answer":{"type":"object","description":"It's the answer extracted from uploaded documents in the dashboard, formatted according to the answerFormat parameter.\n"},"answerHash":{"type":"string","description":"This is used to identify the answer to give or cancel feedback."},"confidence":{"type":"number","description":"It shows the confidence value from AI model. Shown as a number value between 0 and 1.\n"},"effectiveConfidence":{"type":"number","description":"When you provide feedback to the query result, it automatically trains the AI model. Effective confidence is the adjusted score with these users' and agents' feedback. Shown as a number value between 0 and 1.\n"},"documentId":{"type":"string","description":"The document's ID where the answer is extracted from."},"documentName":{"type":"string","description":"The document's name where the answer is extracted from."},"hashtags":{"type":"array","description":"The hashtags attached to the document."},"pageNo":{"type":"integer","description":"The page number in the document where the answer was derived."},"createdDate":{"type":"string","format":"date","description":"The date when the document was uploaded."},"agentFeedback":{"type":"object","description":"The feedback from agents (through dashboard and REST calls) about this document."},"userFeedback":{"type":"object","description":"The feedback from users about this document."},"body":{"type":"string","description":"If returnPreview is true in the request, the html body of the document search preview is displayed."},"css":{"type":"string","description":"If returnPreview is true in the request, the css of the document search preview is displayed."},"pdfPreview":{"type":"string","description":"If returnPdfPreview is true in the request, the URL to a PDF preview of the document with the answer highlighted is displayed. Note that the URL can be restricted using the Download IP Allowlist setting.\n"},"folder":{"type":"string","description":"If the answer is found from a folder under the Documents database, the folder name will be returned here."},"editor":{"type":"array","items":{"type":"string"},"description":"List of the agents' email who has the editor access to the documents (if they're set in the Alli dashboard)."},"viewer":{"type":"array","items":{"type":"string"},"description":"List of the agents' email who has the viewer access to the documents (if they're set in the Alli dashboard)."},"threadId":{"type":"string","description":"A UUID that can be used for follow-up questions when isStateful is true."},"fuQuestion":{"type":"string","description":"Suggested follow-up question for the user when isStateful is true."},"intent":{"type":"string","description":"The detected intent of the query."},"clues":{"type":"array","description":"If clues is true in the request, the sources used to generate the answer are returned here.\n"},"citations":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","description":"Citation number referenced in the answer text as [1], [2], etc."},"clueId":{"type":"string","description":"Unique identifier for the source clue"},"source":{"type":"string","description":"Type of source (DOCUMENT, FAQ, WEB)"},"title":{"type":"string","description":"Title of the source document or FAQ"},"pageNo":{"type":"integer","description":"Page number in the source document"},"knowledgeBaseId":{"type":"string","description":"ID of the knowledge base document"},"faqId":{"type":"string","description":"ID of the FAQ entry"},"url":{"type":"string","description":"URL of web source"},"text":{"type":"string","description":"Excerpt of the source text (limited to 500 characters)"}}},"description":"If includeCitations is true in the request, structured citation information is returned here. Each citation corresponds to a [number] reference in the answer text.\n"}}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"string","description":"Error message"}}}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"string","description":"Rate Limit Exceed"}}}}}}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Start Conversation

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

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/start_conversation":{"post":{"tags":["apps"],"operationId":"startConversation","summary":"Start Conversation","description":"Start a conversation using a Skill. Note: this endpoint is currently only compatible with Message Node, Q&A Node, and Documents Node.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"placement":{"type":"string","description":"Used to match which Skill to start the conversation with."}}}}}},"responses":{"200":{"description":"Successfully started conversation","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"conversation":{"type":"object","properties":{"id":{"type":"string","description":"The unique id for the conversation just initiated."},"project":{"type":"object","properties":{"nluLanguage":{"type":"string","description":"The Alli project's language."}}},"chats":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{"node":{"type":"object","properties":{"id":{"type":"string","description":"Chat ID"},"message":{"type":"string","description":"The text message the user would be shown by Alli. This is in Draftjs format."},"createdAt":{"type":"number","description":"The timestamp for when this message was sent."},"chatOptionInfos":{"type":"array","description":"An array of JSON objects, each representing a clickable button Alli would display to the user.","items":{"type":"object","properties":{"shortenOption":{"type":"string","description":"The text after the length limitation setting is applied."},"longOption":{"type":"string","description":"The text content of a button."},"style":{"type":"object","properties":{"bgColor":{"type":"string"},"bold":{"type":"boolean"},"fontColor":{"type":"string"},"italic":{"type":"boolean"},"lineColor":{"type":"string"},"underline":{"type":"boolean"}}},"meta":{"type":"string"}}}},"isDeleted":{"type":"boolean"}}}}}}}}}}}},"errors":{"type":"object","nullable":true}}}}}}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## End Conversation by Agent

> End a conversation from the agent side.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/end_conversation_by_agent":{"post":{"tags":["apps"],"operationId":"endConversationByAgent","summary":"End Conversation by Agent","description":"End a conversation from the agent side.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The conversation ID to end"}}}}}},"responses":{"200":{"description":"Conversation ended successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"conversation":{"type":"object","properties":{"id":{"type":"string","description":"The conversation ID that was ended"},"completedTime":{"type":"number","description":"The timestamp when the conversation was completed"},"state":{"type":"string","description":"The state of the conversation after ending (e.g., \"END_BY_AGENT\")"},"__typename":{"type":"string","description":"GraphQL typename"}},"description":"The conversation object that was ended"},"__typename":{"type":"string","description":"GraphQL typename for the operation result"}}},"errors":{"type":"object","nullable":true,"description":"Error information if the request fails"}}}}}}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Send Chat

> 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.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"apps","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"}],"security":[{"ApiKeyAuth":[]},{"TokenAuth":[]},{"ProjectIdHeader":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"API-KEY","description":"Your API key for authentication"},"TokenAuth":{"type":"http","scheme":"bearer","description":"Your token for authentication"}},"parameters":{"AgentEmailHeader":{"name":"AGENT-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email of the agent to use for this request"},"UserEmailHeader":{"name":"USER-EMAIL","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: Email address to associate with the user"},"OwnUserIdHeader":{"name":"OWN-USER-ID","in":"header","required":false,"schema":{"type":"string"},"description":"Optional: User ID to identify or create a user"}}},"paths":{"/webapi/send_chat":{"post":{"tags":["apps"],"operationId":"sendChat","summary":"Send Chat","description":"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.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["message","conversationId"],"properties":{"message":{"type":"string","description":"The message to send in the conversation. Cannot be null or an empty string."},"conversationId":{"type":"string","description":"Unique id for the conversation you want to send a message in."}}}}}},"responses":{"200":{"description":"Successfully sent chat","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"responses":{"type":"array","description":"Array of JSON objects, each representing a message. The first message object will be the Request's message.","items":{"type":"object","properties":{"id":{"type":"string","description":"Chat ID"},"message":{"type":"string","description":"The text message the user would be shown by Alli. Text messages set in nodes in the Skill builder will be in Draftjs format."},"createdAt":{"type":"number","description":"The timestamp for when this message was created."},"chatOptionInfos":{"type":"array","description":"An array of JSON objects, each representing a clickable button Alli would display to the user.","items":{"type":"object","properties":{"shortenOption":{"type":"string","description":"The text after the length limitation setting is applied."},"longOption":{"type":"string","description":"The text content of a button."},"style":{"type":"object","properties":{"bgColor":{"type":"string"},"bold":{"type":"boolean"},"fontColor":{"type":"string"},"italic":{"type":"boolean"},"lineColor":{"type":"string"},"underline":{"type":"boolean"}}},"meta":{"type":"string"}}}},"isDeleted":{"type":"boolean"}}}},"state":{"type":"string","description":"The state of the conversation after the message is sent."}}},"errors":{"type":"object","nullable":true}}}}}}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```
