> 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"}]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.allganize.ai/api-reference/korean/user-management.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
