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

# Others

FAQ related APIs

## List Audit Logs

> Get audit logs with filtering and pagination.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"AuditLogListResponse":{"description":"Response model for audit log list.","properties":{"result":{"description":"List of audit logs","items":{"$ref":"#/components/schemas/AuditLog"},"title":"Result","type":"array"},"count":{"description":"Total count","title":"Count","type":"integer"}},"required":["result","count"],"title":"AuditLogListResponse","type":"object"},"AuditLog":{"description":"Audit log entry model.","properties":{"id":{"description":"Log ID","title":"Id","type":"string"},"createdAt":{"description":"Created timestamp (UTC)","format":"date-time","title":"Createdat","type":"string"},"agent":{"anyOf":[{"$ref":"#/components/schemas/AgentInfo"},{"type":"null"}],"description":"Agent information"},"ip":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"IP address","title":"Ip"},"operation":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"GraphQL operation","title":"Operation"},"mutation":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"GraphQL mutation","title":"Mutation"},"method":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"HTTP method","title":"Method"},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"HTTP path","title":"Path"},"variables":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"Variables","title":"Variables"},"query":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"Query parameters","title":"Query"},"body":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"description":"Request body","title":"Body"}},"required":["id","createdAt","agent","ip","operation","mutation","method","path","variables","query","body"],"title":"AuditLog","type":"object"},"AgentInfo":{"description":"Agent information for audit log.","properties":{"id":{"description":"Agent ID","title":"Id","type":"string"},"email":{"description":"Agent email","title":"Email","type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Agent first name","title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Agent last name","title":"Lastname"}},"required":["id","email","firstName","lastName"],"title":"AgentInfo","type":"object"}}},"paths":{"/webapi/v2/audit/logs":{"get":{"operationId":"django_server_project_views_rest_audit_api_get_audit_logs","summary":"List Audit Logs","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"createdAt","schema":{"description":"Base timestamp (UTC)","format":"date-time","title":"Createdat","type":"string"},"required":false,"description":"Base timestamp (UTC)"},{"in":"query","name":"beforeRange","schema":{"default":31,"description":"Days before created_at (max 31 days)","maximum":31,"minimum":1,"title":"Beforerange","type":"integer"},"required":false,"description":"Days before created_at (max 31 days)"},{"in":"query","name":"email","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Agent email filter","title":"Email"},"required":false,"description":"Agent email filter"},{"in":"query","name":"apiRequestType","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"API request type (rest/graphql)","title":"Apirequesttype"},"required":false,"description":"API request type (rest/graphql)"},{"in":"query","name":"params","schema":{"description":"Additional parameters","items":{"description":"Audit log parameter enum.","enum":["variables","query","body"],"title":"AuditLogParamEnum","type":"string"},"title":"Params","type":"array"},"required":false,"description":"Additional parameters"},{"in":"query","name":"offset","schema":{"default":0,"description":"Offset for pagination","title":"Offset","type":"integer"},"required":false,"description":"Offset for pagination"},{"in":"query","name":"limit","schema":{"default":10,"description":"Limit for pagination","maximum":1000,"minimum":1,"title":"Limit","type":"integer"},"required":false,"description":"Limit for pagination"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogListResponse"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"Get audit logs with filtering and pagination.","tags":["Others"]}}}}
```

## Download Audit Logs

> Download all audit logs as CSV file.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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/audit/logs/download":{"get":{"operationId":"django_server_project_views_rest_audit_api_download_audit_logs","summary":"Download Audit Logs","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"createdAt","schema":{"description":"Base timestamp (UTC)","format":"date-time","title":"Createdat","type":"string"},"required":false,"description":"Base timestamp (UTC)"},{"in":"query","name":"beforeRange","schema":{"default":31,"description":"Days before created_at (max 31 days)","maximum":31,"minimum":1,"title":"Beforerange","type":"integer"},"required":false,"description":"Days before created_at (max 31 days)"},{"in":"query","name":"email","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Agent email filter","title":"Email"},"required":false,"description":"Agent email filter"},{"in":"query","name":"apiRequestType","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"API request type (rest/graphql)","title":"Apirequesttype"},"required":false,"description":"API request type (rest/graphql)"},{"in":"query","name":"params","schema":{"description":"Additional parameters","items":{"description":"Audit log parameter enum.","enum":["variables","query","body"],"title":"AuditLogParamEnum","type":"string"},"title":"Params","type":"array"},"required":false,"description":"Additional parameters"}],"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":"Download all audit logs as CSV file.","tags":["Others"]}}}}
```

## Llm 프롬프트 가져오기

> List custom LLM prompts in the project with pagination and ordering.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"LLMPromptResponse":{"properties":{"llmPromptId":{"description":"LLM 프롬프트의 고유 ID","title":"Llmpromptid","type":"string"},"name":{"description":"LLM 프롬프트의 이름","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트에 대한 설명","title":"Description"},"messages":{"description":"LLM 프롬프트의 메시지","items":{"$ref":"#/components/schemas/LLMPromptMessageResponse"},"title":"Messages","type":"array"},"dynamicInputs":{"description":"LLM 프롬프트의 동적 입력","items":{"$ref":"#/components/schemas/LLMPromptDynamicInputResponse"},"title":"Dynamicinputs","type":"array"}},"required":["llmPromptId","name","messages","dynamicInputs"],"title":"LLMPromptResponse","type":"object"},"LLMPromptMessageResponse":{"properties":{"role":{"$ref":"#/components/schemas/LLMPromptMessageRole","description":"메시지의 역할"},"content":{"description":"메시지의 내용","title":"Content","type":"string"}},"required":["role","content"],"title":"LLMPromptMessageResponse","type":"object"},"LLMPromptMessageRole":{"enum":["system","user"],"title":"LLMPromptMessageRole","type":"string"},"LLMPromptDynamicInputResponse":{"properties":{"name":{"description":"동적 입력 항목 이름","title":"Name","type":"string"},"variableName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"입력과 관련된 변수","title":"Variablename"},"isClipToken":{"default":false,"description":"클립 토큰인지에 대한 여부","title":"Iscliptoken","type":"boolean"}},"required":["name"],"title":"LLMPromptDynamicInputResponse","type":"object"}}},"paths":{"/webapi/v2/llm_prompts":{"get":{"operationId":"django_server_llm_app_views_rest_llm_prompt_api_get_llm_prompts","summary":"Llm 프롬프트 가져오기","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"offset","schema":{"default":0,"description":"Offset of the LLM prompts","title":"Offset","type":"integer"},"required":false,"description":"Offset of the LLM prompts"},{"in":"query","name":"limit","schema":{"default":100,"description":"Limit of the LLM prompts","title":"Limit","type":"integer"},"required":false,"description":"Limit of the LLM prompts"},{"in":"query","name":"order","schema":{"allOf":[{"enum":["modified_at","-modified_at","name","-name"],"title":"LLMPromptOrder","type":"string"}],"default":"-modified_at","description":"Order of the LLM prompts"},"required":false,"description":"Order of the LLM prompts"}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LLMPromptResponse"},"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":"List custom LLM prompts in the project with pagination and ordering.","tags":["Others"]}}}}
```

## Llm 프롬프트 생성

> Create a custom LLM prompt with messages and dynamic input variables.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"LLMPromptResponse":{"properties":{"llmPromptId":{"description":"LLM 프롬프트의 고유 ID","title":"Llmpromptid","type":"string"},"name":{"description":"LLM 프롬프트의 이름","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트에 대한 설명","title":"Description"},"messages":{"description":"LLM 프롬프트의 메시지","items":{"$ref":"#/components/schemas/LLMPromptMessageResponse"},"title":"Messages","type":"array"},"dynamicInputs":{"description":"LLM 프롬프트의 동적 입력","items":{"$ref":"#/components/schemas/LLMPromptDynamicInputResponse"},"title":"Dynamicinputs","type":"array"}},"required":["llmPromptId","name","messages","dynamicInputs"],"title":"LLMPromptResponse","type":"object"},"LLMPromptMessageResponse":{"properties":{"role":{"$ref":"#/components/schemas/LLMPromptMessageRole","description":"메시지의 역할"},"content":{"description":"메시지의 내용","title":"Content","type":"string"}},"required":["role","content"],"title":"LLMPromptMessageResponse","type":"object"},"LLMPromptMessageRole":{"enum":["system","user"],"title":"LLMPromptMessageRole","type":"string"},"LLMPromptDynamicInputResponse":{"properties":{"name":{"description":"동적 입력 항목 이름","title":"Name","type":"string"},"variableName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"입력과 관련된 변수","title":"Variablename"},"isClipToken":{"default":false,"description":"클립 토큰인지에 대한 여부","title":"Iscliptoken","type":"boolean"}},"required":["name"],"title":"LLMPromptDynamicInputResponse","type":"object"},"LLMPromptInfoRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트명","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트 설명","title":"Description"},"messages":{"anyOf":[{"items":{"$ref":"#/components/schemas/LLMPromptMessageRequest"},"type":"array"},{"type":"null"}],"description":"LLM 프롬프트에 대한 메시지","title":"Messages"},"dynamicInputs":{"anyOf":[{"items":{"$ref":"#/components/schemas/LLMPromptDynamicInputRequest"},"type":"array"},{"type":"null"}],"description":"LLM 프롬프트의 동적 입력","title":"Dynamicinputs"}},"required":["name"],"title":"LLMPromptInfoRequest","type":"object"},"LLMPromptMessageRequest":{"description":"요청에서 LLM 프롬프트 메시지를 위한 Pydantic 모델","properties":{"role":{"$ref":"#/components/schemas/LLMPromptMessageRole","description":"메시지의 역할 (시스템, 유저 등)"},"content":{"description":"메시지 내용","title":"Content","type":"string"}},"required":["role","content"],"title":"LLMPromptMessageRequest","type":"object"},"LLMPromptDynamicInputRequest":{"description":"요청에서 LLM 프롬프트의 동적 입력을 위한 Pydantic 모델","properties":{"name":{"description":"동적 입력 항목의 이름","title":"Name","type":"string"},"variableName":{"description":"입력과 관련된 변수","title":"Variablename","type":"string"},"isClipToken":{"default":false,"description":"클립 토큰인지에 대한 여부","title":"Iscliptoken","type":"boolean"}},"required":["name","variableName"],"title":"LLMPromptDynamicInputRequest","type":"object"}}},"paths":{"/webapi/v2/llm_prompts":{"post":{"operationId":"django_server_llm_app_views_rest_llm_prompt_api_create_llm_prompt","summary":"Llm 프롬프트 생성","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMPromptResponse"}}}},"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":"Create a custom LLM prompt with messages and dynamic input variables.","tags":["Others"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMPromptInfoRequest"}}},"required":true}}}}}
```

## ID로 Llm 프롬프트 가져오기

> Retrieve a single LLM prompt by ID.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"LLMPromptResponse":{"properties":{"llmPromptId":{"description":"LLM 프롬프트의 고유 ID","title":"Llmpromptid","type":"string"},"name":{"description":"LLM 프롬프트의 이름","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트에 대한 설명","title":"Description"},"messages":{"description":"LLM 프롬프트의 메시지","items":{"$ref":"#/components/schemas/LLMPromptMessageResponse"},"title":"Messages","type":"array"},"dynamicInputs":{"description":"LLM 프롬프트의 동적 입력","items":{"$ref":"#/components/schemas/LLMPromptDynamicInputResponse"},"title":"Dynamicinputs","type":"array"}},"required":["llmPromptId","name","messages","dynamicInputs"],"title":"LLMPromptResponse","type":"object"},"LLMPromptMessageResponse":{"properties":{"role":{"$ref":"#/components/schemas/LLMPromptMessageRole","description":"메시지의 역할"},"content":{"description":"메시지의 내용","title":"Content","type":"string"}},"required":["role","content"],"title":"LLMPromptMessageResponse","type":"object"},"LLMPromptMessageRole":{"enum":["system","user"],"title":"LLMPromptMessageRole","type":"string"},"LLMPromptDynamicInputResponse":{"properties":{"name":{"description":"동적 입력 항목 이름","title":"Name","type":"string"},"variableName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"입력과 관련된 변수","title":"Variablename"},"isClipToken":{"default":false,"description":"클립 토큰인지에 대한 여부","title":"Iscliptoken","type":"boolean"}},"required":["name"],"title":"LLMPromptDynamicInputResponse","type":"object"}}},"paths":{"/webapi/v2/llm_prompts/{llm_prompt_id}":{"get":{"operationId":"django_server_llm_app_views_rest_llm_prompt_api_get_llm_prompt_by_id","summary":"ID로 Llm 프롬프트 가져오기","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"llm_prompt_id","schema":{"title":"Llm Prompt Id","type":"string"},"required":true}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMPromptResponse"}}}},"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":"Retrieve a single LLM prompt by ID.","tags":["Others"]}}}}
```

## ID로 Llm 프롬프트 삭제

> Soft-delete an LLM prompt. Fails if the prompt is currently used by a campaign.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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/llm_prompts/{llm_prompt_id}":{"delete":{"operationId":"django_server_llm_app_views_rest_llm_prompt_api_delete_llm_prompt_by_id","summary":"ID로 Llm 프롬프트 삭제","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"llm_prompt_id","schema":{"title":"Llm Prompt 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":"Soft-delete an LLM prompt. Fails if the prompt is currently used by a campaign.","tags":["Others"]}}}}
```

## ID로 Llm 프롬프트 설정

> Partially update an LLM prompt. Only provided fields are changed.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"LLMPromptResponse":{"properties":{"llmPromptId":{"description":"LLM 프롬프트의 고유 ID","title":"Llmpromptid","type":"string"},"name":{"description":"LLM 프롬프트의 이름","title":"Name","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트에 대한 설명","title":"Description"},"messages":{"description":"LLM 프롬프트의 메시지","items":{"$ref":"#/components/schemas/LLMPromptMessageResponse"},"title":"Messages","type":"array"},"dynamicInputs":{"description":"LLM 프롬프트의 동적 입력","items":{"$ref":"#/components/schemas/LLMPromptDynamicInputResponse"},"title":"Dynamicinputs","type":"array"}},"required":["llmPromptId","name","messages","dynamicInputs"],"title":"LLMPromptResponse","type":"object"},"LLMPromptMessageResponse":{"properties":{"role":{"$ref":"#/components/schemas/LLMPromptMessageRole","description":"메시지의 역할"},"content":{"description":"메시지의 내용","title":"Content","type":"string"}},"required":["role","content"],"title":"LLMPromptMessageResponse","type":"object"},"LLMPromptMessageRole":{"enum":["system","user"],"title":"LLMPromptMessageRole","type":"string"},"LLMPromptDynamicInputResponse":{"properties":{"name":{"description":"동적 입력 항목 이름","title":"Name","type":"string"},"variableName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"입력과 관련된 변수","title":"Variablename"},"isClipToken":{"default":false,"description":"클립 토큰인지에 대한 여부","title":"Iscliptoken","type":"boolean"}},"required":["name"],"title":"LLMPromptDynamicInputResponse","type":"object"},"LLMPromptInfoRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트명","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM 프롬프트 설명","title":"Description"},"messages":{"anyOf":[{"items":{"$ref":"#/components/schemas/LLMPromptMessageRequest"},"type":"array"},{"type":"null"}],"description":"LLM 프롬프트에 대한 메시지","title":"Messages"},"dynamicInputs":{"anyOf":[{"items":{"$ref":"#/components/schemas/LLMPromptDynamicInputRequest"},"type":"array"},{"type":"null"}],"description":"LLM 프롬프트의 동적 입력","title":"Dynamicinputs"}},"required":["name"],"title":"LLMPromptInfoRequest","type":"object"},"LLMPromptMessageRequest":{"description":"요청에서 LLM 프롬프트 메시지를 위한 Pydantic 모델","properties":{"role":{"$ref":"#/components/schemas/LLMPromptMessageRole","description":"메시지의 역할 (시스템, 유저 등)"},"content":{"description":"메시지 내용","title":"Content","type":"string"}},"required":["role","content"],"title":"LLMPromptMessageRequest","type":"object"},"LLMPromptDynamicInputRequest":{"description":"요청에서 LLM 프롬프트의 동적 입력을 위한 Pydantic 모델","properties":{"name":{"description":"동적 입력 항목의 이름","title":"Name","type":"string"},"variableName":{"description":"입력과 관련된 변수","title":"Variablename","type":"string"},"isClipToken":{"default":false,"description":"클립 토큰인지에 대한 여부","title":"Iscliptoken","type":"boolean"}},"required":["name","variableName"],"title":"LLMPromptDynamicInputRequest","type":"object"}}},"paths":{"/webapi/v2/llm_prompts/{llm_prompt_id}":{"patch":{"operationId":"django_server_llm_app_views_rest_llm_prompt_api_set_llm_prompt_by_id","summary":"ID로 Llm 프롬프트 설정","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"llm_prompt_id","schema":{"title":"Llm Prompt Id","type":"string"},"required":true}],"responses":{"200":{"description":"알겠습니다","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMPromptResponse"}}}},"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":"Partially update an LLM prompt. Only provided fields are changed.","tags":["Others"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMPromptInfoRequest"}}},"required":true}}}}}
```

## Trigger Directory Integration

> Trigger directory integration for the specified path or folder.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"DirectoryIntegrationResponse":{"description":"Response entity for directory integration trigger.","properties":{"success":{"description":"Whether the integration was successfully triggered","title":"Success","type":"boolean"},"message":{"description":"Response message","title":"Message","type":"string"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Task ID for tracking the operation","title":"Task Id"}},"required":["success","message"],"title":"DirectoryIntegrationResponse","type":"object"},"DirectoryIntegrationRequest":{"description":"Request entity for triggering directory integration.","properties":{"directory_path":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Path to directory to integrate","title":"Directory Path"},"folder_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ID of folder to sync","title":"Folder Id"}},"title":"DirectoryIntegrationRequest","type":"object"}}},"paths":{"/webapi/v2/directory_integration/trigger":{"post":{"operationId":"django_server_integration_views_rest_directory_integration_api_trigger_directory_integration","summary":"Trigger Directory Integration","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectoryIntegrationResponse"}}}},"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":"Trigger directory integration for the specified path or folder.","tags":["Others"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectoryIntegrationRequest"}}},"required":true}}}}}
```

## Get App Call Statistics

> Get LLM app call history statistics by period.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"HistoryResponse":{"description":"Response model for usage history statistics.","properties":{"result":{"description":"List of count statistics by date period","items":{"$ref":"#/components/schemas/CountByPeriodResponse"},"title":"Result","type":"array"}},"required":["result"],"title":"HistoryResponse","type":"object"},"CountByPeriodResponse":{"description":"Response model for count statistics by date period.","properties":{"date":{"description":"Date in YYYY-MM-DD format","title":"Date","type":"string"},"count":{"description":"Number of count for the given date","title":"Count","type":"integer"}},"required":["date","count"],"title":"CountByPeriodResponse","type":"object"}}},"paths":{"/webapi/v2/analytics/app_statistic_history":{"get":{"operationId":"django_server_analytics_views_rest_analytics_api_get_app_statistic_by_history","summary":"Get App Call Statistics","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"startDate","schema":{"description":"Start date in YYYY-MM-DD format","title":"Startdate","type":"string"},"required":true,"description":"Start date in YYYY-MM-DD format"},{"in":"query","name":"endDate","schema":{"description":"End date in YYYY-MM-DD format","title":"Enddate","type":"string"},"required":true,"description":"End date in YYYY-MM-DD format"},{"in":"query","name":"metricName","schema":{"allOf":[{"enum":["REQUEST_COUNT","CREDIT_COUNT","LLM_CALL_COUNT","ACTIVE_USER_COUNT","CREATION_COUNT","DELETION_COUNT"],"title":"AnalyticsSummaryMetric","type":"string"}],"default":"REQUEST_COUNT","description":"Metric name"},"required":false,"description":"Metric name"},{"in":"query","name":"llmAppId","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM app ID","title":"Llmappid"},"required":false,"description":"LLM app ID"},{"in":"query","name":"llmAppCategory","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM app category","title":"Llmappcategory"},"required":false,"description":"LLM app category"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryResponse"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"Get LLM app call history statistics by period.","tags":["Others"]}}}}
```

## Get LLM Call Statistics

> Get LLM call history statistics by period.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"HistoryResponse":{"description":"Response model for usage history statistics.","properties":{"result":{"description":"List of count statistics by date period","items":{"$ref":"#/components/schemas/CountByPeriodResponse"},"title":"Result","type":"array"}},"required":["result"],"title":"HistoryResponse","type":"object"},"CountByPeriodResponse":{"description":"Response model for count statistics by date period.","properties":{"date":{"description":"Date in YYYY-MM-DD format","title":"Date","type":"string"},"count":{"description":"Number of count for the given date","title":"Count","type":"integer"}},"required":["date","count"],"title":"CountByPeriodResponse","type":"object"}}},"paths":{"/webapi/v2/analytics/llm_statistic_history":{"get":{"operationId":"django_server_analytics_views_rest_analytics_api_get_app_statistic_history","summary":"Get LLM Call Statistics","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"startDate","schema":{"description":"Start date in YYYY-MM-DD format","title":"Startdate","type":"string"},"required":true,"description":"Start date in YYYY-MM-DD format"},{"in":"query","name":"endDate","schema":{"description":"End date in YYYY-MM-DD format","title":"Enddate","type":"string"},"required":true,"description":"End date in YYYY-MM-DD format"},{"in":"query","name":"metricName","schema":{"allOf":[{"enum":["successful_requests","credit","total_tokens"],"title":"LLMUsageMetric","type":"string"}],"default":"successful_requests","description":"Metric name"},"required":false,"description":"Metric name"},{"in":"query","name":"llmModel","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"LLM model","title":"Llmmodel"},"required":false,"description":"LLM model"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HistoryResponse"}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"description":"Get LLM call history statistics by period.","tags":["Others"]}}}}
```

## 미디어 콘텐츠 조회

> 저장된 미디어 항목의 내용을 base64 인코딩 문자열로 조회합니다. \`\`media\_id\`\`는 upload\_media 엔드포인트가 반환한 ID에 해당합니다. 인증된 프로젝트에서 미디어를 찾을 수 없으면 \`\`null\`\` 콘텐츠를 반환합니다. 인증을 위해 API-KEY 헤더가 필요합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"MediaContentResponse":{"description":"Response containing base64-encoded media content.","properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Base64-encoded media content, or ``null`` if the media was not found.","title":"Content"}},"required":["content"],"title":"MediaContentResponse","type":"object"},"MediaContentRequest":{"description":"Request body for retrieving media content.","properties":{"media_id":{"description":"The ID of the media to retrieve content for.","title":"Media Id","type":"string"},"media_type":{"default":"image","description":"The type of media to retrieve.","enum":["image","audio"],"title":"Media Type","type":"string"}},"required":["media_id"],"title":"MediaContentRequest","type":"object"}}},"paths":{"/webapi/v2/multimodal/media-content":{"post":{"operationId":"django_server_infrastructure_views_rest_multimodal_api_get_media_content","summary":"미디어 콘텐츠 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaContentResponse"}}}},"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":"저장된 미디어 항목의 내용을 base64 인코딩 문자열로 조회합니다. ``media_id``는 upload_media 엔드포인트가 반환한 ID에 해당합니다. 인증된 프로젝트에서 미디어를 찾을 수 없으면 ``null`` 콘텐츠를 반환합니다. 인증을 위해 API-KEY 헤더가 필요합니다.","tags":["Others"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaContentRequest"}}},"required":true}}}}}
```

## 파일 생성

> 마크다운 콘텐츠를 다운로드 가능한 문서(PDF, DOCX, PPTX, XLSX)로 변환합니다. 성공 시 파일 이름과 다운로드 URL을, 실패 시 에러 상세 정보를 반환합니다. 인증을 위해 API-KEY 헤더가 필요합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"GenerateFileResponse":{"description":"Response containing the generated file location or error details.","properties":{"fileName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the generated file.","title":"Filename"},"fileUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Download URL of the generated file.","title":"Fileurl"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Error code, present only on failure.","title":"Error"},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Human-readable error description.","title":"Errormessage"}},"title":"GenerateFileResponse","type":"object"},"GenerateFileRequest":{"description":"Request body for generating a downloadable file.","properties":{"userId":{"description":"ID of the user requesting file generation.","title":"Userid","type":"string"},"title":{"description":"Title of the generated document.","title":"Title","type":"string"},"fileFormat":{"description":"Output file format.","enum":["pdf","docx","pptx","xlsx"],"title":"Fileformat","type":"string"},"markdownText":{"description":"Markdown content to convert into the document.","title":"Markdowntext","type":"string"}},"required":["userId","title","fileFormat","markdownText"],"title":"GenerateFileRequest","type":"object"}}},"paths":{"/webapi/v2/multimodal/generate-file":{"post":{"operationId":"django_server_infrastructure_views_rest_multimodal_api_generate_file","summary":"파일 생성","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateFileResponse"}}}},"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":"마크다운 콘텐츠를 다운로드 가능한 문서(PDF, DOCX, PPTX, XLSX)로 변환합니다. 성공 시 파일 이름과 다운로드 URL을, 실패 시 에러 상세 정보를 반환합니다. 인증을 위해 API-KEY 헤더가 필요합니다.","tags":["Others"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateFileRequest"}}},"required":true}}}}}
```

## 동의어 조회

> 프로젝트 내 주어진 질문들에 대한 동의어 타겟과 그 동의어들을 반환합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"GetSynonymsResponse":{"properties":{"synonyms":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"title":"Synonyms","type":"object"}},"required":["synonyms"],"title":"GetSynonymsResponse","type":"object"},"GetSynonymsRequest":{"properties":{"questions":{"items":{"type":"string"},"title":"Questions","type":"array"}},"required":["questions"],"title":"GetSynonymsRequest","type":"object"}}},"paths":{"/webapi/v2/synonyms/":{"post":{"operationId":"django_server_project_views_rest_synonym_api_get_synonyms","summary":"동의어 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSynonymsResponse"}}}},"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":["Others"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetSynonymsRequest"}}},"required":true}}}}}
```

## 프로젝트 조회

> API-KEY로 식별된 프로젝트를 반환합니다.\
> \
> Ralli가 로그인 후 프로젝트 정보(id, name, cognitiveSearchApiKey)를 가져올 때 사용합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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/projects":{"get":{"operationId":"django_server_project_views_rest_project_api_get_projects","summary":"프로젝트 조회","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"items":{},"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":"API-KEY로 식별된 프로젝트를 반환합니다.\n\nRalli가 로그인 후 프로젝트 정보(id, name, cognitiveSearchApiKey)를 가져올 때 사용합니다.","tags":["Others"]}}}}
```

## Get Credit Balance

> Return the project's credit balance summary.\
> \
> Trial info and monthly cap info are always project-cumulative. When both\
> \`\`startDate\`\` and \`\`endDate\`\` are supplied, \`\`totalCreditUsage\`\` is the\
> sum consumed within that range and \`\`byCategory\`\` provides the per-category\
> breakdown for the same range. Without dates, \`\`totalCreditUsage\`\` is the\
> project lifetime cumulative usage.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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":{"CreditBalanceResponse":{"description":"Response body for ``GET /webapi/v2/credits/balance``.","properties":{"totalCreditUsage":{"description":"Cumulative credit consumed by the project across all time.","title":"Totalcreditusage","type":"number"},"trial":{"$ref":"#/components/schemas/TrialBalance"},"cap":{"$ref":"#/components/schemas/CapBalance"},"byCategory":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"description":"Per-category credit usage between startDate and endDate. Keys are LLMCreditUsageCategory values (qna_auto_generation, summary, custom, generative_answer, generative_answer_with_google, llmnode, deep_research, single_action, document_ingestion, document_ingestion_embedding, document_ingestion_azure_layout, document_ingestion_image_description, document_ingestion_table_description, document_ingestion_mineru, faq_search, mrc_search, translation, api_integration, chat_agent, works_agent, knowledge_refinery_facet_classifier, knowledge_refinery_build_lineage, knowledge_refinery_relation_builder, knowledge_refinery_agent_runner, knowledge_refinery_execute_optimization, knowledge_refinery_execute_auto_labeling, knowledge_refinery_evaluate_existing_log, knowledge_refinery_llm_diff_summarizer, knowledge_refinery_semantic_search_interpreter, knowledge_refinery_llm_schema_discovery, knowledge_refinery_model_comparison_evaluation, others). Absent when no date range is supplied.","title":"Bycategory"}},"required":["totalCreditUsage","trial","cap"],"title":"CreditBalanceResponse","type":"object"},"TrialBalance":{"description":"Trial-credit slice of the balance response.","properties":{"maxCredit":{"description":"Trial credit ceiling configured on the project (``project.max_trial_credit_count``).","title":"Maxcredit","type":"number"},"remainingCredit":{"description":"Remaining trial credit, clamped at zero. ``max(0, maxCredit - totalCreditUsage)``.","title":"Remainingcredit","type":"number"}},"required":["maxCredit","remainingCredit"],"title":"TrialBalance","type":"object"},"CapBalance":{"description":"Monthly cap slice of the balance response.\n\nAll numeric fields are ``null`` when the project credit cap is disabled.","properties":{"enabled":{"description":"Whether the project credit cap is enabled.","title":"Enabled","type":"boolean"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Monthly cap limit. ``null`` when the cap is disabled.","title":"Limit"},"currentMonthUsage":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Credit consumed in the current calendar month, computed in UTC (month boundary = UTC midnight on day 1). ``null`` when the cap is disabled.","title":"Currentmonthusage"},"remainingCredit":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Remaining cap for the current month, clamped at zero. ``null`` when the cap is disabled.","title":"Remainingcredit"},"exceeded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"True when ``currentMonthUsage >= limit``. ``null`` when the cap is disabled.","title":"Exceeded"}},"required":["enabled","limit","currentMonthUsage","remainingCredit","exceeded"],"title":"CapBalance","type":"object"}}},"paths":{"/webapi/v2/credits/balance":{"get":{"operationId":"django_server_llm_views_rest_credit_api_get_credit_balance","summary":"Get Credit Balance","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"startDate","schema":{"anyOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},{"type":"null"}],"description":"Start date (UTC, inclusive) in ``YYYY-MM-DD``. Required together with endDate.","title":"Startdate"},"required":false,"description":"Start date (UTC, inclusive) in ``YYYY-MM-DD``. Required together with endDate."},{"in":"query","name":"endDate","schema":{"anyOf":[{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string"},{"type":"null"}],"description":"End date (UTC, inclusive) in ``YYYY-MM-DD``. Required together with startDate.","title":"Enddate"},"required":false,"description":"End date (UTC, inclusive) in ``YYYY-MM-DD``. Required together with startDate."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBalanceResponse"}}}},"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":"Return the project's credit balance summary.\n\nTrial info and monthly cap info are always project-cumulative. When both\n``startDate`` and ``endDate`` are supplied, ``totalCreditUsage`` is the\nsum consumed within that range and ``byCategory`` provides the per-category\nbreakdown for the same range. Without dates, ``totalCreditUsage`` is the\nproject lifetime cumulative usage.","tags":["Others"]}}}}
```

## 요약 분석

> 프로젝트를 위한 다양한 요약된 분석 정보를 제공합니다.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"Others","description":"FAQ 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/summary_analytics":{"get":{"tags":["Others"],"operationId":"summaryAnalytics","summary":"요약 분석","description":"프로젝트를 위한 다양한 요약된 분석 정보를 제공합니다.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"startDate":{"type":"string","description":"YYYY-MM-DD 형식으로 조회할 날짜 범위의 시작."},"endDate":{"type":"string","description":"질의할 날짜 범위의 끝을 YYYY-MM-DD 형식으로 입력해 주세요."}}}}}},"responses":{"200":{"description":"분석 데이터 검색에 성공했습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"conversations":{"type":"integer","description":"날짜 범위 내에서 이루어진 대화 수."},"conversationsUpDown":{"type":"number","description":"질의한 일수에 대해, 이전 일수의 대화 수에서 대화 수의 백분율 변화."},"participants":{"type":"integer","description":"Alli와 대화를 나눈 유저의 일일 고유 수의 합계."},"participantsUpDown":{"type":"number","description":"질의된 일수에 대해, 이전 일수의 유저 합계에 대한 백분율 변화."},"uniqueParticipants":{"type":"integer","description":"날짜 범위 내에서 Alli와 대화를 나눈 유저들의 고유 수."},"uniqueParticipantsUpDown":{"type":"number","description":"조회된 일수에 대해, 이전 일수에서 uniqueParticipants의 백분율 변화."},"queries":{"type":"integer","description":"유저로부터 자주 묻는 질문(FAQ) 또는 MRC 문서에 대한 총 질문 수."},"queriesUpDown":{"type":"number","description":"이전 기간과 비교한 전체 질의 수의 백분율 변화."},"queriedUsers":{"type":"integer","description":"FAQ 또는 MRC 문서에 대해 적어도 한 번 질문한 유저들의 일일 고유 카운트 합계."},"queriedUsersUpDown":{"type":"number","description":"조회된 일수에 대해 이전 일수에서 조회된 유저의 백분율 변화."},"uniqueQueriedUsers":{"type":"integer","description":"FAQ 또는 MRC 문서에 대해 적어도 한 번 질문한 유저들의 고유 수."},"uniqueQueriedUsersUpDown":{"type":"number","description":"쿼리된 일수에 대해, 고유 쿼리 유저 수의 전일 대비 백분율 변화."},"instantResolution":{"type":"integer","description":"멤버들이 FAQ 노드에서 질문에 대해 선택한 답변의 수."},"instantResolutionUpDown":{"type":"number","description":"질의된 일수에 대한 즉시 해소 비율의 이전 기간 대비 변화율."},"aiResponseRate":{"type":"number","description":"FAQ 노드에서 물어본 질문 수에 대한 'AI에 의해 해결된' 비율."},"aiResponseRateUpDown":{"type":"number","description":"질의된 일 수에 대해 이전 일 수로부터 aiResponseRate의 백분율 변화."},"uniqueVisitors":{"type":"integer","description":"Alli SDK가 통합된 웹페이지의 고유 방문자 수."},"uniqueVisitorsUpDown":{"type":"number","description":"조회된 일수 동안, 이전 일수의 uniqueVisitors의 백분율 변화."},"totalFaqs":{"type":"integer","description":"추가된 FAQ 수."},"totalFaqsUpDown":{"type":"number","description":"쿼리된 일수에 대해, 이전 일수 대비 totalFaqs의 퍼센트 변화입니다."},"totalDocuments":{"type":"integer","description":"업로드된 문서 수."},"totalDocumentsUpDown":{"type":"number","description":"요청한 일수 동안 이전 일수로부터의 totalDocuments의 백분율 변화."},"feedbacksUpDown":{"type":"number","description":"이전 일수의 피드백 수 대비 백분율 변화."}}},"errors":{"type":"object","nullable":true}}}}}},"400":{"description":"Invalid request parameters."},"401":{"description":"Authentication failed. The API-KEY header is missing or invalid."},"403":{"description":"Access denied. The project is inactive or the request IP is not allowed."},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```
