> 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/knowledge-base.md).

# Knowledge Base

User related APIs

## 지식베이스 노드 이동

> This API allows you to move multiple knowledge base documents and/or folders to a target folder in bulk.\
> \
> \## 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\
> \
> \- targetFolderId (string, required): The target folder ID to move nodes to.\
> \- nodeIds (array\[string], required): List of node IDs (KnowledgeBase or Folder) to move.\
> \- keepCurrentPermission (boolean, required): Whether to keep the current permissions of the moved nodes.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"MoveKnowledgeBaseNodesResponse":{"properties":{"moved_kb_node_ids":{"description":"Moved knowledge base node IDs","items":{"type":"string"},"title":"Moved Kb Node Ids","type":"array"},"failed_kb_node_ids":{"description":"Failed knowledge base node IDs","items":{"type":"string"},"title":"Failed Kb Node Ids","type":"array"}},"required":["moved_kb_node_ids","failed_kb_node_ids"],"title":"MoveKnowledgeBaseNodesResponse","type":"object"},"MoveKnowledgeBaseNodesRequest":{"properties":{"targetFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The target folder ID of the knowledge base node","title":"Targetfolderid"},"nodeIds":{"description":"The node IDs of the knowledge base node","items":{"type":"string"},"title":"Nodeids","type":"array"},"keepCurrentPermission":{"description":"The keep current permission of the knowledge base node","title":"Keepcurrentpermission","type":"boolean"}},"required":["targetFolderId","nodeIds","keepCurrentPermission"],"title":"MoveKnowledgeBaseNodesRequest","type":"object"}}},"paths":{"/webapi/v2/knowledge_base_nodes/move/bulk":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_move_knowledge_base_nodes","summary":"지식베이스 노드 이동","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveKnowledgeBaseNodesResponse"}}}},"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 move multiple knowledge base documents and/or folders to a target folder in bulk.\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- targetFolderId (string, required): The target folder ID to move nodes to.\n- nodeIds (array[string], required): List of node IDs (KnowledgeBase or Folder) to move.\n- keepCurrentPermission (boolean, required): Whether to keep the current permissions of the moved nodes.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveKnowledgeBaseNodesRequest"}}},"required":true}}}}}
```

## 지식베이스 노드 업로드

> This API allows you to upload a file to the knowledge base. Supports access control, hashtag tagging, folder targeting, and ingestion options.\
> \
> \## 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)\
> \
> \- file (binary, required): The file to upload.\
> \- fileName (string, required): The file name.\
> \- hashtags (array\[string], optional): Hashtags for the document.\
> \- targetFolderId (string, optional): Target folder ID.\
> \- useLayout (boolean, optional): Whether to use layout processing. Defaults to \*\*true\*\*.\
> \- useImageDescription (boolean, optional): Whether to use image description. Defaults to \*\*true\*\*.\
> \- useOcr (boolean, optional): Whether to use OCR. Defaults to \*\*false\*\*.\
> \- isOverwriteFolderAccess (boolean, optional): Whether to overwrite folder access settings. Defaults to \*\*false\*\*.\
> \- accessPermissionGroups (array\[object], optional): Permission group access settings.\
> \- accessAgents (array\[object], optional): Agent access settings with \`agentId\` and \`accessType\`.\
> \- accessUserFilters (array\[object], optional): User access filters with \`variableName\` and \`value\`.\
> \- viewAccessToAgent (boolean, optional): Whether other agents can view. Defaults to \*\*false\*\*.\
> \- viewAccessToUser (boolean, optional): Whether other users can view. Defaults to \*\*false\*\*.\
> \- properties (array\[object], optional): Custom properties with \`key\` and \`value\`.\
> \- notificationHooks (array\[string], optional): Notification hooks to trigger on ingestion events.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"AccessPermissionGroup":{"properties":{"permissionGroupId":{"description":"액세스 권한 그룹의 권한 그룹 ID","title":"Permissiongroupid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"접근 권한 그룹의 접근 유형"}},"required":["permissionGroupId","accessType"],"title":"AccessPermissionGroup","type":"object"},"AccessUserFilter":{"properties":{"variableName":{"$ref":"#/components/schemas/AccessUserFilterEnum","description":"접근 유저 필터의 변수 이름"},"value":{"description":"액세스 유저 필터의 값","title":"Value","type":"string"}},"required":["variableName","value"],"title":"AccessUserFilter","type":"object"},"AccessUserFilterEnum":{"description":"시스템 변수 외의 변수가 추가되면 다시 설계해야 합니다.","enum":["CUSTOMER_ID","CUSTOMER_GROUP"],"title":"AccessUserFilterEnum","type":"string"},"KnowledgeBaseNotificationHookEnum":{"description":"Notification hooks that can be triggered on document ingestion events.","enum":["email_on_ingestion_complete"],"title":"KnowledgeBaseNotificationHookEnum","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/upload":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_upload_knowledge_base_node","summary":"지식베이스 노드 업로드","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"},"title":"Response","type":"array"}}}},"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 upload a file to the knowledge base. Supports access control, hashtag tagging, folder targeting, and ingestion options.\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- file (binary, required): The file to upload.\n- fileName (string, required): The file name.\n- hashtags (array[string], optional): Hashtags for the document.\n- targetFolderId (string, optional): Target folder ID.\n- useLayout (boolean, optional): Whether to use layout processing. Defaults to **true**.\n- useImageDescription (boolean, optional): Whether to use image description. Defaults to **true**.\n- useOcr (boolean, optional): Whether to use OCR. Defaults to **false**.\n- isOverwriteFolderAccess (boolean, optional): Whether to overwrite folder access settings. Defaults to **false**.\n- accessPermissionGroups (array[object], optional): Permission group access settings.\n- accessAgents (array[object], optional): Agent access settings with `agentId` and `accessType`.\n- accessUserFilters (array[object], optional): User access filters with `variableName` and `value`.\n- viewAccessToAgent (boolean, optional): Whether other agents can view. Defaults to **false**.\n- viewAccessToUser (boolean, optional): Whether other users can view. Defaults to **false**.\n- properties (array[object], optional): Custom properties with `key` and `value`.\n- notificationHooks (array[string], optional): Notification hooks to trigger on ingestion events.","tags":["KnowledgeBase"],"requestBody":{"content":{"multipart/form-data":{"schema":{"title":"MultiPartBodyParams","type":"object","properties":{"fileName":{"description":"지식베이스의 파일 이름","title":"Filename","type":"string"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"지식베이스의 해시태그","title":"Hashtags"},"targetFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"지식베이스의 대상 폴더 ID","title":"Targetfolderid"},"isOverwriteFolderAccess":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 덮어쓰기 폴더 접근 플래그","title":"Isoverwritefolderaccess"},"isOverwrite":{"default":false,"description":"If true and a document with the same file name already exists in the target folder, overwrite it with the uploaded file instead of creating a suffixed copy. Identical files (same name, size, and content) are always skipped regardless of this flag. Not applied to ZIP uploads: each extracted entry is always created fresh under a new folder.","title":"Isoverwrite","type":"boolean"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroup"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 권한 그룹","title":"Accesspermissiongroups"},"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 에이전트","title":"Accessagents"},"accessUserFilters":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessUserFilter"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 유저 필터","title":"Accessuserfilters"},"viewAccessToAgent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 에이전트 플래그 보기 접근 권한","title":"Viewaccesstoagent"},"viewAccessToUser":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 유저 플래그 보기 권한","title":"Viewaccesstouser"},"useLayout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Whether to use layout processing for improved document ingestion. Only used if project allows this feature.","title":"Uselayout"},"useImageDescription":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Whether to use image description for improved document ingestion. Only used if project allows this feature.","title":"Useimagedescription"},"useOcr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to use OCR for document processing","title":"Useocr"},"properties":{"type":"array","items":{"properties":{"key":{"title":"Key","type":"string"},"value":{"title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"description":"Properties for the knowledge base","title":"Properties"},"notificationHooks":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseNotificationHookEnum"},"type":"array"},{"type":"null"}],"description":"List of notification hooks to trigger on document ingestion events","title":"Notificationhooks"},"file":{"format":"binary","title":"File","type":"string"}},"required":["fileName","file"]}}},"required":true}}}}}
```

## Replace Document File

> This API allows you to replace the file of an existing document while keeping its metadata (hashtags, permissions, etc.).\
> \
> \## 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.\
> \
> \## Path Parameters\
> \
> \- nodeId (string, required): The global ID of the document to replace.\
> \
> \## Request Body (multipart/form-data)\
> \
> \- file (binary, required): The new file to upload.\
> \- resetClueFeedbacks (boolean, optional): Whether to reset answer feedbacks for this document. Defaults to \*\*false\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/{node_id}/replace":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_replace_knowledge_base_node","summary":"Replace Document File","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"}}}},"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 replace the file of an existing document while keeping its metadata (hashtags, permissions, etc.).\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## Path Parameters\n\n- nodeId (string, required): The global ID of the document to replace.\n\n## Request Body (multipart/form-data)\n\n- file (binary, required): The new file to upload.\n- resetClueFeedbacks (boolean, optional): Whether to reset answer feedbacks for this document. Defaults to **false**.","tags":["KnowledgeBase"],"requestBody":{"content":{"multipart/form-data":{"schema":{"title":"MultiPartBodyParams","type":"object","properties":{"resetClueFeedbacks":{"default":false,"description":"Whether to reset answer feedbacks for this document.","title":"Resetcluefeedbacks","type":"boolean"},"file":{"format":"binary","title":"File","type":"string"}},"required":["file"]}}},"required":true}}}}}
```

## AWS S3에서 업로드

> S3에서 문서 업로드\
> \
> 이 API를 사용하면 S3에 저장된 문서를 Cognitive Search로 전송할 수 있습니다. 대시보드에 지식베이스 문서로 나타납니다. 사용 가능한 파일 형식은 문서 업로드 섹션과 동일합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"UploadFromAWSS3Request":{"description":"S3에서 파일 업로드 요청 모델.","properties":{"fileName":{"description":"지식베이스의 파일 이름","title":"Filename","type":"string"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"지식베이스의 해시태그","title":"Hashtags"},"targetFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"지식베이스의 대상 폴더 ID","title":"Targetfolderid"},"isOverwriteFolderAccess":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 폴더 덮어쓰기 접근 플래그","title":"Isoverwritefolderaccess"},"isOverwrite":{"default":false,"description":"If true and a document with the same file name already exists in the target folder, overwrite it with the uploaded file instead of creating a suffixed copy. Identical files (same name, size, and content) are always skipped regardless of this flag. Not applied to ZIP uploads: each extracted entry is always created fresh under a new folder.","title":"Isoverwrite","type":"boolean"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroup"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 권한 그룹","title":"Accesspermissiongroups"},"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 에이전트","title":"Accessagents"},"accessUserFilters":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessUserFilter"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 유저 필터","title":"Accessuserfilters"},"viewAccessToAgent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 에이전트 플래그 보기 권한","title":"Viewaccesstoagent"},"viewAccessToUser":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 유저 플래그에 대한 보기 액세스","title":"Viewaccesstouser"},"useLayout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Whether to use layout processing for improved document ingestion. Only used if project allows this feature.","title":"Uselayout"},"useImageDescription":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Whether to use image description for improved document ingestion. Only used if project allows this feature.","title":"Useimagedescription"},"useOcr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to use OCR for document processing","title":"Useocr"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"description":"Properties for the knowledge base","title":"Properties"},"notificationHooks":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseNotificationHookEnum"},"type":"array"},{"type":"null"}],"description":"List of notification hooks to trigger on document ingestion events","title":"Notificationhooks"},"bucketObjectPath":{"description":"파일의 버킷 객체 경로","title":"Bucketobjectpath","type":"string"},"awsSecretKey":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"귀하의 S3 비밀 키.","title":"Awssecretkey"},"awsAccessKey":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"귀하의 S3 액세스 키.","title":"Awsaccesskey"},"awsIamRoleArn":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"액세스를 위한 AWS IAM 역할 ARN","title":"Awsiamrolearn"},"awsExternalId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"AWS IAM 역할의 외부 ID","title":"Awsexternalid"}},"required":["fileName","bucketObjectPath"],"title":"UploadFromAWSS3Request","type":"object"},"AccessPermissionGroup":{"properties":{"permissionGroupId":{"description":"액세스 권한 그룹의 권한 그룹 ID","title":"Permissiongroupid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"접근 권한 그룹의 접근 유형"}},"required":["permissionGroupId","accessType"],"title":"AccessPermissionGroup","type":"object"},"AccessUserFilter":{"properties":{"variableName":{"$ref":"#/components/schemas/AccessUserFilterEnum","description":"접근 유저 필터의 변수 이름"},"value":{"description":"액세스 유저 필터의 값","title":"Value","type":"string"}},"required":["variableName","value"],"title":"AccessUserFilter","type":"object"},"AccessUserFilterEnum":{"description":"시스템 변수 외의 변수가 추가되면 다시 설계해야 합니다.","enum":["CUSTOMER_ID","CUSTOMER_GROUP"],"title":"AccessUserFilterEnum","type":"string"},"KnowledgeBaseNotificationHookEnum":{"description":"Notification hooks that can be triggered on document ingestion events.","enum":["email_on_ingestion_complete"],"title":"KnowledgeBaseNotificationHookEnum","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/upload_from_aws_s3":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_upload_from_aws_s3","summary":"AWS S3에서 업로드","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠어","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"}}}},"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":"S3에서 문서 업로드\n\n이 API를 사용하면 S3에 저장된 문서를 Cognitive Search로 전송할 수 있습니다. 대시보드에 지식베이스 문서로 나타납니다. 사용 가능한 파일 형식은 문서 업로드 섹션과 동일합니다.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFromAWSS3Request"}}},"required":true}}}}}
```

## Azure Blob에서 업로드

> Azure Blob Storage에서 문서 업로드\
> \
> 이 API는 Azure Blob Storage에 저장된 문서를 Cognitive Search로 전송할 수 있습니다. 대시보드에 지식 베이스 문서로 표시됩니다. 사용 가능한 파일 형식은 문서 업로드 시 설명했던 내용과 동일합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"UploadFromAzureBlobRequest":{"description":"Azure Blob Storage에서 파일 업로드를 위한 요청 모델.","properties":{"fileName":{"description":"지식베이스의 파일 이름","title":"Filename","type":"string"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"지식베이스의 해시태그","title":"Hashtags"},"targetFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"지식베이스의 대상 폴더 ID","title":"Targetfolderid"},"isOverwriteFolderAccess":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 덮어쓰기 폴더 접근 플래그","title":"Isoverwritefolderaccess"},"isOverwrite":{"default":false,"description":"If true and a document with the same file name already exists in the target folder, overwrite it with the uploaded file instead of creating a suffixed copy. Identical files (same name, size, and content) are always skipped regardless of this flag. Not applied to ZIP uploads: each extracted entry is always created fresh under a new folder.","title":"Isoverwrite","type":"boolean"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroup"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 권한 그룹","title":"Accesspermissiongroups"},"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"description":"지식베이스의 액세스 에이전트","title":"Accessagents"},"accessUserFilters":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessUserFilter"},"type":"array"},{"type":"null"}],"description":"지식베이스의 접근 유저 필터","title":"Accessuserfilters"},"viewAccessToAgent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 에이전트 플래그 보기 권한","title":"Viewaccesstoagent"},"viewAccessToUser":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"지식베이스의 유저 플래그에 대한 보기 권한","title":"Viewaccesstouser"},"useLayout":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Whether to use layout processing for improved document ingestion. Only used if project allows this feature.","title":"Uselayout"},"useImageDescription":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":true,"description":"Whether to use image description for improved document ingestion. Only used if project allows this feature.","title":"Useimagedescription"},"useOcr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"Whether to use OCR for document processing","title":"Useocr"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"description":"Properties for the knowledge base","title":"Properties"},"notificationHooks":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseNotificationHookEnum"},"type":"array"},{"type":"null"}],"description":"List of notification hooks to trigger on document ingestion events","title":"Notificationhooks"},"containerBlobPath":{"description":"파일이 위치한 Blob 컨테이너 경로","title":"Containerblobpath","type":"string"},"azureConnectionString":{"description":"유저의 Azure Blob Storage용 연결 문자열.","title":"Azureconnectionstring","type":"string"}},"required":["fileName","containerBlobPath"],"title":"UploadFromAzureBlobRequest","type":"object"},"AccessPermissionGroup":{"properties":{"permissionGroupId":{"description":"액세스 권한 그룹의 권한 그룹 ID","title":"Permissiongroupid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"접근 권한 그룹의 접근 유형"}},"required":["permissionGroupId","accessType"],"title":"AccessPermissionGroup","type":"object"},"AccessUserFilter":{"properties":{"variableName":{"$ref":"#/components/schemas/AccessUserFilterEnum","description":"접근 유저 필터의 변수 이름"},"value":{"description":"액세스 유저 필터의 값","title":"Value","type":"string"}},"required":["variableName","value"],"title":"AccessUserFilter","type":"object"},"AccessUserFilterEnum":{"description":"시스템 변수 외의 변수가 추가되면 다시 설계해야 합니다.","enum":["CUSTOMER_ID","CUSTOMER_GROUP"],"title":"AccessUserFilterEnum","type":"string"},"KnowledgeBaseNotificationHookEnum":{"description":"Notification hooks that can be triggered on document ingestion events.","enum":["email_on_ingestion_complete"],"title":"KnowledgeBaseNotificationHookEnum","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/upload_from_azure_blob":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_upload_from_azure_blob","summary":"Azure Blob에서 업로드","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"확인","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"}}}},"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":"Azure Blob Storage에서 문서 업로드\n\n이 API는 Azure Blob Storage에 저장된 문서를 Cognitive Search로 전송할 수 있습니다. 대시보드에 지식 베이스 문서로 표시됩니다. 사용 가능한 파일 형식은 문서 업로드 시 설명했던 내용과 동일합니다.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadFromAzureBlobRequest"}}},"required":true}}}}}
```

## 지식베이스 노드

> This API allows you to search and list knowledge base documents and folders with filtering, ordering, and cursor-based pagination.\
> \
> \## 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\
> \
> \- filter (object, optional): Filter criteria for searching nodes.\
> \- order (string, optional): Sort order. Defaults to \*\*UPDATED\_AT\_DESC\*\*.\
> \- limit (integer, optional): Maximum number of results. Defaults to \*\*10\*\*.\
> \- after (string, optional): Cursor for pagination.\
> \- offset (integer, optional): Offset for pagination.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodesResponse":{"properties":{"result":{"$ref":"#/components/schemas/KnowledgeBaseNodes","description":"Knowledge base nodes"}},"required":["result"],"title":"KnowledgeBaseNodesResponse","type":"object"},"KnowledgeBaseNodes":{"properties":{"nodes":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}]},"type":"array"},{"type":"null"}],"description":"knowledge base nodes","title":"Nodes"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base nodes cursor","title":"Cursor"},"totalFileCount":{"description":"total number of files","title":"Totalfilecount","type":"integer"},"totalFolderCount":{"description":"total number of folders","title":"Totalfoldercount","type":"integer"}},"required":["totalFileCount","totalFolderCount"],"title":"KnowledgeBaseNodes","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"KnowledgeBaseNodesRequest":{"properties":{"filter_":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFilter"},{"type":"null"}],"description":"The filter of the knowledge base node"},"filter":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFilter"},{"type":"null"}],"description":"The filter of the knowledge base node"},"order":{"allOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeOrder"}],"default":"updated_at_desc","description":"The order of the knowledge base node"},"limit":{"default":10,"description":"The limit of the knowledge base node","title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The after of the knowledge base node","title":"After"},"offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"The offset of the knowledge base node","title":"Offset"}},"title":"KnowledgeBaseNodesRequest","type":"object"},"KnowledgeBaseNodeFilter":{"properties":{"parentFolderIds":{"anyOf":[{"items":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"array"},{"type":"null"}],"title":"Parentfolderids"},"searchTerm":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Searchterm"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Hashtags"},"hashtagsSearchOperator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hashtagssearchoperator"},"combinedHashtags":{"anyOf":[{"items":{"items":{"type":"string"},"type":"array"},"type":"array"},{"type":"null"}],"title":"Combinedhashtags"},"combinedHashtagsOperator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Combinedhashtagsoperator"},"excludingHashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Excludinghashtags"},"excludingHashtagsSearchOperator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Excludinghashtagssearchoperator"},"processState":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProcessStateEnum"},"type":"array"},{"type":"null"}],"title":"Processstate"},"status":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseNodeOnOffState"},"type":"array"},{"type":"null"}],"title":"Status"},"nodeType":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseNodeType"},"type":"array"},{"type":"null"}],"title":"Nodetype"},"knowledgeBaseIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Knowledgebaseids"},"folderIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Folderids"},"ownership":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseNodeOwnership"},"type":"array"},{"type":"null"}],"title":"Ownership"},"ancestorIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ancestorids"},"hasFaqCandidates":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Hasfaqcandidates"},"sourceTypes":{"anyOf":[{"items":{"$ref":"#/components/schemas/DocSourceEnum"},"type":"array"},{"type":"null"}],"title":"Sourcetypes"},"facetConditions":{"anyOf":[{"items":{"$ref":"#/components/schemas/FacetCondition"},"type":"array"},{"type":"null"}],"title":"Facetconditions"},"latestVersionOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Latestversiononly"}},"title":"KnowledgeBaseNodeFilter","type":"object"},"ProcessStateEnum":{"enum":["initializing","parsing","parsing_fail","completed","retrying","post_parsing","post_parsing_fail","post_completed","post_retrying"],"title":"ProcessStateEnum","type":"string"},"KnowledgeBaseNodeOnOffState":{"enum":["on","off"],"title":"KnowledgeBaseNodeOnOffState","type":"string"},"KnowledgeBaseNodeType":{"enum":["file","folder"],"title":"KnowledgeBaseNodeType","type":"string"},"KnowledgeBaseNodeOwnership":{"enum":["personal","shared"],"title":"KnowledgeBaseNodeOwnership","type":"string"},"DocSourceEnum":{"enum":["onedrive","html","google-drive","confluence","sharepoint","notion","github","alli","data_integration_service","box","box_v2","google_drive_v2"],"title":"DocSourceEnum","type":"string"},"FacetCondition":{"description":"A single facet comparison the document corpus is narrowed by.\n\n`value` is the resolved comparison operand whose runtime type follows the facet's\nown value type (single string, number, or multi-select set). `None` carries the\n\"no operand\" case used by the EXISTS / NOT_EXISTS comparators.","properties":{"attribute":{"title":"Attribute","type":"string"},"comparator":{"$ref":"#/components/schemas/FacetComparator"},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Value"}},"required":["attribute","comparator"],"title":"FacetCondition","type":"object"},"FacetComparator":{"description":"Comparison operators for a facet filter condition.\n\nMirrors Knowledge Refinery's `FacetComparator` wire values — the `.value`\nstring is sent verbatim to the KR document-id collection endpoint.","enum":["eq","ne","gt","gte","lt","lte","in","nin","contain","like","exists","not_exists"],"title":"FacetComparator","type":"string"},"KnowledgeBaseNodeOrder":{"enum":["name_asc","name_desc","updated_at_asc","updated_at_desc","created_at_asc","created_at_desc","file_and_name_asc","file_and_name_desc","folder_and_name_asc","folder_and_name_desc"],"title":"KnowledgeBaseNodeOrder","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/search":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_knowledge_base_nodes","summary":"지식베이스 노드","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"좋아요","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodesResponse"}}}},"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 search and list knowledge base documents and folders with filtering, ordering, and cursor-based pagination.\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- filter (object, optional): Filter criteria for searching nodes.\n- order (string, optional): Sort order. Defaults to **UPDATED_AT_DESC**.\n- limit (integer, optional): Maximum number of results. Defaults to **10**.\n- after (string, optional): Cursor for pagination.\n- offset (integer, optional): Offset for pagination.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodesRequest"}],"default":{"filter_":null,"filter":null,"order":"updated_at_desc","limit":10,"after":null,"offset":null}}}},"required":false}}}}}
```

## 콘텐츠 검색

> This API allows you to perform full-text search across knowledge base document contents with cursor-based pagination.\
> \
> \## 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\
> \
> \- searchTerm (string, required): The text to search for.\
> \- limit (integer, optional): Maximum number of results. Defaults to \*\*10\*\*.\
> \- after (string, optional): Cursor for pagination.\
> \- folderIds (array\[string], optional): Folder IDs to search within.\
> \- searchScope (string, optional): Search scope. Must be \`both\`, \`title\`, or \`content\`. Defaults to \*\*both\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodesResponse":{"properties":{"result":{"$ref":"#/components/schemas/KnowledgeBaseNodes","description":"Knowledge base nodes"}},"required":["result"],"title":"KnowledgeBaseNodesResponse","type":"object"},"KnowledgeBaseNodes":{"properties":{"nodes":{"anyOf":[{"items":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}]},"type":"array"},{"type":"null"}],"description":"knowledge base nodes","title":"Nodes"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base nodes cursor","title":"Cursor"},"totalFileCount":{"description":"total number of files","title":"Totalfilecount","type":"integer"},"totalFolderCount":{"description":"total number of folders","title":"Totalfoldercount","type":"integer"}},"required":["totalFileCount","totalFolderCount"],"title":"KnowledgeBaseNodes","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"ContentSearchRequest":{"properties":{"searchTerm":{"description":"The search term of the knowledge base node","title":"Searchterm","type":"string"},"limit":{"default":10,"description":"The limit of the knowledge base node","exclusiveMinimum":0,"maximum":10000,"title":"Limit","type":"integer"},"after":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The after of the knowledge base node","title":"After"},"folderIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"The folder IDs of the knowledge base node","title":"Folderids"},"searchScope":{"allOf":[{"$ref":"#/components/schemas/SearchScopeEnum"}],"default":"both","description":"The search scope of the knowledge base node"}},"required":["searchTerm"],"title":"ContentSearchRequest","type":"object"},"SearchScopeEnum":{"enum":["title_only","content_only","both"],"title":"SearchScopeEnum","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/content_search":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_content_search","summary":"콘텐츠 검색","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodesResponse"}}}},"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 perform full-text search across knowledge base document contents with cursor-based pagination.\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- searchTerm (string, required): The text to search for.\n- limit (integer, optional): Maximum number of results. Defaults to **10**.\n- after (string, optional): Cursor for pagination.\n- folderIds (array[string], optional): Folder IDs to search within.\n- searchScope (string, optional): Search scope. Must be `both`, `title`, or `content`. Defaults to **both**.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentSearchRequest"}}},"required":true}}}}}
```

## Page Content Search

> This API allows you to search within document pages and return matching text with page numbers.\
> \
> \## 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\
> \
> \- searchTerms (array\[string], required): The terms to search for.\
> \- folderIds (array\[string], optional): Folder IDs to search within.\
> \- knowledgeBaseIds (array\[string], optional): Knowledge base IDs to search within.\
> \- hashtags (array\[string], optional): Hashtags to filter by.\
> \- hashtagsOperator (string, optional): Operator for hashtag filter. Defaults to \*\*OR\*\*.\
> \- excludeHashtags (array\[string], optional): Hashtags to exclude from results.\
> \- excludeHashtagsOperator (string, optional): Operator for exclude hashtag filter. Defaults to \*\*OR\*\*.\
> \- topN (integer, optional): Number of top results per document. Defaults to \*\*1\*\*.\
> \- mergeSamePage (boolean, optional): Whether to merge content from the same page. Defaults to \*\*false\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"PageContentSearchResponse":{"description":"Response model for page content search containing list of page content items with metadata.","properties":{"results":{"description":"List of page content items with metadata","items":{"$ref":"#/components/schemas/PageContentItem"},"title":"Results","type":"array"}},"required":["results"],"title":"PageContentSearchResponse","type":"object"},"PageContentItem":{"description":"Individual page content item with metadata.","properties":{"kbId":{"description":"Knowledge base ID","title":"Kbid","type":"string"},"title":{"description":"Document title","title":"Title","type":"string"},"text":{"description":"Page text content","title":"Text","type":"string"},"pageNo":{"description":"Page number","title":"Pageno","type":"integer"}},"required":["kbId","title","text","pageNo"],"title":"PageContentItem","type":"object"},"PageContentSearchRequest":{"properties":{"searchTerms":{"description":"The search terms for page content search","items":{"type":"string"},"title":"Searchterms","type":"array"},"folderIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"The folder IDs to search within","title":"Folderids"},"knowledgeBaseIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"The knowledge base IDs to search within","title":"Knowledgebaseids"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"The hashtags to filter by","title":"Hashtags"},"hashtagsOperator":{"default":"OR","description":"The hashtags operator (AND/OR)","title":"Hashtagsoperator","type":"string"},"excludeHashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"The hashtags to exclude","title":"Excludehashtags"},"excludeHashtagsOperator":{"default":"OR","description":"The exclude hashtags operator (AND/OR)","title":"Excludehashtagsoperator","type":"string"},"topN":{"default":1,"description":"The number of top results to return","exclusiveMinimum":0,"maximum":100,"title":"Topn","type":"integer"},"mergeSamePage":{"default":false,"description":"Whether to merge content from the same page","title":"Mergesamepage","type":"boolean"}},"required":["searchTerms"],"title":"PageContentSearchRequest","type":"object"}}},"paths":{"/webapi/v2/knowledge_base_nodes/page_content_search":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_page_content_search","summary":"Page Content Search","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageContentSearchResponse"}}}},"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 search within document pages and return matching text with page numbers.\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- searchTerms (array[string], required): The terms to search for.\n- folderIds (array[string], optional): Folder IDs to search within.\n- knowledgeBaseIds (array[string], optional): Knowledge base IDs to search within.\n- hashtags (array[string], optional): Hashtags to filter by.\n- hashtagsOperator (string, optional): Operator for hashtag filter. Defaults to **OR**.\n- excludeHashtags (array[string], optional): Hashtags to exclude from results.\n- excludeHashtagsOperator (string, optional): Operator for exclude hashtag filter. Defaults to **OR**.\n- topN (integer, optional): Number of top results per document. Defaults to **1**.\n- mergeSamePage (boolean, optional): Whether to merge content from the same page. Defaults to **false**.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageContentSearchRequest"}}},"required":true}}}}}
```

## 지식베이스 노드

> This API allows you to retrieve a single knowledge base document or folder by its global 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":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/{node_id}":{"get":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_knowledge_base_node","summary":"지식베이스 노드","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node Id","type":"string"},"required":true}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"}}}},"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 single knowledge base document or folder by its global 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":["KnowledgeBase"]}}}}
```

## 지식베이스 노드 업데이트

> This API allows you to update a knowledge base document or folder. Supports title, hashtags, access control, and custom 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\
> \
> \- title (string, optional): New title for the node.\
> \- hashtags (array\[string], optional): Hashtags for the node.\
> \- properties (array\[object], optional): Custom key-value properties with \`key\` and \`value\`.\
> \- isOverwriteFolderAccess (boolean, optional): Whether to overwrite folder access settings.\
> \- accessPermissionGroups (array\[object], optional): Permission group access settings with \`permissionGroupId\` and \`accessType\`.\
> \- accessAgents (array\[object], optional): Agent access settings with \`agentId\` and \`accessType\`.\
> \- accessUserFilters (array\[object], optional): User access filters with \`variableName\` and \`value\`.\
> \- viewAccessToAgent (boolean, optional): Whether other agents can view.\
> \- viewAccessToUser (boolean, optional): Whether other users can view.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"UpdateKnowledgeBaseNodeRequest":{"additionalProperties":false,"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The title of the knowledge base node","title":"Title"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"description":"지식베이스 노드의 해시태그","title":"Hashtags"},"isOverwriteFolderAccess":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"The overwrite folder access flag of the knowledge base node","title":"Isoverwritefolderaccess"},"accessPermissionGroups":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessPermissionGroup"},"type":"array"},{"type":"null"}],"description":"The access permission groups of the knowledge base node","title":"Accesspermissiongroups"},"accessAgents":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessAgent"},"type":"array"},{"type":"null"}],"description":"The access agents of the knowledge base node","title":"Accessagents"},"accessUserFilters":{"anyOf":[{"items":{"$ref":"#/components/schemas/AccessUserFilter"},"type":"array"},{"type":"null"}],"description":"The access user filters of the knowledge base node","title":"Accessuserfilters"},"viewAccessToAgent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"The view access to agent flag of the knowledge base node","title":"Viewaccesstoagent"},"viewAccessToUser":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"The view access to user flag of the knowledge base node","title":"Viewaccesstouser"},"properties":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"description":"Properties for the knowledge base node","title":"Properties"}},"title":"UpdateKnowledgeBaseNodeRequest","type":"object"},"AccessPermissionGroup":{"properties":{"permissionGroupId":{"description":"액세스 권한 그룹의 권한 그룹 ID","title":"Permissiongroupid","type":"string"},"accessType":{"$ref":"#/components/schemas/ObjectAccessType","description":"접근 권한 그룹의 접근 유형"}},"required":["permissionGroupId","accessType"],"title":"AccessPermissionGroup","type":"object"},"AccessUserFilter":{"properties":{"variableName":{"$ref":"#/components/schemas/AccessUserFilterEnum","description":"접근 유저 필터의 변수 이름"},"value":{"description":"액세스 유저 필터의 값","title":"Value","type":"string"}},"required":["variableName","value"],"title":"AccessUserFilter","type":"object"},"AccessUserFilterEnum":{"description":"시스템 변수 외의 변수가 추가되면 다시 설계해야 합니다.","enum":["CUSTOMER_ID","CUSTOMER_GROUP"],"title":"AccessUserFilterEnum","type":"string"}}},"paths":{"/webapi/v2/knowledge_base_nodes/{node_id}":{"put":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_update_knowledge_base_node","summary":"지식베이스 노드 업데이트","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node Id","type":"string"},"required":true}],"responses":{"200":{"description":"확인","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"}}}},"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 a knowledge base document or folder. Supports title, hashtags, access control, and custom 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- title (string, optional): New title for the node.\n- hashtags (array[string], optional): Hashtags for the node.\n- properties (array[object], optional): Custom key-value properties with `key` and `value`.\n- isOverwriteFolderAccess (boolean, optional): Whether to overwrite folder access settings.\n- accessPermissionGroups (array[object], optional): Permission group access settings with `permissionGroupId` and `accessType`.\n- accessAgents (array[object], optional): Agent access settings with `agentId` and `accessType`.\n- accessUserFilters (array[object], optional): User access filters with `variableName` and `value`.\n- viewAccessToAgent (boolean, optional): Whether other agents can view.\n- viewAccessToUser (boolean, optional): Whether other users can view.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKnowledgeBaseNodeRequest"}}},"required":true}}}}}
```

## 지식베이스 노드 삭제

> This API allows you to delete a knowledge base document or folder by its global 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":"KnowledgeBase","description":"User 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/knowledge_base_nodes/{node_id}":{"delete":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_delete_knowledge_base_nodes","summary":"지식베이스 노드 삭제","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node Id","type":"string"},"required":true}],"responses":{"200":{"description":"알겠습니다"},"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 delete a knowledge base document or folder by its global 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":["KnowledgeBase"]}}}}
```

## Preview Knowledge Base Node

> This API allows you to get a preview of a knowledge base node with HTML and PDF information.\
> \
> \## 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\
> \
> \- page\_no (integer, optional): The page number to preview.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBasePreviewResponse":{"description":"Response model for knowledge base preview containing HTML and PDF information.","properties":{"html":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"HTML preview of the knowledge base","title":"Html"},"pdfUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"PDF preview of the knowledge base","title":"Pdfurl"},"imageUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Image preview of the knowledge base","title":"Imageurl"},"previewUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Preview URL of the knowledge base","title":"Previewurl"},"totalPreviewCount":{"default":0,"description":"Total preview count of the knowledge base","title":"Totalpreviewcount","type":"integer"},"piiMasked":{"default":false,"description":"Whether the preview is hidden due to PII masking","title":"Piimasked","type":"boolean"}},"title":"KnowledgeBasePreviewResponse","type":"object"}}},"paths":{"/webapi/v2/knowledge_base_nodes/{node_id}/preview":{"get":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_knowledge_base_node_preview","summary":"Preview Knowledge Base Node","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node Id","type":"string"},"required":true},{"in":"query","name":"page_no","schema":{"default":1,"title":"Page No","type":"integer"},"required":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBasePreviewResponse"}}}},"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 get a preview of a knowledge base node with HTML and PDF information.\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- page_no (integer, optional): The page number to preview.","tags":["KnowledgeBase"]}}}}
```

## Get Knowledge Base Node Text

> This API allows you to get text content of a knowledge base node from parsed pages.\
> \
> \## 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\
> \
> \- limit (integer, optional): Maximum number of pages to return.\
> \- offset (integer, optional): Number of pages to skip.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/knowledge_base_nodes/{node_id}/text":{"get":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_knowledge_base_node_text","summary":"Get Knowledge Base Node Text","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node Id","type":"string"},"required":true},{"in":"query","name":"limit","schema":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Limit"},"required":false},{"in":"query","name":"offset","schema":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"title":"Offset"},"required":false}],"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 get text content of a knowledge base node from parsed pages.\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- limit (integer, optional): Maximum number of pages to return.\n- offset (integer, optional): Number of pages to skip.","tags":["KnowledgeBase"]}}}}
```

## Download Knowledge Base Node

> This API allows you to download the original file of a knowledge base node.\
> \
> \## 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":"KnowledgeBase","description":"User 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/knowledge_base_nodes/{node_id}/download":{"get":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_node_api_knowledge_base_node_download","summary":"Download Knowledge Base Node","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"node_id","schema":{"title":"Node 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 download the original file of a knowledge base node.\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":["KnowledgeBase"]}}}}
```

## 폴더 만들기

> This API allows you to create a new folder with optional parent folder, access control, and permission settings.\
> \
> \## 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, required): The name of the folder. Maximum 50 characters.\
> \- parentFolderId (string, optional): The ID of the parent folder. Null to create at root level.\
> \- permissionGroupEditors (array\[string], optional): Permission group IDs to grant editor access.\
> \- permissionGroupViewers (array\[string], optional): Permission group IDs to grant viewer access.\
> \- agentEditors (array\[string], optional): Agent IDs to grant editor access.\
> \- agentViewers (array\[string], optional): Agent IDs to grant viewer access.\
> \- userViewers (object, optional): User access filters with \`customerIds\` and \`customerGroupIds\` arrays.\
> \- allowOtherAgentsView (boolean, optional): Whether other agents can view. Defaults to \*\*true\*\*.\
> \- allowOtherUsersView (boolean, optional): Whether other users can view. Defaults to \*\*true\*\*.\
> \- followParentFolderPermission (boolean, optional): Whether to inherit parent folder permissions. Defaults to \*\*false\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"FolderResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"createdAt":{"title":"Createdat","type":"number"},"updatedAt":{"title":"Updatedat","type":"number"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"folderSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foldersize"}},"required":["id","name","createdAt","updatedAt"],"title":"FolderResponse","type":"object"},"CreateFolderRequest":{"properties":{"name":{"maxLength":50,"title":"Name","type":"string"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"followParentFolderPermission":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Followparentfolderpermission"},"permissionGroupEditors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Permissiongroupeditors"},"permissionGroupViewers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Permissiongroupviewers"},"agentEditors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agenteditors"},"agentViewers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agentviewers"},"userViewers":{"anyOf":[{"$ref":"#/components/schemas/UserAccessPermissionRequest"},{"type":"null"}]},"allowOtherAgentsView":{"default":true,"title":"Allowotheragentsview","type":"boolean"},"allowOtherUsersView":{"default":true,"title":"Allowotherusersview","type":"boolean"}},"required":["name"],"title":"CreateFolderRequest","type":"object"},"UserAccessPermissionRequest":{"properties":{"customerIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customerids"},"customerGroupIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customergroupids"}},"title":"UserAccessPermissionRequest","type":"object"}}},"paths":{"/webapi/v2/folders":{"post":{"operationId":"django_server_knowledge_base_views_rest_folder_api_create_folder","summary":"폴더 만들기","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"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 create a new folder with optional parent folder, access control, and permission settings.\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, required): The name of the folder. Maximum 50 characters.\n- parentFolderId (string, optional): The ID of the parent folder. Null to create at root level.\n- permissionGroupEditors (array[string], optional): Permission group IDs to grant editor access.\n- permissionGroupViewers (array[string], optional): Permission group IDs to grant viewer access.\n- agentEditors (array[string], optional): Agent IDs to grant editor access.\n- agentViewers (array[string], optional): Agent IDs to grant viewer access.\n- userViewers (object, optional): User access filters with `customerIds` and `customerGroupIds` arrays.\n- allowOtherAgentsView (boolean, optional): Whether other agents can view. Defaults to **true**.\n- allowOtherUsersView (boolean, optional): Whether other users can view. Defaults to **true**.\n- followParentFolderPermission (boolean, optional): Whether to inherit parent folder permissions. Defaults to **false**.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolderRequest"}}},"required":true}}}}}
```

## 폴더 조회

> ID로 단일 폴더를 조회하며 폴더 크기 정보를 포함합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"FolderResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"createdAt":{"title":"Createdat","type":"number"},"updatedAt":{"title":"Updatedat","type":"number"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"folderSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foldersize"}},"required":["id","name","createdAt","updatedAt"],"title":"FolderResponse","type":"object"}}},"paths":{"/webapi/v2/folders/{folder_id}":{"get":{"operationId":"django_server_knowledge_base_views_rest_folder_api_get_folder","summary":"폴더 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"folder_id","schema":{"title":"Folder Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"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":"ID로 단일 폴더를 조회하며 폴더 크기 정보를 포함합니다.","tags":["KnowledgeBase"]}}}}
```

## 폴더 수정

> This API allows you to update a folder's name, access control, and permission settings.\
> \
> \## 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, required): The new name for the folder. Maximum 50 characters.\
> \- permissionGroupEditors (array\[string], optional): Permission group IDs to grant editor access.\
> \- permissionGroupViewers (array\[string], optional): Permission group IDs to grant viewer access.\
> \- agentEditors (array\[string], optional): Agent IDs to grant editor access.\
> \- agentViewers (array\[string], optional): Agent IDs to grant viewer access.\
> \- userViewers (object, optional): User access filters with \`customerIds\` and \`customerGroupIds\` arrays.\
> \- allowOtherAgentsView (boolean, optional): Whether other agents can view.\
> \- allowOtherUsersView (boolean, optional): Whether other users can view.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"FolderResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"createdAt":{"title":"Createdat","type":"number"},"updatedAt":{"title":"Updatedat","type":"number"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"folderSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foldersize"}},"required":["id","name","createdAt","updatedAt"],"title":"FolderResponse","type":"object"},"UpdateFolderRequest":{"properties":{"name":{"maxLength":50,"title":"Name","type":"string"},"permissionGroupEditors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Permissiongroupeditors"},"permissionGroupViewers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Permissiongroupviewers"},"agentEditors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agenteditors"},"agentViewers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agentviewers"},"userViewers":{"anyOf":[{"$ref":"#/components/schemas/UserAccessPermissionRequest"},{"type":"null"}]},"allowOtherAgentsView":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allowotheragentsview"},"allowOtherUsersView":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allowotherusersview"}},"required":["name"],"title":"UpdateFolderRequest","type":"object"},"UserAccessPermissionRequest":{"properties":{"customerIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customerids"},"customerGroupIds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Customergroupids"}},"title":"UserAccessPermissionRequest","type":"object"}}},"paths":{"/webapi/v2/folders/{folder_id}":{"put":{"operationId":"django_server_knowledge_base_views_rest_folder_api_update_folder","summary":"폴더 수정","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"folder_id","schema":{"title":"Folder Id","type":"string"},"required":true}],"responses":{"200":{"description":"좋아요","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"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 a folder's name, access control, and permission settings.\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, required): The new name for the folder. Maximum 50 characters.\n- permissionGroupEditors (array[string], optional): Permission group IDs to grant editor access.\n- permissionGroupViewers (array[string], optional): Permission group IDs to grant viewer access.\n- agentEditors (array[string], optional): Agent IDs to grant editor access.\n- agentViewers (array[string], optional): Agent IDs to grant viewer access.\n- userViewers (object, optional): User access filters with `customerIds` and `customerGroupIds` arrays.\n- allowOtherAgentsView (boolean, optional): Whether other agents can view.\n- allowOtherUsersView (boolean, optional): Whether other users can view.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolderRequest"}}},"required":true}}}}}
```

## 폴더 삭제

> This API allows you to delete a folder. Optionally move contained documents to the root folder instead of deleting them.\
> \
> \## 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\
> \
> \- move\_docs\_out\_of\_folder (boolean, optional): If true, moves documents to the root folder instead of deleting them. Defaults to \*\*false\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/folders/{folder_id}":{"delete":{"operationId":"django_server_knowledge_base_views_rest_folder_api_delete_folder","summary":"폴더 삭제","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"folder_id","schema":{"title":"Folder Id","type":"string"},"required":true},{"in":"query","name":"move_docs_out_of_folder","schema":{"default":false,"title":"Move Docs Out Of Folder","type":"boolean"},"required":false}],"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 delete a folder. Optionally move contained documents to the root folder instead of deleting them.\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- move_docs_out_of_folder (boolean, optional): If true, moves documents to the root folder instead of deleting them. Defaults to **false**.","tags":["KnowledgeBase"]}}}}
```

## Create Personal Folder

> This API allows you to create a folder in the requesting user's personal document box.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string): The email address of the project member whose personal document box is being\
> &#x20; opened. \*\*Required on Works projects\*\*, where it is what names the box; omitting it there is\
> &#x20; rejected rather than resolved to the project owner.\
> \- USER-EMAIL (string): The email address to associate with the user. \*\*Required on Works projects\*\*,\
> &#x20; where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\
> \- OWN-USER-ID (string): The user ID to identify or create a user. \*\*Required on other project types\*\*,\
> &#x20; where it names the acting user. On Works it is accepted in place of USER-EMAIL.\
> \
> So a Works call sends \*\*AGENT-EMAIL and USER-EMAIL together\*\*, and any other project sends\
> \*\*OWN-USER-ID\*\*. Every endpoint acts on the resolved user's own document box; a request that\
> resolves no user is rejected — never redirected to the shared box, nor to the project owner's.\
> \
> \## Request Body\
> \
> \- name (string, required): The name of the folder. Maximum 50 characters. Must be unique among the\
> &#x20; caller's own folders under the same parent.\
> \- parentFolderId (string, optional): The parent folder ID. Null creates the folder at the personal\
> &#x20; document box root. When given, it must be one of the caller's own personal folders — a shared\
> &#x20; folder is rejected.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"FolderResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"createdAt":{"title":"Createdat","type":"number"},"updatedAt":{"title":"Updatedat","type":"number"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"folderSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foldersize"}},"required":["id","name","createdAt","updatedAt"],"title":"FolderResponse","type":"object"},"CreatePersonalFolderRequest":{"properties":{"name":{"description":"The name of the folder. Maximum 50 characters.","maxLength":50,"title":"Name","type":"string"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The parent folder ID. Null creates the folder at the personal document box root.","title":"Parentfolderid"}},"required":["name"],"title":"CreatePersonalFolderRequest","type":"object"}}},"paths":{"/webapi/v2/personal_folders":{"post":{"operationId":"django_server_knowledge_base_views_rest_personal_folder_api_create_personal_folder","summary":"Create Personal Folder","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"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 create a folder in the requesting user's personal document box.\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): The email address of the project member whose personal document box is being\n  opened. **Required on Works projects**, where it is what names the box; omitting it there is\n  rejected rather than resolved to the project owner.\n- USER-EMAIL (string): The email address to associate with the user. **Required on Works projects**,\n  where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\n- OWN-USER-ID (string): The user ID to identify or create a user. **Required on other project types**,\n  where it names the acting user. On Works it is accepted in place of USER-EMAIL.\n\nSo a Works call sends **AGENT-EMAIL and USER-EMAIL together**, and any other project sends\n**OWN-USER-ID**. Every endpoint acts on the resolved user's own document box; a request that\nresolves no user is rejected — never redirected to the shared box, nor to the project owner's.\n\n## Request Body\n\n- name (string, required): The name of the folder. Maximum 50 characters. Must be unique among the\n  caller's own folders under the same parent.\n- parentFolderId (string, optional): The parent folder ID. Null creates the folder at the personal\n  document box root. When given, it must be one of the caller's own personal folders — a shared\n  folder is rejected.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePersonalFolderRequest"}}},"required":true}}}}}
```

## Rename Personal Folder

> This API allows you to rename a folder in the requesting user's personal document box.\
> \
> Only a folder the caller owns can be renamed; a shared folder or another user's personal folder is\
> rejected. Use the move API to relocate a folder — the parent cannot be changed here.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string): The email address of the project member whose personal document box is being\
> &#x20; opened. \*\*Required on Works projects\*\*, where it is what names the box; omitting it there is\
> &#x20; rejected rather than resolved to the project owner.\
> \- USER-EMAIL (string): The email address to associate with the user. \*\*Required on Works projects\*\*,\
> &#x20; where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\
> \- OWN-USER-ID (string): The user ID to identify or create a user. \*\*Required on other project types\*\*,\
> &#x20; where it names the acting user. On Works it is accepted in place of USER-EMAIL.\
> \
> So a Works call sends \*\*AGENT-EMAIL and USER-EMAIL together\*\*, and any other project sends\
> \*\*OWN-USER-ID\*\*. Every endpoint acts on the resolved user's own document box; a request that\
> resolves no user is rejected — never redirected to the shared box, nor to the project owner's.\
> \
> \## Request Body\
> \
> \- name (string, required): The new name for the folder. Maximum 50 characters. Must be unique among\
> &#x20; the caller's own folders under the same parent.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"FolderResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"createdAt":{"title":"Createdat","type":"number"},"updatedAt":{"title":"Updatedat","type":"number"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"folderSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foldersize"}},"required":["id","name","createdAt","updatedAt"],"title":"FolderResponse","type":"object"},"UpdatePersonalFolderRequest":{"properties":{"name":{"description":"The new name for the folder. Maximum 50 characters.","maxLength":50,"title":"Name","type":"string"}},"required":["name"],"title":"UpdatePersonalFolderRequest","type":"object"}}},"paths":{"/webapi/v2/personal_folders/{folder_id}":{"put":{"operationId":"django_server_knowledge_base_views_rest_personal_folder_api_update_personal_folder","summary":"Rename Personal Folder","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"folder_id","schema":{"title":"Folder Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"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 rename a folder in the requesting user's personal document box.\n\nOnly a folder the caller owns can be renamed; a shared folder or another user's personal folder is\nrejected. Use the move API to relocate a folder — the parent cannot be changed here.\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): The email address of the project member whose personal document box is being\n  opened. **Required on Works projects**, where it is what names the box; omitting it there is\n  rejected rather than resolved to the project owner.\n- USER-EMAIL (string): The email address to associate with the user. **Required on Works projects**,\n  where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\n- OWN-USER-ID (string): The user ID to identify or create a user. **Required on other project types**,\n  where it names the acting user. On Works it is accepted in place of USER-EMAIL.\n\nSo a Works call sends **AGENT-EMAIL and USER-EMAIL together**, and any other project sends\n**OWN-USER-ID**. Every endpoint acts on the resolved user's own document box; a request that\nresolves no user is rejected — never redirected to the shared box, nor to the project owner's.\n\n## Request Body\n\n- name (string, required): The new name for the folder. Maximum 50 characters. Must be unique among\n  the caller's own folders under the same parent.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePersonalFolderRequest"}}},"required":true}}}}}
```

## Delete Personal Folder

> This API allows you to delete a folder in the requesting user's personal document box.\
> \
> The folder and everything below it — subfolders and documents — are deleted. Only a folder the\
> caller owns can be deleted; a shared folder or another user's personal folder is rejected.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string): The email address of the project member whose personal document box is being\
> &#x20; opened. \*\*Required on Works projects\*\*, where it is what names the box; omitting it there is\
> &#x20; rejected rather than resolved to the project owner.\
> \- USER-EMAIL (string): The email address to associate with the user. \*\*Required on Works projects\*\*,\
> &#x20; where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\
> \- OWN-USER-ID (string): The user ID to identify or create a user. \*\*Required on other project types\*\*,\
> &#x20; where it names the acting user. On Works it is accepted in place of USER-EMAIL.\
> \
> So a Works call sends \*\*AGENT-EMAIL and USER-EMAIL together\*\*, and any other project sends\
> \*\*OWN-USER-ID\*\*. Every endpoint acts on the resolved user's own document box; a request that\
> resolves no user is rejected — never redirected to the shared box, nor to the project owner's.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/personal_folders/{folder_id}":{"delete":{"operationId":"django_server_knowledge_base_views_rest_personal_folder_api_delete_personal_folder","summary":"Delete Personal Folder","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"folder_id","schema":{"title":"Folder Id","type":"string"},"required":true}],"responses":{"204":{"description":"No Content"},"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 delete a folder in the requesting user's personal document box.\n\nThe folder and everything below it — subfolders and documents — are deleted. Only a folder the\ncaller owns can be deleted; a shared folder or another user's personal folder is rejected.\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): The email address of the project member whose personal document box is being\n  opened. **Required on Works projects**, where it is what names the box; omitting it there is\n  rejected rather than resolved to the project owner.\n- USER-EMAIL (string): The email address to associate with the user. **Required on Works projects**,\n  where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\n- OWN-USER-ID (string): The user ID to identify or create a user. **Required on other project types**,\n  where it names the acting user. On Works it is accepted in place of USER-EMAIL.\n\nSo a Works call sends **AGENT-EMAIL and USER-EMAIL together**, and any other project sends\n**OWN-USER-ID**. Every endpoint acts on the resolved user's own document box; a request that\nresolves no user is rejected — never redirected to the shared box, nor to the project owner's.\n","tags":["KnowledgeBase"]}}}}
```

## Move Personal Folder

> This API allows you to move a folder within the requesting user's personal document box.\
> \
> Both the folder being moved and the destination must belong to the caller: a personal folder cannot\
> be moved into the shared document box, and a shared folder cannot be moved into the personal one.\
> A folder cannot be moved into itself or one of its own descendants. If the destination already holds\
> a folder with the same name, the moved folder is renamed with a numeric suffix.\
> \
> The move answers 409 when the folder already sits in the destination, matching the personal document\
> move rather than reporting success for a move that did not happen.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string): The email address of the project member whose personal document box is being\
> &#x20; opened. \*\*Required on Works projects\*\*, where it is what names the box; omitting it there is\
> &#x20; rejected rather than resolved to the project owner.\
> \- USER-EMAIL (string): The email address to associate with the user. \*\*Required on Works projects\*\*,\
> &#x20; where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\
> \- OWN-USER-ID (string): The user ID to identify or create a user. \*\*Required on other project types\*\*,\
> &#x20; where it names the acting user. On Works it is accepted in place of USER-EMAIL.\
> \
> So a Works call sends \*\*AGENT-EMAIL and USER-EMAIL together\*\*, and any other project sends\
> \*\*OWN-USER-ID\*\*. Every endpoint acts on the resolved user's own document box; a request that\
> resolves no user is rejected — never redirected to the shared box, nor to the project owner's.\
> \
> \## Request Body\
> \
> \- parentFolderId (string, optional): The destination folder ID. Null moves the folder to the personal\
> &#x20; document box root.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"FolderResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"createdAt":{"title":"Createdat","type":"number"},"updatedAt":{"title":"Updatedat","type":"number"},"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parentfolderid"},"folderSize":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Foldersize"}},"required":["id","name","createdAt","updatedAt"],"title":"FolderResponse","type":"object"},"MovePersonalFolderRequest":{"properties":{"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The destination folder ID. Null moves the folder to the personal document box root.","title":"Parentfolderid"}},"title":"MovePersonalFolderRequest","type":"object"}}},"paths":{"/webapi/v2/personal_folders/{folder_id}/move":{"post":{"operationId":"django_server_knowledge_base_views_rest_personal_folder_api_move_personal_folder","summary":"Move Personal Folder","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"folder_id","schema":{"title":"Folder Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderResponse"}}}},"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 move a folder within the requesting user's personal document box.\n\nBoth the folder being moved and the destination must belong to the caller: a personal folder cannot\nbe moved into the shared document box, and a shared folder cannot be moved into the personal one.\nA folder cannot be moved into itself or one of its own descendants. If the destination already holds\na folder with the same name, the moved folder is renamed with a numeric suffix.\n\nThe move answers 409 when the folder already sits in the destination, matching the personal document\nmove rather than reporting success for a move that did not happen.\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): The email address of the project member whose personal document box is being\n  opened. **Required on Works projects**, where it is what names the box; omitting it there is\n  rejected rather than resolved to the project owner.\n- USER-EMAIL (string): The email address to associate with the user. **Required on Works projects**,\n  where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\n- OWN-USER-ID (string): The user ID to identify or create a user. **Required on other project types**,\n  where it names the acting user. On Works it is accepted in place of USER-EMAIL.\n\nSo a Works call sends **AGENT-EMAIL and USER-EMAIL together**, and any other project sends\n**OWN-USER-ID**. Every endpoint acts on the resolved user's own document box; a request that\nresolves no user is rejected — never redirected to the shared box, nor to the project owner's.\n\n## Request Body\n\n- parentFolderId (string, optional): The destination folder ID. Null moves the folder to the personal\n  document box root.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MovePersonalFolderRequest"}}},"required":true}}}}}
```

## Move Personal Document

> This API allows you to move a document within the requesting user's personal document box.\
> \
> Both the document being moved and the destination must belong to the caller: a personal document\
> cannot be moved into the shared document box, and a shared document cannot be moved into the\
> personal one. If the destination already holds a document with the same name but different content,\
> the moved document is renamed with a numeric suffix.\
> \
> The move answers 409 when the destination cannot take the document: it already sits there, or the\
> destination already holds an identical copy of it. At the personal document box root that\
> identical-copy check spans the whole project rather than the caller's own box.\
> \
> \## Headers\
> \
> \- API-KEY (string, required): Your assigned API key. You can find it in the Settings menu of the dashboard.\
> \- AGENT-EMAIL (string): The email address of the project member whose personal document box is being\
> &#x20; opened. \*\*Required on Works projects\*\*, where it is what names the box; omitting it there is\
> &#x20; rejected rather than resolved to the project owner.\
> \- USER-EMAIL (string): The email address to associate with the user. \*\*Required on Works projects\*\*,\
> &#x20; where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\
> \- OWN-USER-ID (string): The user ID to identify or create a user. \*\*Required on other project types\*\*,\
> &#x20; where it names the acting user. On Works it is accepted in place of USER-EMAIL.\
> \
> So a Works call sends \*\*AGENT-EMAIL and USER-EMAIL together\*\*, and any other project sends\
> \*\*OWN-USER-ID\*\*. Every endpoint acts on the resolved user's own document box; a request that\
> resolves no user is rejected — never redirected to the shared box, nor to the project owner's.\
> \
> \## Request Body\
> \
> \- parentFolderId (string, optional): The destination folder ID. Null moves the document to the\
> &#x20; personal document box root.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseNodeResponse":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseNodeFolder"},{"$ref":"#/components/schemas/KnowledgeBaseNodeFile"}],"description":"Knowledge base node","title":"Result"}},"required":["result"],"title":"KnowledgeBaseNodeResponse","type":"object"},"KnowledgeBaseNodeFolder":{"properties":{"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base folder external source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission"],"title":"KnowledgeBaseNodeFolder","type":"object"},"CreatedByAgent":{"properties":{"id":{"description":"agent id","title":"Id","type":"string"},"email":{"description":"agent email","title":"Email","type":"string"},"firstName":{"description":"agent first name","title":"Firstname","type":"string"},"lastName":{"description":"agent last name","title":"Lastname","type":"string"}},"required":["id","email","firstName","lastName"],"title":"CreatedByAgent","type":"object"},"Folder":{"properties":{"id":{"description":"folder id","title":"Id","type":"string"},"name":{"description":"folder name","title":"Name","type":"string"}},"required":["id","name"],"title":"Folder","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"},"KnowledgeBaseNodeFile":{"properties":{"piiDetected":{"default":false,"description":"Whether the document has at least one PII masking entity. False also includes documents that have not been checked for PII.","title":"Piidetected","type":"boolean"},"id":{"description":"knowledge base node id","title":"Id","type":"string"},"name":{"description":"knowledge base node name","title":"Name","type":"string"},"createdAt":{"description":"knowledge base node created at","title":"Createdat","type":"number"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/CreatedByAgent"},{"type":"null"}],"description":"agent who created this node"},"updatedAt":{"description":"knowledge base node updated at","title":"Updatedat","type":"number"},"nodeType":{"description":"knowledge base node type","title":"Nodetype","type":"string"},"parentFolder":{"anyOf":[{"$ref":"#/components/schemas/Folder"},{"type":"null"}],"description":"knowledge base node parent folder"},"breadcrumbs":{"description":"knowledge base node breadcrumbs","items":{"$ref":"#/components/schemas/Folder"},"title":"Breadcrumbs","type":"array"},"agentPermission":{"$ref":"#/components/schemas/AgentPermissionResponse","description":"Agent permission"},"userPermission":{"$ref":"#/components/schemas/UserPermissionResponse","description":"User permission"},"hashtags":{"description":"knowledge base hashtags","items":{"type":"string"},"title":"Hashtags","type":"array"},"status":{"description":"knowledge base status","title":"Status","type":"string"},"size":{"description":"knowledge base size","title":"Size","type":"integer"},"processState":{"description":"knowledge base process state","title":"Processstate","type":"string"},"properties":{"anyOf":[{"items":{"$ref":"#/components/schemas/KnowledgeBaseFileProperty"},"type":"array"},{"type":"null"}],"description":"knowledge base properties","title":"Properties"},"action":{"anyOf":[{"$ref":"#/components/schemas/KnowledgeBaseUploadAction"},{"type":"null"}],"description":"Upload result for this document: 'created', 'overwritten', 'skipped', or 'suffix_added'. Only set on upload responses."},"sourceType":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"knowledge base document source type","title":"Sourcetype"}},"required":["id","name","createdAt","updatedAt","nodeType","breadcrumbs","agentPermission","userPermission","hashtags","status","size","processState"],"title":"KnowledgeBaseNodeFile","type":"object"},"KnowledgeBaseFileProperty":{"properties":{"key":{"description":"property key","title":"Key","type":"string"},"value":{"description":"property value","title":"Value","type":"string"}},"required":["key","value"],"title":"KnowledgeBaseFileProperty","type":"object"},"KnowledgeBaseUploadAction":{"enum":["created","overwritten","skipped","suffix_added"],"title":"KnowledgeBaseUploadAction","type":"string"},"MovePersonalDocumentRequest":{"properties":{"parentFolderId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The destination folder ID. Null moves the document to the personal document box root.","title":"Parentfolderid"}},"title":"MovePersonalDocumentRequest","type":"object"}}},"paths":{"/webapi/v2/personal_documents/{document_id}/move":{"post":{"operationId":"django_server_knowledge_base_views_rest_personal_document_api_move_personal_document","summary":"Move Personal Document","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"document_id","schema":{"title":"Document Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseNodeResponse"}}}},"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 move a document within the requesting user's personal document box.\n\nBoth the document being moved and the destination must belong to the caller: a personal document\ncannot be moved into the shared document box, and a shared document cannot be moved into the\npersonal one. If the destination already holds a document with the same name but different content,\nthe moved document is renamed with a numeric suffix.\n\nThe move answers 409 when the destination cannot take the document: it already sits there, or the\ndestination already holds an identical copy of it. At the personal document box root that\nidentical-copy check spans the whole project rather than the caller's own box.\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): The email address of the project member whose personal document box is being\n  opened. **Required on Works projects**, where it is what names the box; omitting it there is\n  rejected rather than resolved to the project owner.\n- USER-EMAIL (string): The email address to associate with the user. **Required on Works projects**,\n  where it is what puts the request into user scope — AGENT-EMAIL alone resolves no user.\n- OWN-USER-ID (string): The user ID to identify or create a user. **Required on other project types**,\n  where it names the acting user. On Works it is accepted in place of USER-EMAIL.\n\nSo a Works call sends **AGENT-EMAIL and USER-EMAIL together**, and any other project sends\n**OWN-USER-ID**. Every endpoint acts on the resolved user's own document box; a request that\nresolves no user is rejected — never redirected to the shared box, nor to the project owner's.\n\n## Request Body\n\n- parentFolderId (string, optional): The destination folder ID. Null moves the document to the\n  personal document box root.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MovePersonalDocumentRequest"}}},"required":true}}}}}
```

## 지식베이스 차분

> This API allows you to compare two versions of a knowledge base document and return a line-by-line diff.\
> \
> \## 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\
> \
> \- leftId (string, required): The ID of the first (left) knowledge base version.\
> \- rightId (string, required): The ID of the second (right) knowledge base version.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"KnowledgeBaseDiffResponse":{"properties":{"result":{"items":{"$ref":"#/components/schemas/KnowledgeBaseDiffResponseLineDiffer"},"title":"Result","type":"array"}},"required":["result"],"title":"KnowledgeBaseDiffResponse","type":"object"},"KnowledgeBaseDiffResponseLineDiffer":{"properties":{"left":{"$ref":"#/components/schemas/KnowledgeBaseDiffResponseLineDelta"},"right":{"$ref":"#/components/schemas/KnowledgeBaseDiffResponseLineDelta"},"row":{"title":"Row","type":"integer"},"comment":{"title":"Comment","type":"string"}},"required":["left","right","row","comment"],"title":"KnowledgeBaseDiffResponseLineDiffer","type":"object"},"KnowledgeBaseDiffResponseLineDelta":{"properties":{"status":{"title":"Status","type":"string"},"page":{"title":"Page","type":"integer"},"line":{"title":"Line","type":"integer"},"text":{"title":"Text","type":"string"},"highlight":{"title":"Highlight","type":"string"}},"required":["status","page","line","text","highlight"],"title":"KnowledgeBaseDiffResponseLineDelta","type":"object"},"KnowledgeBaseDiffRequest":{"properties":{"leftId":{"description":"올바른 지식베이스 ID","title":"Leftid","type":"string"},"rightId":{"description":"올바른 지식베이스 ID","title":"Rightid","type":"string"}},"required":["leftId","rightId"],"title":"KnowledgeBaseDiffRequest","type":"object"}}},"paths":{"/webapi/v2/knowledge_base_diff":{"post":{"operationId":"django_server_knowledge_base_views_rest_knowledge_base_diff_api_knowledge_base_diff","summary":"지식베이스 차분","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseDiffResponse"}}}},"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 compare two versions of a knowledge base document and return a line-by-line diff.\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- leftId (string, required): The ID of the first (left) knowledge base version.\n- rightId (string, required): The ID of the second (right) knowledge base version.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseDiffRequest"}}},"required":true}}}}}
```

## 임베딩 상태 조회

> 프로젝트의 상태별 임베딩 페이지 수를 반환합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/embedding_status":{"get":{"operationId":"django_server_knowledge_base_views_rest_embedding_status_api_get_embedding_status","summary":"임베딩 상태 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"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":"프로젝트의 상태별 임베딩 페이지 수를 반환합니다.","tags":["KnowledgeBase"]}}}}
```

## 임베딩 문서 조회

> 지식 베이스 문서를 임베딩 상태와 함께 필터 및 페이지네이션하여 조회합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/embedding_status/docs":{"get":{"operationId":"django_server_knowledge_base_views_rest_embedding_status_api_get_embedding_docs","summary":"임베딩 문서 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"status","schema":{"default":"","title":"Status","type":"string"},"required":false},{"in":"query","name":"page","schema":{"default":1,"title":"Page","type":"integer"},"required":false},{"in":"query","name":"search","schema":{"default":"","title":"Search","type":"string"},"required":false}],"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":"지식 베이스 문서를 임베딩 상태와 함께 필터 및 페이지네이션하여 조회합니다.","tags":["KnowledgeBase"]}}}}
```

## 임베딩 재설정

> 파싱된 페이지를 재설정하여 재임베딩합니다. scope='all'은 전체를 재설정하고, scope='failed'는 실패 항목만 재시도합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"ResetScope":{"properties":{"scope":{"default":"all","title":"Scope","type":"string"}},"title":"ResetScope","type":"object"}}},"paths":{"/webapi/v2/embedding_status/reset":{"post":{"operationId":"django_server_knowledge_base_views_rest_embedding_status_api_reset_embedding","summary":"임베딩 재설정","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"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":"파싱된 페이지를 재설정하여 재임베딩합니다. scope='all'은 전체를 재설정하고, scope='failed'는 실패 항목만 재시도합니다.","tags":["KnowledgeBase"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetScope"}}},"required":true}}}}}
```

## ES 카운트 조회

> 지식 베이스 문서가 Elasticsearch에 인덱싱되었는지 확인합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/embedding_status/{kb_id}/es-count":{"get":{"operationId":"django_server_knowledge_base_views_rest_embedding_status_api_get_es_count","summary":"ES 카운트 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"kb_id","schema":{"title":"Kb 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":"지식 베이스 문서가 Elasticsearch에 인덱싱되었는지 확인합니다.","tags":["KnowledgeBase"]}}}}
```

## Get Ingestion Status

> This API allows you to retrieve the document ingestion parsing pipeline status for a knowledge base.\
> \
> \## 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":"KnowledgeBase","description":"User 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":{"IngestionStatusResponse":{"properties":{"status":{"title":"Status","type":"string"},"startedAt":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Startedat"},"endedAt":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Endedat"},"elapsed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Elapsed"},"steps":{"items":{"$ref":"#/components/schemas/IngestionStepResponse"},"title":"Steps","type":"array"}},"required":["status","startedAt","endedAt","elapsed","steps"],"title":"IngestionStatusResponse","type":"object"},"IngestionStepResponse":{"properties":{"name":{"title":"Name","type":"string"},"subLabel":{"title":"Sublabel","type":"string"},"startedAt":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Startedat"},"endedAt":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Endedat"},"status":{"title":"Status","type":"string"}},"required":["name","subLabel","startedAt","endedAt","status"],"title":"IngestionStepResponse","type":"object"}}},"paths":{"/webapi/v2/ingestion_status/{kb_id}":{"get":{"operationId":"django_server_knowledge_base_views_rest_ingestion_status_api_get_ingestion_status","summary":"Get Ingestion Status","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"kb_id","schema":{"title":"Kb Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IngestionStatusResponse"}}}},"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 document ingestion parsing pipeline status for a knowledge base.\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":["KnowledgeBase"]}}}}
```

## GET /download\_document\_by\_name/{project\_id}

> 파일 이름으로 문서 다운로드

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"/download_document_by_name/{project_id}":{"get":{"tags":["KnowledgeBase"],"operationId":"downloadDocumentByName","summary":"파일 이름으로 문서 다운로드","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"filename":{"type":"string","description":"다운로드할 문서의 이름"}}}}}},"responses":{"200":{"description":"문서 파일이 성공적으로 다운로드되었습니다.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"여러 문서가 발견됨"},"401":{"description":"무단"},"403":{"description":"금지됨"},"404":{"description":"문서를 찾을 수 없습니다."},"500":{"description":"내부 서버 오류"}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"project_id","in":"path","required":true,"schema":{"type":"string"}}]}}}}
```

## 단일 문서 가져오기

> 단일 문서의 모든 상세 정보를 얻는 방법입니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/single_document":{"get":{"tags":["KnowledgeBase"],"operationId":"getExactDocument","summary":"단일 문서 가져오기","description":"단일 문서의 모든 상세 정보를 얻는 방법입니다.","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"The id of the document."}],"responses":{"200":{"description":"문서의 상세 정보를 성공적으로 가져옴","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"문서 ID."},"documentName":{"type":"string","description":"문서의 파일 이름."},"createdDate":{"type":"string","format":"date","description":"문서가 업로드된 날짜."},"hashtags":{"type":"array","items":{"type":"string"},"description":"문서에 등록된 해시태그."},"agentFeedback":{"type":"object","properties":{"positiveCount":{"type":"integer","description":"에이전트로부터 받은 긍정적인 피드백의 수."},"negativeCount":{"type":"integer","description":"에이전트로부터 받은 부정적인 피드백 수."}},"description":"직원들의 긍정적 및 부정적 피드백 수."},"userFeedback":{"type":"object","properties":{"positiveCount":{"type":"integer","description":"유저로부터 받은 긍정적인 피드백 수."},"negativeCount":{"type":"integer","description":"유저로부터 받은 부정적인 피드백 수."}},"description":"이 문서에 대한 유저들의 피드백."}}}}}}}},"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."}}}}}}
```

## 문서 업로드

> 이 API 메서드는 Cognitive Search를 위해 문서를 업로드할 수 있게 해줍니다. 업로드 가능한 파일 형식: PDF, TXT, MS Word, PowerPoint, Excel, HTM 및 HTML. 연결된 리소스가 있는 HTML 파일을 업로드하려면, 업로드 전에 상대적으로 연결된 리소스와 함께 ZIP 파일로 압축하십시오.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/upload_file":{"post":{"tags":["KnowledgeBase"],"operationId":"uploadFile","summary":"문서 업로드","description":"이 API 메서드는 Cognitive Search를 위해 문서를 업로드할 수 있게 해줍니다. 업로드 가능한 파일 형식: PDF, TXT, MS Word, PowerPoint, Excel, HTM 및 HTML. 연결된 리소스가 있는 HTML 파일을 업로드하려면, 업로드 전에 상대적으로 연결된 리소스와 함께 ZIP 파일로 압축하십시오.","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"로컬 파일 위치"},"hashtags":{"type":"array","description":"업로드 파일의 해시태그","items":{"type":"string"}},"footerTitle":{"type":"string","description":"업로드된 파일의 검색 결과에 대한 출처를 바닥글로 입력할 수 있습니다. 바닥글 텍스트는 검색 결과의 '출처' 옆에 나타납니다."},"footerUrl":{"type":"string","description":"footerTitle에 연결하려는 URL을 넣을 수 있습니다."},"parentFolderId":{"type":"string","description":"업로드할 대상 폴더 ID입니다. 최상위 수준에 삽입하려면 Null로 설정합니다."},"allowOtherAgentsView":{"type":"boolean","description":"다른 에이전트가 이 문서를 볼 수 있도록 허용할지 여부"},"allowOtherUsersView":{"type":"boolean","description":"다른 유저가 이 문서를 볼 수 있도록 허용할지 여부"},"useLayout":{"type":"boolean","description":"Whether to use layout processing for improved document ingestion. If null, project setting will be used."},"useImageDescription":{"type":"boolean","description":"Whether to use image description for improved document ingestion. If null, project setting will be used."},"properties":{"type":"object","description":"Properties for the document.","additionalProperties":{"type":"string"}}}}}}},"responses":{"200":{"description":"파일 업로드 성공","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"업로드된 문서의 ID"},"file_name":{"type":"string","description":"업로드된 문서의 파일 이름"},"hashtags":{"type":"array","description":"업로드된 문서에 추가된 해시태그 배열","items":{"type":"string"}},"footer":{"type":"string","description":"업로드된 문서에 추가된 바닥글(출처) 정보"}}}}}}}},"400":{"description":"잘못된 요청 또는 파일 형식"},"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."},"413":{"description":"파일 크기가 제한을 초과합니다."},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## S3에서 문서 업로드

> 이 API는 S3에 저장된 문서를 Cognitive Search로 전송할 수 있게 합니다. 이 문서들은 대시보드에 지식베이스 문서로 표시됩니다. 사용 가능한 파일 형식은 "문서 업로드" 섹션과 동일합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/upload_from_s3":{"post":{"tags":["KnowledgeBase"],"operationId":"uploadFromS3","summary":"S3에서 문서 업로드","description":"이 API는 S3에 저장된 문서를 Cognitive Search로 전송할 수 있게 합니다. 이 문서들은 대시보드에 지식베이스 문서로 표시됩니다. 사용 가능한 파일 형식은 \"문서 업로드\" 섹션과 동일합니다.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"path":{"type":"string","description":"파일의 S3 경로. 파일 이름으로 끝나야 합니다. 버킷 이름은 포함하지 마세요."},"secretKey":{"type":"string","description":"귀하의 S3 비밀 키."},"accessKey":{"type":"string","description":"당신의 S3 액세스 키."},"bucket":{"type":"string","description":"파일을 포함하는 S3 버킷의 이름입니다."},"footerTitle":{"type":"string","description":"업로드된 파일의 검색 결과에서 정답의 출처를 각주로 작성할 수 있습니다. 각주 텍스트는 검색 결과에서 '출처' 옆에 나타납니다."},"footerUrl":{"type":"string","description":"당신이 연결하고 싶은 URL을 footerTitle에 넣을 수 있습니다."},"hashtags":{"type":"array","description":"문서의 해시태그.","items":{"type":"string"}},"parentFolderId":{"type":"string","description":"업로드할 타겟 폴더 ID. 최상위 수준에 삽입하려면 null로 설정합니다."},"properties":{"type":"object","description":"Properties for the document.","additionalProperties":{"type":"string"}}}}}}},"responses":{"200":{"description":"S3에서 파일이 성공적으로 업로드되었습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"전송된 문서의 ID."},"file_name":{"type":"string","description":"전송된 문서의 파일명."},"hashtags":{"type":"array","description":"업로드된 문서에 추가된 해시태그 배열.","items":{"type":"string"}},"footer":{"type":"string","description":"업로드한 문서에 바닥글(출처) 정보가 추가되었습니다."}}}}}}}},"400":{"description":"잘못된 요청 매개변수"},"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."},"404":{"description":"S3에서 파일을 찾을 수 없음"},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## 문서 상태 확인

> API를 통해 문서를 업로드하면, 변환, 구문 분석 및 벡터로 임베딩됩니다. 이 API는 업로드 중인 문서의 프로세스 상태를 보여줍니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/check_file_status":{"get":{"tags":["KnowledgeBase"],"operationId":"checkFileStatus","summary":"문서 상태 확인","description":"API를 통해 문서를 업로드하면, 변환, 구문 분석 및 벡터로 임베딩됩니다. 이 API는 업로드 중인 문서의 프로세스 상태를 보여줍니다.","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"The document id to check the status"}],"responses":{"200":{"description":"파일 상태를 성공적으로 가져왔습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"확인 중인 문서의 ID"},"status":{"type":"string","description":"문서의 상태 (예: 초기화, 처리 중, 완료됨, 실패함)"},"errorName":{"type":"string","description":"상태가 실패를 나타내는 경우 오류 이름"}}}}}}}},"400":{"description":"잘못된 작업 ID 또는 파일을 찾을 수 없음"},"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."}}}}}}
```

## 문서 이름 변경 (지식베이스)

> 이 API는 업로드된 문서의 이름을 업데이트할 수 있습니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/update_kb_name":{"post":{"tags":["KnowledgeBase"],"operationId":"updateKnowledgeBaseName","summary":"문서 이름 변경 (지식베이스)","description":"이 API는 업로드된 문서의 이름을 업데이트할 수 있습니다.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"변경하려는 문서 ID."},"filename":{"type":"string","description":"지정된 문서의 새 이름."}}}}}},"responses":{"200":{"description":"지식베이스 이름이 성공적으로 업데이트되었습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"파일 이름이 변경된 문서 ID."},"filename":{"type":"string","description":"문서의 새 이름."}}}}}}}},"400":{"description":"유효하지 않은 매개변수"},"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"}]}}}}
```

## Replace Document File

> This API allows you to replace the file of an existing document while keeping its metadata (hashtags, permissions, etc.).\
> \
> \## 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)\
> \
> \- id (string, required): The ID of the document whose file you want to replace.\
> \- file (binary, required): The new file to upload.\
> \- resetClueFeedbacks (boolean, optional): Whether to reset answer feedbacks for this document. Defaults to \*\*false\*\*.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/replace_file":{"post":{"tags":["KnowledgeBase"],"operationId":"replaceFile","summary":"Replace Document File","description":"This API allows you to replace the file of an existing document while keeping its metadata (hashtags, permissions, etc.).\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- id (string, required): The ID of the document whose file you want to replace.\n- file (binary, required): The new file to upload.\n- resetClueFeedbacks (boolean, optional): Whether to reset answer feedbacks for this document. Defaults to **false**.\n","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"id":{"type":"string"},"file":{"type":"string","format":"binary"},"resetClueFeedbacks":{"type":"boolean"}}}}}},"responses":{"200":{"description":"File replaced successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string"},"file_name":{"type":"string"}}}}}}}},"400":{"description":"Invalid 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"}]}}}}
```

## 제목으로 문서 검색

> 이 API는 문서의 내용이 아닌 제목으로 문서를 검색할 수 있게 합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/search_document_by_title":{"get":{"tags":["KnowledgeBase"],"operationId":"searchDocumentByTitle","summary":"제목으로 문서 검색","description":"이 API는 문서의 내용이 아닌 제목으로 문서를 검색할 수 있게 합니다.","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"문서를 제외할 해시태그의 쉼표로 구분된 목록."},{"name":"hashtags","in":"query","required":false,"schema":{"type":"string"},"description":"Semantic matching에 벡터 검색을 사용하려면 'true'로 설정하고, 텍스트 기반 검색을 사용하려면 'false'로 설정합니다."},{"name":"combinedHashtags","in":"query","required":false,"schema":{"type":"string"},"description":"결과를 정렬할 속성 필드."},{"name":"excludingHashtags","in":"query","required":false,"schema":{"type":"string"},"description":"결과를 정렬할 방향(오름차순 또는 내림차순)."},{"name":"useVector","in":"query","required":false,"schema":{"type":"string"},"description":"페이지네이션을 위한 생략된 결과 수."},{"name":"sortKey","in":"query","required":false,"schema":{"type":"string"},"description":"반환할 최대 결과 수."},{"name":"sortDirection","in":"query","required":false,"schema":{"type":"string","enum":["asc","desc"]},"description":"The direction to sort results in (ascending or descending)."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Number of results to skip for pagination."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Maximum number of results to return."}],"responses":{"200":{"description":"제목으로 문서를 성공적으로 검색했습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"문서의 ID."},"file_name":{"type":"string","description":"문서의 파일 이름."},"page_count":{"type":"integer","description":"문서의 페이지 수."},"download_url":{"type":"string","description":"문서를 다운로드할 수 있는 URL."},"hashtags":{"type":"array","items":{"type":"string"},"description":"문서와 관련된 해시태그."},"score":{"type":"number","description":"검색 쿼리에 대한 관련성 점수."},"folder":{"type":"string","description":"문서를 포함하는 폴더."},"agentEditor":{"type":"array","items":{"type":"string"},"description":"편집 권한이 있는 에이전트 목록."},"agentViewer":{"type":"array","items":{"type":"string"},"description":"보기 권한이 있는 에이전트 목록."}}}}}}}}},"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 /run\_table\_to\_description\_by\_kb

> Generate description for a table from a knowledge base file

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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":{"/run_table_to_description_by_kb":{"post":{"tags":["KnowledgeBase"],"operationId":"runTableToDescriptionByKB","summary":"Generate description for a table from a knowledge base file","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"api_key":{"type":"string"},"project_id":{"type":"string"},"knowledge_base_id":{"type":"string"},"driver":{"type":"string"},"language":{"type":"string"}}}}}},"responses":{"200":{"description":"Successfully generated table descriptions (one per sheet)","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"sheet_name":{"type":"string"},"table_description":{"type":"string"},"table_range":{"type":"string"},"header_info":{"type":"array","items":{"type":"object","properties":{"cell_no":{"type":"string"},"column_name":{"type":"string"},"column_description":{"type":"string"},"column_type":{"type":"string"}}}}}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Invalid API key"},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"404":{"description":"Knowledge base not found or has no file"},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Rerun Document Ingestion

> This API allows you to re-trigger the document ingestion pipeline for specific knowledge base documents.\
> \
> \## 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\
> \
> \- knowledge\_base\_ids (array\[string], required): List of knowledge base document IDs to re-ingest.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/document_ingestion/rerun":{"post":{"tags":["KnowledgeBase"],"operationId":"ingestKnowledgeBase","summary":"Rerun Document Ingestion","description":"This API allows you to re-trigger the document ingestion pipeline for specific knowledge base documents.\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- knowledge_base_ids (array[string], required): List of knowledge base document IDs to re-ingest.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"knowledge_base_ids":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Successfully ingested knowledge base","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"integer"}}}}}},"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"}]}}}}
```

## Rerun All Document Ingestion

> This API allows you to re-trigger the document ingestion pipeline for all knowledge base documents in the project.\
> \
> \## 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":"KnowledgeBase","description":"User 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/document_ingestion/rerun_all":{"post":{"tags":["KnowledgeBase"],"operationId":"ingestKnowledgeBaseAll","summary":"Rerun All Document Ingestion","description":"This API allows you to re-trigger the document ingestion pipeline for all knowledge base documents in the project.\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","responses":{"200":{"description":"Successfully ingested all knowledge bases","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"integer"}}}}}},"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"}]}}}}
```

## List Parsing Failed Documents

> This API allows you to retrieve a list of knowledge base documents that failed during the parsing stage of document ingestion.\
> \
> \## 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":"KnowledgeBase","description":"User 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/document_ingestion/failed":{"get":{"tags":["KnowledgeBase"],"operationId":"listParsingFailedKnowledgeBases","summary":"List Parsing Failed Documents","description":"This API allows you to retrieve a list of knowledge base documents that failed during the parsing stage of document ingestion.\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","responses":{"200":{"description":"Successfully listed failed knowledge bases","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"file_name":{"type":"string"},"state":{"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 Document Previews

> This API allows you to retrieve previews for knowledge base documents, including HTML body and PDF page information.\
> \
> \## 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\
> \
> \- inputs (array\[object], required): List of preview input objects specifying which documents and pages to preview.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/previews":{"post":{"tags":["KnowledgeBase"],"operationId":"getPreviews","summary":"Get Document Previews","description":"This API allows you to retrieve previews for knowledge base documents, including HTML body and PDF page information.\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- inputs (array[object], required): List of preview input objects specifying which documents and pages to preview.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"inputs":{"type":"array","items":{"type":"object"}}}}}}},"responses":{"200":{"description":"Successfully retrieved previews","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"array","items":{"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."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## 문서 삭제

> 이 API는 업로드된 파일을 삭제할 수 있게 해줍니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/delete_file":{"post":{"tags":["KnowledgeBase"],"operationId":"deleteFile","summary":"문서 삭제","description":"이 API는 업로드된 파일을 삭제할 수 있게 해줍니다.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"array","description":"배열 형식으로 삭제하려는 문서 ID들","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"파일이 성공적으로 삭제되었습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"ok":{"type":"boolean","description":"삭제가 성공적으로 완료되면 true입니다."}}},"errors":{"type":"object","nullable":true,"description":"삭제가 실패하면, 여기에 오류 메시지가 포함될 것입니다."}}}}}},"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"}]}}}}
```

## List Documents

> This API lets you list out the uploaded documents.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/knowledge_bases":{"get":{"tags":["KnowledgeBase"],"operationId":"knowledgeBases","summary":"List Documents","description":"This API lets you list out the uploaded documents.\n","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"hashtagsSearchOperator","in":"query","required":false,"schema":{"type":"string","enum":["AND","OR"],"default":"OR"},"description":"Either AND or OR, logical operator used to match multiple hashtags. Defaults to OR."},{"name":"status","in":"query","required":false,"schema":{"type":"boolean"},"description":"The on/off status of the document to filter the list."},{"name":"searchTerm","in":"query","required":false,"schema":{"type":"string"},"description":"Keyword search query to filter the list. You can use operators to run advanced searches. \"TERM1 TERM2\" for AND, \"TERM1 OR TERM2\" for OR, and \"TERM\\ for exact match."},{"name":"hashtags","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"}},"description":"Hashtag information to filter the list."},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["FILE_NAME_ASC","FILE_NAME_DESC","TYPE_ASC","TYPE_DESC","STATUS_ASC","STATUS_DESC","CREATED_AT_ASC","CREATED_AT_DESC"]},"description":"The order type of the list. FILE_NAME_ASC/DESC for file name, TYPE_ASC/DESC for file type, STATUS_ASC/DESC for on/off status, CREATED_AT_ASC/DESC for upload date."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0},"description":"offset allows you to specify the ranking number of the first item on the page."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"limit allows you to set the number of objects returned on one page. The maximum value is 100."}],"responses":{"200":{"description":"Successfully retrieved list of documents","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the listed document."},"fileName":{"type":"string","description":"The filename of the list document."},"hashtags":{"type":"array","items":{"type":"string"},"description":"The hashtags added on the document."},"autoHashtags":{"type":"array","items":{"type":"object"},"description":"The automatically generated hashtags added to the document."},"folder":{"type":"string","description":"The folder where the document is located."},"agentEditor":{"type":"array","items":{"type":"string"},"description":"List of agent emails with editor permissions."},"agentViewer":{"type":"array","items":{"type":"string"},"description":"List of agent emails with viewer permissions."},"userViewer":{"type":"object","properties":{"variables":{"type":"object"}},"description":"User viewer configuration with variables."},"allowOtherAgentsView":{"type":"boolean","description":"Whether other agents can view this document."},"allowOtherUsersView":{"type":"boolean","description":"Whether other users can view this document."}}}}}},"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."}}}}}}
```

## Preview Documents

> This API lets you preview the uploaded documents.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/knowledge_base_preview":{"get":{"tags":["KnowledgeBase"],"operationId":"knowledgeBasePreview","summary":"Preview Documents","description":"This API lets you preview the uploaded documents.\n","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"id","in":"query","required":true,"schema":{"type":"string"},"description":"The document ID that you want to preview"},{"name":"pageNo","in":"query","required":true,"schema":{"type":"string"},"description":"Pages of the document you want to preview"}],"responses":{"200":{"description":"Successfully retrieved document preview","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"totalPageCount":{"type":"integer","description":"Total number of pages in the document"},"pageNo":{"type":"integer","description":"Current page number being previewed"},"css":{"type":"string","nullable":true,"description":"CSS styling for the document"},"body":{"type":"string","nullable":true,"description":"HTML body content of the document"},"highlightIndexes":{"type":"array","items":{"type":"integer"},"description":"Array of highlight indexes"},"exactAnswer":{"type":"string","nullable":true,"description":"Exact answer if available"},"pdf":{"type":"string","nullable":true,"description":"PDF content or \"PDF\" string. Returns null if there's an error like invalid pageNo."},"draftjs":{"type":"string","nullable":true,"description":"DraftJS format content"},"highlights":{"type":"object","properties":{"indexes":{"type":"array","nullable":true,"items":{"type":"integer"},"description":"Highlight indexes"},"pageIndexes":{"type":"array","items":{"type":"integer"},"description":"Page-specific highlight indexes"},"__typename":{"type":"string","description":"GraphQL typename"}},"description":"Highlight information for the document"},"knowledgeBase":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the document"},"title":{"type":"string","description":"The title of the document"},"__typename":{"type":"string","description":"GraphQL typename"}},"description":"Knowledge base information"},"__typename":{"type":"string","description":"GraphQL typename"}}},"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."}}}}}}
```

## Update Documents

> This API lets you update hashtags, footer title, and footer title link for a document.<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/update_document":{"post":{"tags":["KnowledgeBase"],"operationId":"updateDocument","summary":"Update Documents","description":"This API lets you update hashtags, footer title, and footer title link for a document.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"The id of the document you want to update"},"footerTitle":{"type":"string","description":"You can type in the source of the answer as a footer for search results from the uploaded file. The footer text will appear next to 'From' in search results."},"footerUrl":{"type":"string","description":"You can put the URL you want to link to the footerTitle."},"folder":{"type":"string","description":"You can assign the destination folder for document upload."},"followFolderPermission":{"type":"boolean","description":"Whether to follow the folder's permission settings."},"agentsEditor":{"type":"array","items":{"type":"string"},"description":"Specify agents that have editor permissions for the file."},"agentsViewer":{"type":"array","items":{"type":"string"},"description":"Specify agents that have viewer permissions for the file."},"userViewer":{"type":"object","description":"Users who have permission to view the document.","properties":{"customer_id":{"type":"array","items":{"type":"string"}},"customer_group":{"type":"array","items":{"type":"string"}}}},"allowOtherAgentsView":{"type":"boolean","description":"Agents not included in viewers/editors can also view the document."},"allowOtherUsersView":{"type":"boolean","description":"Users not included in viewers/editors can also view the document."},"hashtags":{"type":"array","items":{"type":"string"},"description":"List of string hashtags you want to add to the document"},"properties":{"type":"object","description":"Properties for the document.","additionalProperties":{"type":"string"}}}}}}},"responses":{"200":{"description":"Document updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"knowledgeBase":{"type":"object","properties":{"id":{"type":"string","description":"The id of the document to which the hashtags correspond"},"hashtags":{"type":"array","items":{"type":"string"},"description":"Hashtags attached to the document after update"},"footer":{"type":"string","description":"The footer (source) info added to the uploaded document. It can be the default one or the one specified by footerTitle and footerUrl parameters. Formatted in HTML."}}}}},"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"}]}}}}
```

## Knowledge Base Toggle Status

> This API lets you change the status of many documents (AKA knowledge bases) at once<br>

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"KnowledgeBase","description":"User 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/toggle_documents":{"post":{"tags":["KnowledgeBase"],"operationId":"toggleDocuments","summary":"Knowledge Base Toggle Status","description":"This API lets you change the status of many documents (AKA knowledge bases) at once\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["use","ids"],"properties":{"use":{"type":"boolean","description":"Whether to turn all the status of all the knowledge bases to on (True) or off (False)"},"ids":{"type":"array","items":{"type":"string"},"description":"This is a list of the ids of the knowledge bases that you want to toggle."}}}}}},"responses":{"200":{"description":"Knowledge base statuses toggled successfully","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"knowledgeBases":{"type":"array","description":"A list of ONLY the knowledge bases whose status were toggled","items":{"type":"object","properties":{"id":{"type":"string","description":"id of knowledge base"},"status":{"type":"boolean","description":"new status of knowledge base (boolean). true meaning status is now on."}}}}}},"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"}]}}}}
```
