> For the complete documentation index, see [llms.txt](https://docs.allganize.ai/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.allganize.ai/api-reference/app-market.md).

# App Market

App related APIs

## List Apps

> This API allows you to list apps in the project. Apps are sorted by weight in descending order by default.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Query Parameters\
> \
> \- searchTerm (string, optional): Search term for app name or description.\
> \- categories (array\[string], optional): Filter by app categories.\
> \- type (string, optional): Filter by app type.\
> \- published (boolean, optional): Filter by published status.\
> \- pageSize (integer, optional): Number of apps per page. Defaults to \*\*50\*\*.\
> \- cursor (string, optional): Cursor for pagination.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":"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"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"This API allows you to list apps in the project. Apps are sorted by weight in descending order by default.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Query Parameters\n\n- searchTerm (string, optional): Search term for app name or description.\n- categories (array[string], optional): Filter by app categories.\n- type (string, optional): Filter by app type.\n- published (boolean, optional): Filter by published status.\n- pageSize (integer, optional): Number of apps per page. Defaults to **50**.\n- cursor (string, optional): Cursor for pagination.","tags":["App Market"]}}}}
```

## Get App

> This API allows you to retrieve a specific app by its ID.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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","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"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"This API allows you to retrieve a specific app by its ID.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.","tags":["App Market"]}}}}
```

## Update App

> This API allows you to update an app's properties.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body\
> \
> \- name (string, optional): Name of the app.\
> \- description (string, optional): Description of the app.\
> \- category (string, optional): Category of the app.\
> \- published (boolean, optional): Whether the app is published.\
> \- agentPermission (object, optional): Agent permission settings.\
> \- userPermission (object, optional): User permission settings.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"This API allows you to update an app's properties.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body\n\n- name (string, optional): Name of the app.\n- description (string, optional): Description of the app.\n- category (string, optional): Category of the app.\n- published (boolean, optional): Whether the app is published.\n- agentPermission (object, optional): Agent permission settings.\n- userPermission (object, optional): User permission settings.","tags":["App Market"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppRequest"}}},"required":true}}}}}
```

## Run App Conversation

> This API allows you to run a campaign app with streaming response.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body (multipart/form-data)\
> \
> \- conversationId (string, optional): Existing conversation ID to continue.\
> \- message (string, optional): User message text.\
> \- choices (string, optional): Button/option choice indices as JSON array string.\
> \- sendFormInput (string, optional): Form submission data as JSON string.\
> \- files (array\[binary], optional): Files to upload.\
> \- mediaFiles (array\[binary], optional): Media files to upload.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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/v2/apps/{app_id}/run_conversation":{"post":{"operationId":"django_server_llm_app_views_rest_apps_api_run_conversation_app","summary":"Run App Conversation","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"},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"This API allows you to run a campaign app with streaming response.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body (multipart/form-data)\n\n- conversationId (string, optional): Existing conversation ID to continue.\n- message (string, optional): User message text.\n- choices (string, optional): Button/option choice indices as JSON array string.\n- sendFormInput (string, optional): Form submission data as JSON string.\n- files (array[binary], optional): Files to upload.\n- mediaFiles (array[binary], optional): Media files to upload.","tags":["App Market"],"requestBody":{"content":{"multipart/form-data":{"schema":{"title":"MultiPartBodyParams","type":"object","properties":{"conversationId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Existing conversation ID to continue","title":"Conversationid"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User message text","title":"Message"},"choices":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Button/option choice indices (JSON array string, e.g. '[0, 1]')","title":"Choices"},"sendFormInput":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Form submission data (JSON string)","title":"Sendforminput"},"fileIds":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fileids"},"sharedKnowledgeBaseNodeIds":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Per-turn shared KnowledgeBase or Folder node IDs as JSON array of global IDs","title":"Sharedknowledgebasenodeids"},"personalKnowledgeBaseNodeIds":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Per-turn personal KnowledgeBase or Folder node IDs as JSON array of global IDs","title":"Personalknowledgebasenodeids"},"webSites":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Per-turn web search URLs as JSON array of strings","title":"Websites"},"files":{"anyOf":[{"items":{"format":"binary","type":"string"},"type":"array"},{"type":"null"}],"title":"Files"},"media_files":{"anyOf":[{"items":{"format":"binary","type":"string"},"type":"array"},{"type":"null"}],"title":"Media Files"},"form_files":{"anyOf":[{"items":{"format":"binary","type":"string"},"type":"array"},{"type":"null"}],"title":"Form Files"}}}}},"required":true}}}}}
```

## Get Cognitive Config

> This API allows you to retrieve the project's cognitive configuration as JSON.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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/v2/cognitive_config":{"get":{"operationId":"django_server_project_views_rest_cognitive_config_api_get_cognitive_config","summary":"Get Cognitive Config","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response","type":"object"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"This API allows you to retrieve the project's cognitive configuration as JSON.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.","tags":["App Market"]}}}}
```

## Update Cognitive Config

> This API allows you to partially update cognitive configuration fields.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body\
> \
> \- A flat JSON object where each key is a cognitive config field name and the value is the new value. Only provided fields are updated.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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/v2/cognitive_config":{"patch":{"operationId":"django_server_project_views_rest_cognitive_config_api_patch_cognitive_config","summary":"Update Cognitive Config","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"additionalProperties":true,"title":"Response","type":"object"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"This API allows you to partially update cognitive configuration fields.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body\n\n- A flat JSON object where each key is a cognitive config field name and the value is the new value. Only provided fields are updated.","tags":["App Market"],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Body","type":"object"}}},"required":true}}}}}
```

## List Apps

> This API allows you to list LLM apps in the project with optional filtering by published status and user.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Query Parameters\
> \
> \- published (string, optional): Filter by published status. Must be \`true\` or \`false\`.\
> \- id (array\[string], optional): Filter by specific app IDs.\
> \- locale (string, optional): Locale for localized app content.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"operationId":"getApps","summary":"List Apps","description":"This API allows you to list LLM apps in the project with optional filtering by published status and user.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Query Parameters\n\n- published (string, optional): Filter by published status. Must be `true` or `false`.\n- id (array[string], optional): Filter by specific app IDs.\n- locale (string, optional): Locale for localized app content.\n","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"}}}}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}}}}}}
```

## Create App

> This API allows you to create a new LLM app (currently supports single\_action type only).\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body\
> \
> \- type (string, required): App type. Currently only \`single\_action\` is supported.\
> \- name (string, required): Name of the app.\
> \- description (string, required): Description of the app.\
> \- category (string, required): Category of the app.\
> \- published (boolean, required): Whether the app is published.\
> \- enabled (boolean, required): Whether the app is enabled.\
> \- single\_action\_app\_input (object, required): Single action app configuration including name, description, inputs, llm\_model, and messages.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"operationId":"createApp","summary":"Create App","description":"This API allows you to create a new LLM app (currently supports single_action type only).\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body\n\n- type (string, required): App type. Currently only `single_action` is supported.\n- name (string, required): Name of the app.\n- description (string, required): Description of the app.\n- category (string, required): Category of the app.\n- published (boolean, required): Whether the app is published.\n- enabled (boolean, required): Whether the app is enabled.\n- single_action_app_input (object, required): Single action app configuration including name, description, inputs, llm_model, and messages.\n","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"}}}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Get App

> This API allows you to retrieve a specific LLM app by its ID.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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}":{"get":{"tags":["App Market"],"summary":"Get App","description":"This API allows you to retrieve a specific LLM app by its ID.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"app_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}}}}}}
```

## Update App

> This API allows you to update an existing LLM app's properties.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body\
> \
> \- name (string, optional): Name of the app.\
> \- description (string, optional): Description of the app.\
> \- category (string, optional): Category of the app.\
> \- published (boolean, optional): Whether the app is published.\
> \- enabled (boolean, optional): Whether the app is enabled.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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}":{"put":{"tags":["App Market"],"summary":"Update App","description":"This API allows you to update an existing LLM app's properties.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body\n\n- name (string, optional): Name of the app.\n- description (string, optional): Description of the app.\n- category (string, optional): Category of the app.\n- published (boolean, optional): Whether the app is published.\n- enabled (boolean, optional): Whether the app is enabled.\n","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"app_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}}}}}}
```

## Delete App

> This API allows you to delete an LLM app by its ID.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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}":{"delete":{"tags":["App Market"],"summary":"Delete App","description":"This API allows you to delete an LLM app by its ID.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"app_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}}}}}}
```

## Run LLM App

> This API allows you to execute an LLM App (single action, campaign, or agent type). Supports both synchronous and streaming modes.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body\
> \
> \- chat (object, optional): Chat message input for conversational apps.\
> &#x20; Contains \`message\` (string), \`source\` (object), and \`useNodeDefaultInputSource\` (boolean).\
> \- inputs (object, optional): Input variables for the LLM App. Structure depends on the app type.\
> \- mode (string, optional): Execution mode. Must be \`sync\`, \`stream\`, or \`background\`. Defaults to \*\*sync\*\*.\
> \- isStateful (boolean, optional): Whether to maintain conversation state. Defaults to \*\*false\*\*.\
> \- conversationId (string, optional): Conversation ID for continuing a previous conversation. Required when isStateful is true for follow-up messages.\
> \- llmModel (string, optional): Name of the LLM model to use. Must be a registered and activated model.\
> \- llmPromptId (string, optional): ID of the LLM prompt to use.\
> \- gaPromptGroupId (string, optional): ID of the Generative Answer prompt group to use.\
> \- temperature (number, optional): Controls output randomness. Range is 0 to 2. Defaults to \*\*0\*\*.\
> \- requiredVariables (array\[string], optional): List of required variable names to include in the response.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"operationId":"runApp","summary":"Run LLM App","description":"This API allows you to execute an LLM App (single action, campaign, or agent type). Supports both synchronous and streaming modes.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body\n\n- chat (object, optional): Chat message input for conversational apps.\n  Contains `message` (string), `source` (object), and `useNodeDefaultInputSource` (boolean).\n- inputs (object, optional): Input variables for the LLM App. Structure depends on the app type.\n- mode (string, optional): Execution mode. Must be `sync`, `stream`, or `background`. Defaults to **sync**.\n- isStateful (boolean, optional): Whether to maintain conversation state. Defaults to **false**.\n- conversationId (string, optional): Conversation ID for continuing a previous conversation. Required when isStateful is true for follow-up messages.\n- llmModel (string, optional): Name of the LLM model to use. Must be a registered and activated model.\n- llmPromptId (string, optional): ID of the LLM prompt to use.\n- gaPromptGroupId (string, optional): ID of the Generative Answer prompt group to use.\n- temperature (number, optional): Controls output randomness. Range is 0 to 2. Defaults to **0**.\n- requiredVariables (array[string], optional): List of required variable names to include in the response.\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"}}},"useNodeDefaultInputSource":{"type":"boolean","default":false,"description":"If true and source is not provided, uses the node's default input source configuration (folders/knowledge bases configured in the node settings). When false (default), omitting source means no document scope restriction.\n"}}},"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"},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"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 allows you to execute a skill and retrieve the final text answer. It can also be used for entity extraction if the skill is designed for that purpose.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\
> \- USER-EMAIL (string, optional): The email address to associate with the user.\
> \- OWN-USER-ID (string, optional): The user ID to identify or create a user.\
> \
> \## Request Body\
> \
> \- id (string, required): The skill ID. You can find it in the URL when viewing a skill in the dashboard (e.g., \`<https://app.alli.ai/projects/PROJECT\\_ID/campaigns/SKILL\\_ID\\`).\\>
> \- text (string, required): The input text for the skill execution.\
> \- variables (object, optional): A JSON object to set variables in the skill before execution.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"operationId":"runSkill","summary":"Executing a Skill","description":"This API allows you to execute a skill and retrieve the final text answer. It can also be used for entity extraction if the skill is designed for that purpose.\n\n## Headers\n\n- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\n- AGENT-EMAIL (string, optional): The email address of the agent performing the API call.\n- USER-EMAIL (string, optional): The email address to associate with the user.\n- OWN-USER-ID (string, optional): The user ID to identify or create a user.\n\n## Request Body\n\n- id (string, required): The skill ID. You can find it in the URL when viewing a skill in the dashboard (e.g., `https://app.alli.ai/projects/PROJECT_ID/campaigns/SKILL_ID`).\n- text (string, required): The input text for the skill execution.\n- variables (object, optional): A JSON object to set variables in the skill before execution.\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"}}}}}}},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"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":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"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}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"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":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"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"}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"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":"App Market","description":"App related APIs"}],"servers":[{"url":"https://backend.alli.ai","description":"US"},{"url":"https://backend-ja.alli.ai","description":"JA"}],"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":["App Market"],"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}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```
