> 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/korean/app-market.md).

# App Market

Knowledge base related APIs

## 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":"App Market","description":"Knowledge base 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":"액세스 에이전트의 에이전트 ID","title":"Agentid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"액세스 에이전트의 액세스 유형"}},"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":"Get a list of apps. The apps are sorted by weight in descending order by default.","tags":["App Market"]}}}}
```

## Get App

> Get a specific app by ID.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"액세스 에이전트의 에이전트 ID","title":"Agentid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"액세스 에이전트의 액세스 유형"}},"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":"Get a specific app by ID.","tags":["App Market"]}}}}
```

## Update App

> Update an app.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"액세스 에이전트의 에이전트 ID","title":"Agentid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"액세스 에이전트의 액세스 유형"}},"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":"액세스 권한 그룹의 권한 그룹 ID","title":"Permissiongroupid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"접근 권한 그룹의 접근 유형"}},"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":"Update an app.","tags":["App Market"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppRequest"}}},"required":true}}}}}
```

## Conversation App 실행

> 캠페인 App을 스트리밍 응답으로 실행합니다.\
> \
> 캠페인(스킬/에이전트) App을 실행하고 스트리밍 응답을 반환합니다.\
> 텍스트 메시지, 버튼 선택, 파일/미디어 업로드, 폼 제출을 지원합니다.\
> 항상 multipart/form-data를 사용합니다. send\_form\_input은 JSON 문자열로 전달하세요.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"Conversation 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"},"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":"캠페인 App을 스트리밍 응답으로 실행합니다.\n\n캠페인(스킬/에이전트) App을 실행하고 스트리밍 응답을 반환합니다.\n텍스트 메시지, 버튼 선택, 파일/미디어 업로드, 폼 제출을 지원합니다.\n항상 multipart/form-data를 사용합니다. send_form_input은 JSON 문자열로 전달하세요.","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"},"files":{"items":{"format":"binary","type":"string"},"title":"Files","type":"array"},"media_files":{"items":{"format":"binary","type":"string"},"title":"Media Files","type":"array"},"form_files":{"items":{"format":"binary","type":"string"},"title":"Form Files","type":"array"}}}}},"required":true}}}}}
```

## Cognitive Config 조회

> 프로젝트의 cognitive\_config를 JSON으로 반환합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"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":"프로젝트의 cognitive_config를 JSON으로 반환합니다.","tags":["App Market"]}}}}
```

## Cognitive Config 부분 수정

> cognitive\_config 필드를 부분 수정합니다.\
> \
> 요청 본문: field\_name -> value 형태의 플랫 JSON 딕셔너리.\
> 전달된 필드만 업데이트되며, 나머지는 변경되지 않습니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"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":"cognitive_config 필드를 부분 수정합니다.\n\n요청 본문: field_name -> value 형태의 플랫 JSON 딕셔너리.\n전달된 필드만 업데이트되며, 나머지는 변경되지 않습니다.","tags":["App Market"],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"title":"Body","type":"object"}}},"required":true}}}}}
```

## GET /webapi/apps

>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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","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":"앱 API 성공 답변 받기","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."}}}}}}
```

## POST /webapi/apps

>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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","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":"앱 API 성공 답변 생성","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"}]}}}}
```

## LLM App 실행

> REST API를 통해 LLM App을 실행합니다. JSON 요청을 지원합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"LLM App 실행","description":"REST API를 통해 LLM App을 실행합니다. JSON 요청을 지원합니다.","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"}}]}}}}
```

## 기술 실행

> 이 API는 스킬을 실행하고 최종 텍스트 답변을 JSON 포맷으로 반환합니다. 이 API는 스킬이 그 목적을 위해 설계된 경우 엔티티 추출에 사용할 수 있습니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"기술 실행","description":"이 API는 스킬을 실행하고 최종 텍스트 답변을 JSON 포맷으로 반환합니다. 이 API는 스킬이 그 목적을 위해 설계된 경우 엔티티 추출에 사용할 수 있습니다.","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["id","text"],"properties":{"id":{"type":"string","description":"스킬 ID입니다. Alli 대시보드에서 스킬을 클릭하면 URL이 https://app.alli.ai/projects/PROJECT_ID/campaigns/SKILL_ID와 같이 표시됩니다. 여기에 SKILL_ID를 입력해 주세요."},"text":{"type":"string","description":"기술 실행을 위한 입력 텍스트입니다."},"variables":{"type":"object","description":"변수는 스킬의 변수를 설정하기 위한 JSON 객체입니다. Alli에서 변수에 대해 더 알아보려면 유저 가이드를 True조해 주세요."}}}}}},"responses":{"200":{"description":"성공적으로 실행되었습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"string","description":"스킬 실행의 최종 텍스트 출력."},"errors":{"type":"array","items":{"type":"string"},"description":"오류가 발생하면, 오류 메시지가 여기에 포함됩니다."}}}}}},"400":{"description":"잘못된 요청","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}}}}}}},"401":{"description":"허가되지 않음","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"}]}}}}
```

## 대화 시작

> 스킬을 사용하여 대화를 시작하십시오. True고: 이 엔드포인트는 현재 메시지 노드, Q\&A 노드 및 문서 노드와만 호환됩니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"대화 시작","description":"스킬을 사용하여 대화를 시작하십시오. True고: 이 엔드포인트는 현재 메시지 노드, Q&A 노드 및 문서 노드와만 호환됩니다.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"placement":{"type":"string","description":"어떤 스킬로 대화를 시작할지 매칭하는 데 사용됩니다."}}}}}},"responses":{"200":{"description":"성공적으로 대화를 시작했습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"conversation":{"type":"object","properties":{"id":{"type":"string","description":"방금 시작된 대화의 고유 ID."},"project":{"type":"object","properties":{"nluLanguage":{"type":"string","description":"Alli 프로젝트의 언어."}}},"chats":{"type":"object","properties":{"edges":{"type":"array","items":{"type":"object","properties":{"node":{"type":"object","properties":{"id":{"type":"string","description":"대화 ID"},"message":{"type":"string","description":"유저에게 Alli가 표시하는 텍스트 메시지입니다. 이는 Draftjs 형식입니다."},"createdAt":{"type":"number","description":"이 메시지가 전송된 시간의 타임스탬프."},"chatOptionInfos":{"type":"array","description":"Alli가 유저에게 표시할 클릭 가능한 버튼을 나타내는 각각의 JSON 객체 배열.","items":{"type":"object","properties":{"shortenOption":{"type":"string","description":"길이 제한 설정이 적용된 후의 텍스트."},"longOption":{"type":"string","description":"버튼의 텍스트 내용."},"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":"Knowledge base 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"}]}}}}
```

## 대화 보내기

> 기존 대화에 대해 유저로 메시지를 보냅니다. True고: 이 엔드포인트는 현재 메시지 노드, Q\&A 노드 및 문서 노드와만 호환됩니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"App Market","description":"Knowledge base 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":"대화 보내기","description":"기존 대화에 대해 유저로 메시지를 보냅니다. True고: 이 엔드포인트는 현재 메시지 노드, Q&A 노드 및 문서 노드와만 호환됩니다.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["message","conversationId"],"properties":{"message":{"type":"string","description":"대화에서 보낼 메시지. null이거나 빈 문자열일 수 없습니다."},"conversationId":{"type":"string","description":"메시지를 보내고자 하는 대화의 고유 ID입니다."}}}}}},"responses":{"200":{"description":"대화 전송 성공","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"responses":{"type":"array","description":"메시지를 나타내는 JSON 객체의 배열입니다. 첫 번째 메시지 객체는 요청의 메시지가 됩니다.","items":{"type":"object","properties":{"id":{"type":"string","description":"대화 ID"},"message":{"type":"string","description":"유저에게 표시될 텍스트 메시지는 Alli에 의해 표시됩니다. 스킬 빌더 내 노드에 설정된 텍스트 메시지는 Draftjs 형식으로 작성됩니다."},"createdAt":{"type":"number","description":"이 메시지가 생성된 타임스탬프."},"chatOptionInfos":{"type":"array","description":"유저에게 표시될 클릭 가능한 버튼을 나타내는 JSON 객체 배열.","items":{"type":"object","properties":{"shortenOption":{"type":"string","description":"길이 제한 설정이 적용된 후의 텍스트."},"longOption":{"type":"string","description":"버튼의 텍스트 내용."},"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":"메시지가 전송된 후 대화의 상태."}}},"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"}]}}}}
```
