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

# User Management

Agent related APIs

## 에이전트 얻기

> List agents (users) in the project with optional email filter and pagination.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"AgentsResponse":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/AgentResponse"},"title":"Agents","type":"array"}},"required":["agents"],"title":"AgentsResponse","type":"object"},"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"}}},"paths":{"/webapi/v2/agents":{"get":{"operationId":"django_server_project_views_rest_agent_api_get_agents","summary":"에이전트 얻기","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"offset","schema":{"default":0,"title":"Offset","type":"integer"},"required":false},{"in":"query","name":"limit","schema":{"default":100,"title":"Limit","type":"integer"},"required":false},{"in":"query","name":"email","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"required":false}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentsResponse"}}}},"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 agents (users) in the project with optional email filter and pagination.","tags":["User Management"]}}}}
```

## Get Agent

> Retrieve a single agent by ID. Returns 404 if the agent is not a member of the project.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"}}},"paths":{"/webapi/v2/agents/{agent_id}":{"get":{"operationId":"django_server_project_views_rest_agent_api_get_agent_detail","summary":"Get Agent","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"agent_id","schema":{"title":"Agent Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentResponse"}}}},"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 agent by ID. Returns 404 if the agent is not a member of the project.","tags":["User Management"]}}}}
```

## 대량 유저 작업 수행

> Create, update, or delete users in bulk. Supports up to 100 users per request. Each user result includes individual success/error status.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"BulkUserResponse":{"properties":{"result":{"items":{"$ref":"#/components/schemas/BulkUserResultBody"},"title":"Result","type":"array"}},"title":"BulkUserResponse","type":"object"},"BulkUserResultBody":{"properties":{"ownUserId":{"description":"유저의 고유 ID(예: 직원 코드)","title":"Ownuserid","type":"string"},"status":{"$ref":"#/components/schemas/BulkUserResultStatus","description":"결과의 상태"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"오류 메시지","title":"Message"}},"required":["ownUserId","status"],"title":"BulkUserResultBody","type":"object"},"BulkUserResultStatus":{"enum":["success","error"],"title":"BulkUserResultStatus","type":"string"},"BulkUserRequest":{"properties":{"action":{"$ref":"#/components/schemas/BulkUserActionType"},"users":{"items":{"$ref":"#/components/schemas/BulkUserBody"},"title":"Users","type":"array"}},"required":["action"],"title":"BulkUserRequest","type":"object"},"BulkUserActionType":{"enum":["create","update","delete"],"title":"BulkUserActionType","type":"string"},"BulkUserBody":{"properties":{"ownUserId":{"description":"유저의 고유 ID(예: 직원 코드)","title":"Ownuserid","type":"string"},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/BulkUserData"},"type":"array"},{"type":"null"}],"description":"유저 데이터의 키-값 쌍. '생성' 및 '업데이트' 작업에 필요합니다.","title":"Data"}},"required":["ownUserId"],"title":"BulkUserBody","type":"object"},"BulkUserData":{"properties":{"key":{"description":"필드 이름","title":"Key","type":"string"},"value":{"description":"필드 값","title":"Value","type":"string"}},"required":["key","value"],"title":"BulkUserData","type":"object"}}},"paths":{"/webapi/v2/users/bulk":{"post":{"operationId":"django_server_project_views_rest_bulk_user_api_perform_bulk_user_actions","summary":"대량 유저 작업 수행","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"알겠습니다.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUserResponse"}}}},"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, update, or delete users in bulk. Supports up to 100 users per request. Each user result includes individual success/error status.","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUserRequest"}}},"required":true}}}}}
```

## 유저 가져오기

> Retrieve a user by their own\_user\_id, including email and customer group information.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"GetUserResponse":{"properties":{"result":{"$ref":"#/components/schemas/User","description":"결과"}},"required":["result"],"title":"GetUserResponse","type":"object"},"User":{"properties":{"userId":{"description":"유저의 고유 ID","title":"Userid","type":"string"},"firstName":{"description":"유저의 이름","title":"Firstname","type":"string"},"lastName":{"description":"유저의 성씨","title":"Lastname","type":"string"}},"required":["userId","firstName","lastName"],"title":"User","type":"object"}}},"paths":{"/webapi/v2/user/{own_user_id}":{"get":{"operationId":"django_server_project_views_rest_user_api_get_user","summary":"유저 가져오기","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"own_user_id","schema":{"title":"Own User Id","type":"string"},"required":true}],"responses":{"200":{"description":"알겠습니다","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserResponse"}}}},"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 user by their own_user_id, including email and customer group information.","tags":["User Management"]}}}}
```

## Bulk Invite Members

> Bulk invite members to project.\
> \
> This endpoint:\
> 1\. Creates agents for emails that don't exist\
> 2\. Adds agents as project members if not already\
> 3\. Creates users for works projects\
> 4\. Assigns permission groups (creates if needed)

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"BulkMemberResponse":{"description":"Response for bulk member operations.","properties":{"result":{"items":{"$ref":"#/components/schemas/BulkTaskResult"},"title":"Result","type":"array"}},"title":"BulkMemberResponse","type":"object"},"BulkTaskResult":{"description":"Result of a bulk task operation.","properties":{"emails":{"items":{"type":"string"},"title":"Emails","type":"array"},"status":{"title":"Status","type":"string"},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Errormessage"}},"required":["emails","status"],"title":"BulkTaskResult","type":"object"},"BulkMemberInviteRequest":{"description":"Request for bulk inviting members.","properties":{"members":{"items":{"$ref":"#/components/schemas/MemberMetadata"},"title":"Members","type":"array"}},"title":"BulkMemberInviteRequest","type":"object"},"MemberMetadata":{"description":"Metadata for inviting or managing project members.","properties":{"email":{"title":"Email","type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Groups"},"attributes":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Attributes"}},"required":["email"],"title":"MemberMetadata","type":"object"}}},"paths":{"/webapi/v2/members/bulk/invite":{"post":{"operationId":"django_server_project_views_rest_bulk_member_api_bulk_invite_members","summary":"Bulk Invite Members","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberResponse"}}}},"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":"Bulk invite members to project.\n\nThis endpoint:\n1. Creates agents for emails that don't exist\n2. Adds agents as project members if not already\n3. Creates users for works projects\n4. Assigns permission groups (creates if needed)","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberInviteRequest"}}},"required":true}}}}}
```

## Bulk Update Member Permissions

> Bulk update member permission groups.\
> \
> This endpoint updates permission groups for existing members only.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"BulkMemberResponse":{"description":"Response for bulk member operations.","properties":{"result":{"items":{"$ref":"#/components/schemas/BulkTaskResult"},"title":"Result","type":"array"}},"title":"BulkMemberResponse","type":"object"},"BulkTaskResult":{"description":"Result of a bulk task operation.","properties":{"emails":{"items":{"type":"string"},"title":"Emails","type":"array"},"status":{"title":"Status","type":"string"},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Errormessage"}},"required":["emails","status"],"title":"BulkTaskResult","type":"object"},"BulkMemberUpdatePermissionRequest":{"description":"Request for bulk updating member permission groups.","properties":{"members":{"items":{"$ref":"#/components/schemas/MemberMetadata"},"title":"Members","type":"array"}},"title":"BulkMemberUpdatePermissionRequest","type":"object"},"MemberMetadata":{"description":"Metadata for inviting or managing project members.","properties":{"email":{"title":"Email","type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Groups"},"attributes":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Attributes"}},"required":["email"],"title":"MemberMetadata","type":"object"}}},"paths":{"/webapi/v2/members/bulk/update_permission_groups":{"post":{"operationId":"django_server_project_views_rest_bulk_member_api_bulk_update_member_permission_groups","summary":"Bulk Update Member Permissions","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberResponse"}}}},"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":"Bulk update member permission groups.\n\nThis endpoint updates permission groups for existing members only.","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberUpdatePermissionRequest"}}},"required":true}}}}}
```

## Bulk Remove Members

> Bulk remove members from project.\
> \
> This endpoint removes existing members from the project.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"BulkMemberResponse":{"description":"Response for bulk member operations.","properties":{"result":{"items":{"$ref":"#/components/schemas/BulkTaskResult"},"title":"Result","type":"array"}},"title":"BulkMemberResponse","type":"object"},"BulkTaskResult":{"description":"Result of a bulk task operation.","properties":{"emails":{"items":{"type":"string"},"title":"Emails","type":"array"},"status":{"title":"Status","type":"string"},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Errormessage"}},"required":["emails","status"],"title":"BulkTaskResult","type":"object"},"BulkMemberRemoveRequest":{"description":"Request for bulk removing members.","properties":{"members":{"items":{"$ref":"#/components/schemas/MemberMetadata"},"title":"Members","type":"array"}},"title":"BulkMemberRemoveRequest","type":"object"},"MemberMetadata":{"description":"Metadata for inviting or managing project members.","properties":{"email":{"title":"Email","type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Firstname"},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastname"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"},"groups":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Groups"},"attributes":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Attributes"}},"required":["email"],"title":"MemberMetadata","type":"object"}}},"paths":{"/webapi/v2/members/bulk/remove":{"post":{"operationId":"django_server_project_views_rest_bulk_member_api_bulk_remove_members","summary":"Bulk Remove Members","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberResponse"}}}},"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":"Bulk remove members from project.\n\nThis endpoint removes existing members from the project.","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkMemberRemoveRequest"}}},"required":true}}}}}
```

## List Permission Groups

> List permission groups in the project with optional search and pagination.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"PermissionGroupsResponse":{"properties":{"permissionGroups":{"items":{"$ref":"#/components/schemas/PermissionGroupResponse"},"title":"Permissiongroups","type":"array"}},"required":["permissionGroups"],"title":"PermissionGroupsResponse","type":"object"},"PermissionGroupResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"isAdmin":{"title":"Isadmin","type":"boolean"},"isDefault":{"title":"Isdefault","type":"boolean"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"},"permissions":{"items":{"type":"string"},"title":"Permissions","type":"array"},"agentCount":{"title":"Agentcount","type":"integer"}},"required":["id","name","isAdmin","isDefault","order","permissions","agentCount"],"title":"PermissionGroupResponse","type":"object"}}},"paths":{"/webapi/v2/permission_groups":{"get":{"operationId":"django_server_project_views_rest_permission_group_api_get_permission_groups","summary":"List Permission Groups","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"query","name":"search_term","schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search Term"},"required":false},{"in":"query","name":"limit","schema":{"default":100,"title":"Limit","type":"integer"},"required":false},{"in":"query","name":"offset","schema":{"default":0,"title":"Offset","type":"integer"},"required":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGroupsResponse"}}}},"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 permission groups in the project with optional search and pagination.","tags":["User Management"]}}}}
```

## Create Permission Group

> Create a new permission group with the specified name, permissions, and member agents.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"PermissionGroupDetailResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"isAdmin":{"title":"Isadmin","type":"boolean"},"isDefault":{"title":"Isdefault","type":"boolean"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"},"permissions":{"items":{"type":"string"},"title":"Permissions","type":"array"},"agents":{"items":{"$ref":"#/components/schemas/AgentResponse"},"title":"Agents","type":"array"}},"required":["id","name","isAdmin","isDefault","order","permissions","agents"],"title":"PermissionGroupDetailResponse","type":"object"},"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"},"CreatePermissionGroupRequest":{"properties":{"name":{"title":"Name","type":"string"},"agentIds":{"items":{"type":"string"},"title":"Agentids","type":"array"},"permissions":{"items":{"$ref":"#/components/schemas/AgentPermissionEnum"},"title":"Permissions","type":"array"}},"required":["name"],"title":"CreatePermissionGroupRequest","type":"object"},"AgentPermissionEnum":{"enum":["dashboard_accessible","skill_read","skill_write","skill_popup_url_generation","llm_app_read","llm_app_create","user_page_access","user_editable","user_download","conversations_read","agent_assignable","conversation_state_write","delete_chat_message","delete_agent_chat_message","consversation_download","smalltalk_read","smalltalk_editable","document_page_access","knowledge_base_editable","knowledge_base_add_folder_write","document_knowledge_refinery_write","knowledge_base_page_access","faq_editable","faq_train_write","faq_setting_read","faq_setting_write","faq_add_folder_write","feedback_management_read","clue_feedback_write","answer_feedback_write","query_history_redactable","knowledge_base_history_read","faq_history_read","query_training_read","query_training_write","faq_auto_tagging_read","faq_auto_tagging_write","doc_source_read","doc_source_write","knowledge_base_setting_read","knowledge_base_setting_write","knowledge_refinery_setting_read","knowledge_refinery_setting_write","knowledge_base_train_write","entity_extraction_read","entity_extraction_editable","entity_extraction_download","training_schedule_write","google_domain_allowlist_read","google_domain_allowlist_write","analytics_page_access","redact_keyword_write","analytics_download","project_setting_page_access","project_setting_read","project_setting_write","project_setting_general_write","project_setting_api_key_write","office_hours_editable","faq_custom_columns_write","dashboard_whitelist_write","sdk_whitelist_write","api_whitelist_write","files_whitelist_write","account_policy_write","oidc_clients_write","conversations_write","billing","integrations_read","integrations_write","dashboard_order_write","advanced_setting_read","manage_agent_read","manage_agent_write","agent_invitable","agent_action_log_download_read","approver_group_write","ai_workflow_read","ai_workflow_write","prompt_management_read","project_scope_prompt_read","project_scope_prompt_write","announcement_read","announcement_write"],"title":"AgentPermissionEnum","type":"string"}}},"paths":{"/webapi/v2/permission_groups":{"post":{"operationId":"django_server_project_views_rest_permission_group_api_create_permission_group","summary":"Create Permission Group","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGroupDetailResponse"}}}},"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 new permission group with the specified name, permissions, and member agents.","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePermissionGroupRequest"}}},"required":true}}}}}
```

## Get Permission Group

> Retrieve a single permission group by ID, including its permissions and member agents.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"PermissionGroupDetailResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"isAdmin":{"title":"Isadmin","type":"boolean"},"isDefault":{"title":"Isdefault","type":"boolean"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"},"permissions":{"items":{"type":"string"},"title":"Permissions","type":"array"},"agents":{"items":{"$ref":"#/components/schemas/AgentResponse"},"title":"Agents","type":"array"}},"required":["id","name","isAdmin","isDefault","order","permissions","agents"],"title":"PermissionGroupDetailResponse","type":"object"},"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"}}},"paths":{"/webapi/v2/permission_groups/{permission_group_id}":{"get":{"operationId":"django_server_project_views_rest_permission_group_api_get_permission_group","summary":"Get Permission Group","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"permission_group_id","schema":{"title":"Permission Group Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGroupDetailResponse"}}}},"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 permission group by ID, including its permissions and member agents.","tags":["User Management"]}}}}
```

## Delete Permission Group

> Delete a permission group. Members of this group will lose the associated permissions.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/permission_groups/{permission_group_id}":{"delete":{"operationId":"django_server_project_views_rest_permission_group_api_delete_permission_group","summary":"Delete Permission Group","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"permission_group_id","schema":{"title":"Permission Group 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":"Delete a permission group. Members of this group will lose the associated permissions.","tags":["User Management"]}}}}
```

## List Permission Group Agents

> List all agents (members) assigned to a specific permission group.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"}}},"paths":{"/webapi/v2/permission_groups/{permission_group_id}/agents":{"get":{"operationId":"django_server_project_views_rest_permission_group_api_get_permission_group_agents","summary":"List Permission Group Agents","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"permission_group_id","schema":{"title":"Permission Group Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AgentResponse"},"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 all agents (members) assigned to a specific permission group.","tags":["User Management"]}}}}
```

## Update Permission Group Name

> Rename an existing permission group.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"PermissionGroupDetailResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"isAdmin":{"title":"Isadmin","type":"boolean"},"isDefault":{"title":"Isdefault","type":"boolean"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"},"permissions":{"items":{"type":"string"},"title":"Permissions","type":"array"},"agents":{"items":{"$ref":"#/components/schemas/AgentResponse"},"title":"Agents","type":"array"}},"required":["id","name","isAdmin","isDefault","order","permissions","agents"],"title":"PermissionGroupDetailResponse","type":"object"},"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"},"UpdatePermissionGroupNameRequest":{"properties":{"name":{"title":"Name","type":"string"}},"required":["name"],"title":"UpdatePermissionGroupNameRequest","type":"object"}}},"paths":{"/webapi/v2/permission_groups/{permission_group_id}/name":{"put":{"operationId":"django_server_project_views_rest_permission_group_api_update_permission_group_name","summary":"Update Permission Group Name","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"permission_group_id","schema":{"title":"Permission Group Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGroupDetailResponse"}}}},"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":"Rename an existing permission group.","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePermissionGroupNameRequest"}}},"required":true}}}}}
```

## Update Permission Group Permissions

> Replace the permission set of an existing permission group. Dependent permissions must be included together.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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":{"PermissionGroupDetailResponse":{"properties":{"id":{"title":"Id","type":"string"},"name":{"title":"Name","type":"string"},"isAdmin":{"title":"Isadmin","type":"boolean"},"isDefault":{"title":"Isdefault","type":"boolean"},"order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Order"},"permissions":{"items":{"type":"string"},"title":"Permissions","type":"array"},"agents":{"items":{"$ref":"#/components/schemas/AgentResponse"},"title":"Agents","type":"array"}},"required":["id","name","isAdmin","isDefault","order","permissions","agents"],"title":"PermissionGroupDetailResponse","type":"object"},"AgentResponse":{"properties":{"id":{"title":"Id","type":"string"},"lastName":{"title":"Lastname","type":"string"},"firstName":{"title":"Firstname","type":"string"},"email":{"title":"Email","type":"string"}},"required":["id","lastName","firstName","email"],"title":"AgentResponse","type":"object"},"UpdatePermissionGroupPermissionsRequest":{"properties":{"permissions":{"items":{"$ref":"#/components/schemas/AgentPermissionEnum"},"title":"Permissions","type":"array"}},"required":["permissions"],"title":"UpdatePermissionGroupPermissionsRequest","type":"object"},"AgentPermissionEnum":{"enum":["dashboard_accessible","skill_read","skill_write","skill_popup_url_generation","llm_app_read","llm_app_create","user_page_access","user_editable","user_download","conversations_read","agent_assignable","conversation_state_write","delete_chat_message","delete_agent_chat_message","consversation_download","smalltalk_read","smalltalk_editable","document_page_access","knowledge_base_editable","knowledge_base_add_folder_write","document_knowledge_refinery_write","knowledge_base_page_access","faq_editable","faq_train_write","faq_setting_read","faq_setting_write","faq_add_folder_write","feedback_management_read","clue_feedback_write","answer_feedback_write","query_history_redactable","knowledge_base_history_read","faq_history_read","query_training_read","query_training_write","faq_auto_tagging_read","faq_auto_tagging_write","doc_source_read","doc_source_write","knowledge_base_setting_read","knowledge_base_setting_write","knowledge_refinery_setting_read","knowledge_refinery_setting_write","knowledge_base_train_write","entity_extraction_read","entity_extraction_editable","entity_extraction_download","training_schedule_write","google_domain_allowlist_read","google_domain_allowlist_write","analytics_page_access","redact_keyword_write","analytics_download","project_setting_page_access","project_setting_read","project_setting_write","project_setting_general_write","project_setting_api_key_write","office_hours_editable","faq_custom_columns_write","dashboard_whitelist_write","sdk_whitelist_write","api_whitelist_write","files_whitelist_write","account_policy_write","oidc_clients_write","conversations_write","billing","integrations_read","integrations_write","dashboard_order_write","advanced_setting_read","manage_agent_read","manage_agent_write","agent_invitable","agent_action_log_download_read","approver_group_write","ai_workflow_read","ai_workflow_write","prompt_management_read","project_scope_prompt_read","project_scope_prompt_write","announcement_read","announcement_write"],"title":"AgentPermissionEnum","type":"string"}}},"paths":{"/webapi/v2/permission_groups/{permission_group_id}/permissions":{"put":{"operationId":"django_server_project_views_rest_permission_group_api_update_permission_group_permissions","summary":"Update Permission Group Permissions","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"in":"path","name":"permission_group_id","schema":{"title":"Permission Group Id","type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGroupDetailResponse"}}}},"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":"Replace the permission set of an existing permission group. Dependent permissions must be included together.","tags":["User Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePermissionGroupPermissionsRequest"}}},"required":true}}}}}
```

## GET /webapi/agent\_builder/single\_action\_app\_tools

> 프로젝트의 모든 싱글액션 앱 도구를 검색하십시오.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_builder/single_action_app_tools":{"get":{"tags":["User Management"],"operationId":"getSingleActionAppTools","summary":"프로젝트의 모든 싱글액션 앱 도구를 검색하십시오.","responses":{"200":{"description":"싱글액션 앱 도구를 성공적으로 검색했습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"도구의 고유 식별자"},"name":{"type":"string","description":"싱글액션 앱의 함수 이름. 이는 id와 접두사 \"func_\"에 의해 생성됩니다."},"display_name":{"type":"string","description":"싱글액션 앱의 표시 이름"},"description":{"description":"싱글액션 앱에 대한 설명","type":"string"},"single_action_inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"입력 필드 이름"},"type":{"type":"string","description":"입력 필드 유형(텍스트, 문단 등)"},"description":{"description":"입력 필드 설명","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 /webapi/agent\_builder/single\_action\_app\_tool/{tool\_name}

> 특정 싱글액션 앱 도구를 이름으로 검색하십시오.

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_builder/single_action_app_tool/{tool_name}":{"get":{"tags":["User Management"],"operationId":"getSingleActionAppToolByName","summary":"특정 싱글액션 앱 도구를 이름으로 검색하십시오.","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"tool_name","in":"path","required":true,"schema":{"type":"string"},"description":"Name of the tool to retrieve"},{"name":"tool_name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"싱글액션 앱 도구를 성공적으로 검색했습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"작업이 성공했는지 여부를 나타냅니다."},"tool":{"type":"object","properties":{"id":{"type":"string","description":"도구의 고유 식별자"},"name":{"type":"string","description":"싱글액션 앱의 함수 이름. ID와 접두사 \"func_\"에 의해 생성됩니다."},"display_name":{"type":"string","description":"싱글액션 앱의 표시 이름"},"description":{"description":"싱글액션 앱이 수행하는 작업에 대한 설명","type":"string"},"single_action_inputs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"입력 필드 이름"},"type":{"type":"string","description":"입력 필드 유형 (텍스트, 문단 등)"},"description":{"description":"입력 필드 설명","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."},"404":{"description":"도구를 찾을 수 없습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}}},"500":{"description":"Internal server error."}}}}}}
```

## GET /webapi/agent\_builder/agent\_tools

> Retrieve all agent tools for the project

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_builder/agent_tools":{"get":{"tags":["User Management"],"operationId":"getAgentTools","summary":"Retrieve all agent tools for the project","responses":{"200":{"description":"Successfully retrieved agent tools","content":{"application/json":{"schema":{"type":"object","properties":{"tools":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the agent"},"name":{"type":"string","description":"The function name of the agent. it is generated by id and prefix \"func_\""},"display_name":{"type":"string","description":"The display name of the agent"},"description":{"type":"string","description":"Description of what the agent does"},"project_id":{"type":"string","description":"The project ID"},"published":{"type":"boolean","description":"Whether the agent is published"},"variables":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Variable name"},"type":{"type":"string","description":"Variable type (string, integer, etc.)"},"description":{"type":"string","description":"Description of the variable"},"required":{"type":"boolean","description":"Whether the variable is required"}}}}}}}}}}}},"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 /webapi/agent\_builder/agent\_tool/{tool\_name}

> Retrieve a specific agent tool by its name

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_builder/agent_tool/{tool_name}":{"get":{"tags":["User Management"],"operationId":"getAgentToolByName","summary":"Retrieve a specific agent tool by its name","parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"},{"name":"tool_name","in":"path","required":true,"schema":{"type":"string"},"description":"Name of the agent tool to retrieve"},{"name":"tool_name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved the agent tool","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the operation was successful"},"tool":{"type":"object","description":"The agent tool data"}}}}}},"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."},"404":{"description":"Agent tool not found"},"500":{"description":"Internal server error."}}}}}}
```

## Retrieve OAuth2 information by state

> Get OAuth2 configuration information for an AI agent using the OAuth state parameter

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_builder/oauth2_information":{"post":{"tags":["User Management"],"operationId":"getOauth2Information","summary":"Retrieve OAuth2 information by state","description":"Get OAuth2 configuration information for an AI agent using the OAuth state parameter","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","description":"OAuth2 state parameter to identify the OAuth configuration"}},"required":["state"]}}}},"responses":{"200":{"description":"Successfully retrieved OAuth2 information","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the operation was successful"},"oauth2_info":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the OAuth2 information"},"hub_id":{"type":"string","description":"Hub identifier"},"configuration_name":{"type":"string","description":"Name of the OAuth2 configuration"},"authorization_url":{"type":"string","description":"OAuth2 authorization URL"},"token_url":{"type":"string","description":"OAuth2 token URL"},"client_id":{"type":"string","description":"OAuth2 client ID"},"client_secret":{"type":"string","description":"OAuth2 client secret"},"scope":{"type":"array","items":{"type":"string"},"description":"OAuth2 scopes"},"redirect_uri":{"type":"string","description":"OAuth2 redirect URI"},"place_access_token":{"type":"string","description":"Where to place access token"},"place_expires_in":{"type":"string","description":"Where to place expires_in value"},"place_refresh_token":{"type":"string","description":"Where to place refresh token"},"place_token_type":{"type":"string","description":"Where to place token type"},"headers":{"type":"object","description":"Additional headers configuration"},"additional":{"type":"object","description":"Additional configuration data"},"token_info":{"type":"object","description":"Current token information"},"token_generated":{"type":"number","description":"Token generation timestamp"},"state":{"type":"string","description":"OAuth2 state parameter"},"code_verifier":{"type":"string","description":"PKCE code verifier"}}}}}}}},"400":{"description":"Bad request - invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}}},"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":"OAuth2 information not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}}},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## Update OAuth2 token information

> Update OAuth2 token information (tokenInfo and tokenGenerated) for an existing OAuth configuration

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_builder/oauth2_information/update":{"post":{"tags":["User Management"],"operationId":"updateOauth2Information","summary":"Update OAuth2 token information","description":"Update OAuth2 token information (tokenInfo and tokenGenerated) for an existing OAuth configuration","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"state":{"type":"string","description":"OAuth2 state parameter to identify the OAuth configuration"},"tokenInfo":{"type":"object","description":"Updated token information"},"tokenGenerated":{"type":"number","description":"Timestamp when the token was generated"}},"required":["state"]}}}},"responses":{"200":{"description":"Successfully updated OAuth2 information","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the operation was successful"}}}}}},"400":{"description":"Bad request - invalid input","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}}},"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":"OAuth2 information not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"}}}}}},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```

## 에이전트 관리

> 프로젝트에서 에이전트를 생성 및 삭제하는 데 사용됨

```json
{"openapi":"3.1.0","info":{"title":"Alli API Documentation","version":"1.0.0"},"tags":[{"name":"User Management","description":"Agent 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/agent_management":{"post":{"tags":["User Management"],"operationId":"editAgents","summary":"에이전트 관리","description":"프로젝트에서 에이전트를 생성 및 삭제하는 데 사용됨","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"생성하거나 삭제하려는 에이전트의 이메일"},"deleteFlag":{"type":"boolean","description":"에이전트를 삭제하려면 True, 생성하려면 False"},"password":{"type":"string","description":"새 에이전트를 만들 때 필요합니다. 비밀번호는 유효해야 합니다 (소문자, 대문자, 숫자, 비알파벳 문자 중 4개 중 3개를 포함해야 함)."},"locale":{"type":"string","description":"생성 중인 계정의 언어 설정. 두 글자 ISO 639-1 코드를 사용해 주세요."},"permission_group_id":{"type":"string","description":"에이전트에게 할당할 권한 그룹의 ID"},"permission_group_name":{"type":"string","description":"에이전트에게 할당할 권한 그룹 이름"}}}}}},"responses":{"200":{"description":"에이전트가 성공적으로 수정되었습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"result":{"type":"object","properties":{"id":{"type":"string","description":"삭제/생성된 에이전트의 ID"},"status":{"type":"string","description":"무슨 일이 일어났나요 (삭제됨 또는 생성됨)"}}}}}}}},"400":{"description":"잘못된 매개변수","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"string","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":"에이전트를 찾을 수 없습니다.","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"string","description":"존재하지 않는 에이전트를 삭제하려고 하면"}}}}}},"500":{"description":"Internal server error."}},"parameters":[{"$ref":"#/components/parameters/AgentEmailHeader"},{"$ref":"#/components/parameters/UserEmailHeader"},{"$ref":"#/components/parameters/OwnUserIdHeader"}]}}}}
```
