openapi: 3.2.0
info:
title: Avaya User API
version: '1.0'
description: 'Operations tagged User across 2 of this provider''s published API definitions: avaya-axp-admin-user-openapi-original.json, avaya-infinity-user-management-openapi-original.json. Each path carries the servers of the definition it was published in.'
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
- url: https://core.{customerId}.ec.avayacloud.com/api/config/v1
description: Production
variables:
customerId:
description: Your organization identifier
default: your-org-id
tags:
- name: User
description: Represents a user in the system. A user can be an Agent, Supervisor or an Administrator.
paths:
/accounts/{accountId}/users:
get:
tags:
- User
summary: List Users
description: '**This API requires the Account Administrator role.**
Lists all of the users for an account.'
operationId: listUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/pageNumber'
- name: pageSize
in: query
description: 'The max number of records to retrieve per page. Default value is 10.
'
required: false
schema:
type: integer
format: int32
example: 5
default: 10
minimum: 5
maximum: 50
- name: filter
in: query
required: false
description: "Specifies details of a row filter.\n\n The possible fields that can be filtered on are:\n * loginId\n * lastName\n * firstName\n * emailId\n * organizationNodeId\n * profileId\n\nThe allowed format:\n - Begins with the column name to be filtered, followed by a colon, then:\n - Either an exact string to match, or\n - A string expression including the * wildcard character\n - :{PREFIX}* will be used to find out word start with.\n - :*{POSTFIX} will be used to find out word end with\n - : will be used to match exact word\n - Begin with column name to be filtered, followed by a = operator. (this will be used to match exact string)\n"
schema:
type: string
maxLength: 255
examples:
exact:
description: Example of filtering based on an exact string.
value: lastName=Stevens
prefix:
description: Example of filtering based on a prefix string.
value: lastName:Stevens*
postfix:
description: Example of filtering based on a postfix string.
value: lastName:*Stevens
- name: orderBy
in: query
required: false
description: 'Field name on which ordering needs to be performed. The default order is ascending.
The possible fields that can be ordered on are:
* loginId
* lastName
* firstName
* emailId
* organizationNodeId
Field Names are case-sensitive (should be written as it is in description).
To specify descending order, a suffix " desc" should be added. For example, "firstName" for ascending or "firstName desc" for descending".
'
schema:
type: string
maxLength: 255
examples:
ascending:
value: firstName
descending:
value: fistName desc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserPage'
examples:
User-Page:
$ref: '#/components/examples/UserPage'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
post:
tags:
- User
summary: Create User
description: '**This API requires the Account Administrator role.**
Creates a user.
The following fields must be unique otherwise a `HTTP 409 Conflcit` will be returned:
* `loginId`
* `emailId`
When creating a user with a `profileId`, the field values in the user request will override any that are
also defined in the profile. For example, if the profile contains configuration for `features` and the user
request also contains `features`, the `features` defined in the user request will override those from the profile.
Changes to the fields:
* `roles`
* `features`
Will trigger asynchronous updates, the status of which should be monitored via `/users:listStatuses`.'
operationId: createUser
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
description: Create user with provided details including profileId and features
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
Basic-User:
$ref: '#/components/examples/BasicUserInput'
Basic-User-with-roles-and-groups:
$ref: '#/components/examples/BasicUserWithRolesAndGroupsInput'
User-with-profile-features:
$ref: '#/components/examples/UserWithFeaturesfromProfile'
User-with-profile-and-features:
$ref: '#/components/examples/UserWithProfileFeatures'
User-with-all-fields:
$ref: '#/components/examples/UserWithAllFields'
User-with-profile-and-features-without-provider:
$ref: '#/components/examples/UserWithProfileFeatureswithoutchannelProvider'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
User:
$ref: '#/components/examples/UserResponse'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/UserConflict'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users/{userId}:
put:
tags:
- User
summary: Update User
description: '**This API requires the Account Administrator role.**
Updates a user.
The following fields must be unique otherwise a `HTTP 409 Conflcit` will be returned:
* `userId`
* `emailId`
This operation will clear the value stored for any fields not present in the request.
For example, to remove a feature such as `voice` from a user you should omit the
`voice` field in the request. The same behavior applies to every field in the request.
When updating a user with a `profileId`, the field values in the user request will override any that are
also defined in the profile. For example, if the profile contains configuration for `features` and the user
request also contains `features`, the `features` defined in the user request will override those from the profile.
Changes to the fields:
* `roles`
* `features`
Will trigger asynchronous updates, the status of which should be monitored via `/users:listStatuses`.'
operationId: updateUser
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
requestBody:
description: User
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
User-with-all-fields:
$ref: '#/components/examples/UserUpdateWithAllFields'
User-update-address-and-add-new-address:
$ref: '#/components/examples/UserUpdateNewAddress'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
User:
$ref: '#/components/examples/UserResponse'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/UserConflict'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
get:
tags:
- User
summary: Get User
description: '**This API requires the Account Administrator role.**
Gets a user.'
operationId: getUser
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/User'
examples:
User:
$ref: '#/components/examples/UserResponse'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
delete:
tags:
- User
summary: Delete User
description: '**This API requires the Account Administrator role.**
Deletes a user.'
operationId: deleteUser
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users:search:
post:
tags:
- User
summary: Search Users
description: '**This API requires the Account Administrator role.**
Searches the user list based on criteria provided.
This data includes basic details of each user and available features including current status for features operation progress.'
operationId: searchUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/pageNumber'
- name: pageSize
in: query
description: 'The max number of records to retrieve per page. Default value is 10.
'
required: false
schema:
type: integer
format: int32
example: 5
default: 10
minimum: 5
maximum: 500
requestBody:
description: The possible fields you can filter and order are userId,loginId,lastName,firstName,emailId,organizationNodeId,profileId
content:
application/json:
schema:
$ref: '#/components/schemas/SearchFilterCriteria'
examples:
FirstName-start-with-search:
$ref: '#/components/examples/FirstNameStartWithInput'
FirstName-start-with-AND-lastName-ends-with-search:
$ref: '#/components/examples/FirstNameStartWithANDLastNameEndsWithInput'
FirstName-contains-search:
$ref: '#/components/examples/FirstNameContainsInput'
EmailId-equals-search:
$ref: '#/components/examples/EmailIdEqualsInput'
LastName-not-equal-search:
$ref: '#/components/examples/LastNameNotEqualsInput'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserPage'
examples:
User-Page:
$ref: '#/components/examples/UserSearchPage'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users:listStatuses:
post:
tags:
- User
summary: List User Statuses
description: '**This API requires the Account Administrator role.**
Lists the current statuses for the given users.'
operationId: listUserStatuses
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserIdList'
examples:
Request-User-Statuses:
$ref: '#/components/examples/UserStatusesRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserStatusResponse'
examples:
User-Statuses:
$ref: '#/components/examples/UserStatuses'
Failed-User-Statuses:
$ref: '#/components/examples/FailedUserStatuses'
InProgress-User-Statuses:
$ref: '#/components/examples/InProgressUserStatuses'
PendingUpdate-User-Statuses:
$ref: '#/components/examples/PendingUpdateUserStatuses'
PendingDelete-User-Statuses:
$ref: '#/components/examples/PendingDeleteUserStatuses'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users/{userId}/resource-partitions:
get:
tags:
- User
summary: List Resource Partitions
description: '**This API requires the Account Administrator role.**
Lists all of the resource partitions for a user.'
operationId: listResourcePartitionsByUserId
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
- $ref: '#/components/parameters/pageNumber'
- name: pageSize
in: query
description: 'The max number of records to retrieve per page. Default value is 10.
Any value like 10, 20, 30 .. is allowed.
Values that exceed the maximum will result in a 400 Bad Request being returned.
'
required: false
schema:
type: integer
format: int32
example: 10
default: 10
minimum: 5
maximum: 50
- name: filter
in: query
required: false
description: "Specifies details of a row filter.\n\nThe possible fields that can be filtered on are:\n * name\n\nThe allowed format:\n - Begins with the column name to be filtered, followed by a colon, (This will be used as a Contains operator.) then:\n - Either an exact string to match, or\n - A string expression including the * wildcard character.\n - :{PREFIX}* will be used to find out word start with.\n - :*{POSTFIX} will be used to find out word end with\n - : will be used to match exact word\n - Begin with column name to be filtered, followed by a = operator. (this will be used to match exact string)\n"
schema:
type: string
maxLength: 255
examples:
exact:
description: Example of filtering based on an exact string.
value: name=Sales Resource Partition
prefix:
description: Example of filtering based on a prefix string.
value: name:Sales*
postfix:
description: Example of filtering based on a postfix string.
value: name:*Sales
- name: orderBy
in: query
required: false
description: "Field name on which ordering needs to be performed. The default order is ascending.\n\nThe possible fields that can be ordered on are:\n * name\n\nField Names are case-sensitive (should be written as it is in description).\n\nTo specify descending order, a suffix \" desc\" should be added. For example, \"name\" for ascending or \"name desc\" for descending\".\n"
schema:
type: string
maxLength: 255
examples:
ascending:
value: name
descending:
value: name desc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserResourcePartitionsPage'
examples:
ResourcePartitionsPage:
$ref: '#/components/examples/UserResourcePartitionsPage'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users/{userId}/resource-partitions/updateDefaultResource:
post:
tags:
- User
summary: Set Default Resource of Resource Partition for User
description: '**This API requires the Account Administrator role.**
Sets the default resource Id of resource partition for a user. Specify resourcePartitionId and defaultResoureId in the request body.'
operationId: setDefaultResourceForUser
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ResourcePartitionDefaultResource'
examples:
User-Resource-Partition-Default-Resource:
$ref: '#/components/examples/ResourcePartitionDefaultResource'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ResourcePartitionDefaultResource'
examples:
User-Resource-Partition-Default-Resource:
$ref: '#/components/examples/ResourcePartitionDefaultResource'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users/{userId}/addresses:
post:
tags:
- User
summary: Create Address
description: '**This API requires the Account Administrator role.**
Creates an address for a user.'
operationId: createUserAddress
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
requestBody:
description: User address payload
content:
application/json:
schema:
$ref: '#/components/schemas/Address'
examples:
Address:
$ref: '#/components/examples/AddressWrite'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Address'
examples:
Address:
$ref: '#/components/examples/AddressRead'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users/{userId}/addresses/{addressId}:
put:
tags:
- User
summary: Update Address
description: '**This API requires the Account Administrator role.**
Updates an address of a user.
This operation will clear the value stored for any fields not present in the request.'
operationId: updateUserAddress
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
- $ref: '#/components/parameters/addressId'
requestBody:
description: User address payload
content:
application/json:
schema:
$ref: '#/components/schemas/Address'
examples:
Address:
$ref: '#/components/examples/AddressWrite'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Address'
examples:
Address:
$ref: '#/components/examples/AddressRead'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/accounts/{accountId}/users/{userId}/addresses/{addressId}:updateDefault:
post:
tags:
- User
summary: Update Default Address
description: '**This API requires the Account Administrator role.**
Updates a user''s default address to the address ID provided.
Address IDs for both `addresses` and `accountAddresses` are accepted. Note,
only 1 type of address can be the default at any one time.'
operationId: updateUserDefaultAddress
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/userId'
- $ref: '#/components/parameters/addressId'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Address'
examples:
Address:
$ref: '#/components/examples/AddressDefault'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
security:
- {}
- BearerAuth: []
AppKey: []
servers:
- url: '{protocol}://{server}:{port}{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
port:
enum:
- '443'
default: '443'
basePath:
default: /api/admin/user/v1
/users:
get:
tags:
- User
summary: Get List of Users
description: '**Required Role:** Admin Portal or Admin API Consumer
Retrieves a list of users with optional filtering and related data.
Query parameters control which related data is included in the response (groups, location, CRM config)
and whether folder information should be returned.
**Status Filtering:**
- Use the `status` query parameter to filter by user status: `ENABLED` (default), `DISABLED`, or `ALL`
**Deleted Users:**
- Use the `deleted` query parameter to control visibility of soft-deleted users:
`EXCLUDE` (default), `INCLUDE`, or `ONLY`
- When `deleted=ONLY`, the `status` filter is ignored because deleted users are always disabled'
operationId: getUsers
parameters:
- name: status
in: query
description: 'Filter users by status.
- `ENABLED` (default): Only enabled users
- `DISABLED`: Only disabled users
- `ALL`: All users regardless of status
'
required: false
schema:
type: string
enum:
- ENABLED
- DISABLED
- ALL
default: ENABLED
- name: deleted
in: query
description: "Control visibility of soft-deleted users.\n- `EXCLUDE` (default): Hide deleted users\n- `INCLUDE`: Include deleted users alongside non-deleted users\n- `ONLY`: Return only deleted users (the `status` filter is ignored because\n deleted users are always disabled)\n"
required: false
schema:
type: string
enum:
- EXCLUDE
- INCLUDE
- ONLY
default: EXCLUDE
- name: folders
in: query
description: Include folder hierarchy and breadcrumbs in the response
required: false
schema:
type: boolean
default: false
- name: folderId
in: query
description: 'Filter users by folderId (includes subfolders recursively).
- Omit parameter: Returns users from all folders
- Empty string (""): Returns users in root folder only (not in any subfolder)
- 26-character folder ID: Returns users in the specified folder AND all subfolders
'
required: false
schema:
oneOf:
- $ref: '#/components/schemas/FolderId'
- type: string
enum:
- ''
description: Empty string for root folder
- name: inFolder
in: query
description: Filter users that are in or not in a folder.
required: false
schema:
type: boolean
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/sortBy'
- name: profileId
in: query
description: Filter by profile ID
required: false
schema:
$ref: '#/components/schemas/ProfileId'
- name: hasProfile
in: query
description: Filter users that have or do not have a profile.
required: false
schema:
type: boolean
- name: licType
in: query
description: Filter by license type
required: false
schema:
$ref: '#/components/schemas/LicenseType'
- name: locationId
in: query
description: Filter by location ID
required: false
schema:
$ref: '#/components/schemas/LocationId'
- name: hasLocation
in: query
description: Filter users that have or do not have a location.
required: false
schema:
type: boolean
- name: groups
in: query
description: Include group memberships with full group details (groupId, name, type)
required: false
schema:
type: boolean
default: true
- name: location
in: query
description: Include E911 location details for each user
required: false
schema:
type: boolean
default: true
- name: crmConfigId
in: query
description: Include CRM configuration details for each user
required: false
schema:
type: boolean
default: true
- name: updatedSince
in: query
description: 'Filter users updated on or after this UTC timestamp.
Must be in ISO 8601 format (e.g., 2026-01-22T00:00:00Z).
When used with updatedUntil, updatedUntil must be greater than updatedSince.
Note: newly created users have lastUpdated set to their creation time.
'
required: false
schema:
type: string
format: date-time
- name: updatedUntil
in: query
description: 'Filter users updated on or before this UTC timestamp.
Must be in ISO 8601 format (e.g., 2026-01-22T23:59:59Z).
When used with updatedSince, must be greater than updatedSince.
'
required: false
schema:
type: string
format: date-time
- $ref: '#/components/parameters/pageSize'
- $ref: '#/components/parameters/pageNumber_2'
responses:
'200':
$ref: '#/components/responses/GetUsersResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'500':
$ref: '#/components/responses/InternalServerError'
default:
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuth: []
post:
tags:
- User
summary: Create a user
description: '**Required Role:** Admin Portal or Admin API Consumer
Creates a user.
The type of user is controlled by the license type, which is typically
an agent of some kind, but other types can be supported via the ''nonAgent'' type.
At a minimum, creating a user requires:
- the user''s email address
- the user''s first and last names
- the user''s license type or a profile to apply to the user (the license type will be
taken from the profile if specified)
**License Types and Their Defaults:**
- `nonAgent`: Limited permissions, minimal spaces (1 task, 1 email, 1 messaging)
- `voiceOnlyAgent`: Voice-focused permissions, phone space (2 task, 1 phone)
- `digitalOnlyAgent`: Digital channels, no phone (3 task, 2 email, 2 messaging)
- `omniChannelAgent`: All channels except video (3 task, 2 email, 1 phone, 2 messaging)
- `omniChannelAgentEnhanced`: All channels with enhanced features and session statistics
- `hybridVoiceAgent`: Balanced voice and digital capabilities
**Validation Rules:**
- User''s email address must be unique within the account
- License type must be valid for the account
- Profile must exist (if profile ID is provided)
- Folder must exist (if folder ID is provided)
- Location must exist (if location ID is provided) - location IDs are system-generated'
operationId: postUsers
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserRequest'
responses:
'201':
$ref: '#/components/responses/CreateUserResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'409':
$ref: '#/components/responses/UserConflict_2'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
default:
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuth: []
x-operation-id-source: normalized
x-operation-id-original: createUser
servers:
- url: https://core.{customerId}.ec.avayacloud.com/api/config/v1
description: Production
variables:
customerId:
description: Your organization identifier
default: your-org-id
/users/{userIdOrEmail}:
get:
tags:
- User
summary: Get Single User Details
description: '**Required Role:** Admin Portal or Admin API Consumer
Retrieves detailed information about a specific user including their configuration,
permissions, queue assignments, and related data.
The path parameter can be either a userId (26-character internal ID starting with ''002'')
or an email address.
Query parameters control which related data is included in the response.'
operationId: getUsersByUserIdOrEmail
parameters:
- $ref: '#/components/parameters/userIdOrEmail'
- name: queues
in: query
description: Include queue assignments with names
required: false
schema:
type: boolean
default: false
- name: queueLogins
in: query
description: Include current queue login sessions
required: false
schema:
type: boolean
default: false
- name: groups
in: query
description: Include group memberships
required: false
schema:
type: boolean
default: false
- name: location
in: query
description: Include E911 location details
required: false
schema:
type: boolean
default: false
- name: crmConfigId
in: query
description: Include CRM configuration
required: false
schema:
type: boolean
default: false
- name: reportsTo
in: query
description: Include reports-to user details (supervisor/manager relationship)
required: false
schema:
type: boolean
default: false
- name: externalUCProviderConnections
in: query
description: Include external UC provider connection details
required: false
schema:
type: boolean
default: false
responses:
'200':
description: User details retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetail'
examples:
success:
$ref: '#/components/examples/GetUserDetailSuccess'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
$ref: '#/components/responses/NotFound_2'
'500':
$ref: '#/components/responses/InternalServerError'
default:
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuth: []
x-operation-id-source: normalized
x-operation-id-original: getUser
patch:
tags:
- User
summary: Update a user
description: '**Required Role:** Admin Portal or Admin API Consumer
Update one or more properties of a user. The user can be identified by their user ID
or email address.
**Agent Self-Edit Restrictions**
When an agent edits their own profile (self-edit), the server enforces the following:
*Read-only identity fields:*
The following fields are always read-only for agents and cannot be modified via self-edit.
Any attempt returns **403 Forbidden**:
`firstName`, `lastName`, `namePrefix`, `nameSuffix`, `title`, `email`, `mobile`.
These fields can only be changed by an administrator.
*Auto Answer / WebHID Edit Restrictions:*
* If `allowAgentEditAutoAnswer` is `false` on the user record and the request includes
a change to `attributes.webRTC.autoAnswer.interaction`, the server returns **403 Forbidden**.
* If `allowAgentEditWebHIDHeadsetControl` is `false` on the user record and the request
includes a change to `attributes.webHID.status`, the server returns **403 Forbidden**.
* Administrators editing other users are never restricted by these flags.
* Agents can still modify unrestricted fields (language, timezone, app theme, queues, etc.)
even when identity and Auto Answer / WebHID edits are restricted.
**Agent Self-Edit Restrictions**
When an agent edits their own profile (self-edit), the server enforces the following:
*Read-only identity fields:*
The following fields are always read-only for agents and cannot be modified via self-edit.
Any attempt returns **403 Forbidden**:
`firstName`, `lastName`, `namePrefix`, `nameSuffix`, `title`, `email`, `mobile`.
These fields can only be changed by an administrator.
*Auto Answer / WebHID Edit Restrictions:*
* If `allowAgentEditAutoAnswer` is `false` on the user record and the request includes
a change to `attributes.webRTC.autoAnswer.interaction`, the server returns **403 Forbidden**.
* If `allowAgentEditWebHIDHeadsetControl` is `false` on the user record and the request
includes a change to `attributes.webHID.status`, the server returns **403 Forbidden**.
* Administrators editing other users are never restricted by these flags.
* Agents can still modify unrestricted fields (language, timezone, app theme, queues, etc.)
even when identity and Auto Answer / WebHID edits are restricted.
** Disabling a User **
A user can be disabled by performing an update to set the `status` property to `disabled`.
This can normally only be done if:
* the user is not logged in
* the user has no active interactions
* the user has no pending interactions in their personal queue
and a request to do so in any of those conditions will fail with a 422 error. This can be
overridden by setting the `forceDisable` query parameter.'
operationId: patchUsersByUserIdOrEmail
parameters:
- $ref: '#/components/parameters/userIdOrEmail'
- $ref: '#/components/parameters/forceDisable'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserRequest'
responses:
'200':
description: The updated user.
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetail'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
$ref: '#/components/responses/NotFound_2'
'422':
$ref: '#/components/responses/UserCanNotBeDisabled'
'500':
$ref: '#/components/responses/InternalServerError'
default:
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuth: []
x-operation-id-source: normalized
x-operation-id-original: updateUser
servers:
- url: https://core.{customerId}.ec.avayacloud.com/api/config/v1
description: Production
variables:
customerId:
description: Your organization identifier
default: your-org-id
/users/{userId}:
delete:
tags:
- User
summary: Delete a user
description: '**Required Role:** Admin Portal or Admin API Consumer
Delete a user.
Only users in the `disabled` state can be deleted. Attempting to delete an `enabled`
user will fail with a 422 response.'
operationId: deleteUsersByUserId
parameters:
- $ref: '#/components/parameters/userId_2'
responses:
'204':
description: Result for successfully having deleted the user.
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized_2'
'403':
$ref: '#/components/responses/Forbidden_2'
'404':
$ref: '#/components/responses/NotFound_2'
'422':
$ref: '#/components/responses/UserCanNotBeDeleted'
'500':
$ref: '#/components/responses/InternalServerError'
default:
$ref: '#/components/responses/InternalServerError'
security:
- BearerAuth: []
x-operation-id-source: normalized
x-operation-id-original: deleteUser
servers:
- url: https://core.{customerId}.ec.avayacloud.com/api/config/v1
description: Production
variables:
customerId:
description: Your organization identifier
default: your-org-id
components:
examples:
UserWithProfileFeatures:
description: User with features
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
roles:
- Agent
- Administrator
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 03673a3a-3dfb-4606-ae79-fd0fe0cf2d53
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d5
profileId: ASDFGH
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
PendingUpdateUserStatuses:
description: List of User statuses
value:
- action: UPDATE
status: PENDING
message: Operation is in pending update
userId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
role:
action: UPDATE
status: PENDING
message: Operation is in pending update
features:
matching:
action: UPDATE
status: COMPLETED
message: Feature updated successfully
chat:
action: UPDATE
status: PENDING
message: Feature is in pending update
messaging:
action: UPDATE
status: PENDING
message: Feature is in pending update
email:
action: UPDATE
status: PENDING
message: Feature is in pending update
voice:
action: UPDATE
status: PENDING
message: Feature is in pending update
cmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
aci:
action: UPDATE
status: PENDING
message: Feature is in pending update
recorder:
action: UPDATE
status: PENDING
message: Feature is in pending update
outbound:
action: UPDATE
status: PENDING
message: Feature is in pending update
advancedcmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
FailedUserStatuses:
description: List of User statuses
value:
- action: ADD
status: FAILED
message: Operation failed
userId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
role:
action: ADD
status: FAILED
message: The password does not meet the password policy requirements.
features:
matching:
action: ADD
status: COMPLETED
message: Feature added successfully
chat:
action: ADD
status: COMPLETED
message: Feature added successfully
messaging:
action: ADD
status: COMPLETED
message: Feature added successfully
email:
action: ADD
status: COMPLETED
message: Feature added successfully
voice:
action: ADD
status: COMPLETED
message: Feature added successfully
cmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
aci:
action: ADD
status: COMPLETED
message: Feature added successfully
outbound:
action: ADD
status: COMPLETED
message: Feature added successfully
recorder:
action: ADD
status: COMPLETED
message: Feature added successfully
advancedcmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
ErrorUserEmailIdExists:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#conflict
title: Conflict
status: 409
detail: A resource with the same unique constraint values already exists.
violations:
- field: emailId
message: A user with this emailId already exists
UserWithAllFields:
description: user with all fields
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
displayName: Stevens, Alex
emailId: stevens@avaya.com
profileId: FSADSJ
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 05603a3a-3dfb-4606-ae79-fd0fe0be2e52
roles:
- Agent
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d5
addresses:
- addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: false
accountAddresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
isDefault: true
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
UserStatuses:
description: List of User statuses
value:
- action: ADD
status: COMPLETED
message: Completed successfully
userId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
role:
action: ADD
status: COMPLETED
message: Added successfully
features:
matching:
action: ADD
status: COMPLETED
message: Feature added successfully
chat:
action: ADD
status: COMPLETED
message: Feature added successfully
messaging:
action: ADD
status: COMPLETED
message: Feature added successfully
email:
action: ADD
status: COMPLETED
message: Feature added successfully
voice:
action: ADD
status: COMPLETED
message: Feature added successfully
cmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
aci:
action: ADD
status: COMPLETED
message: Feature added successfully
recorder:
action: ADD
status: COMPLETED
message: Feature added successfully
outbound:
action: ADD
status: COMPLETED
message: Feature added successfully
advancedcmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
AddressRead:
description: An Address with readonly properties
value:
addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: false
UserPage:
description: Paginated User Data
value:
pagination:
pageNumber: 2
pageSize: 10
total: 45
users:
- organizationNodeId: EXMPLE
userId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
displayName: Stevens, Alex
emailId: stevens@avaya.com
profileId: FSADSJ
memberOfGroups:
- c8c2909d-75e9-484a-94c0-b7e8d29771fe
ownedGroups:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
roles:
- Agent
resourcePartitions:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
addresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: false
accountAddresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
isDefault: false
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
userExtension: '10021'
emergencyLocationIdentificationNumber: '7798098090'
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
links:
prev: /api/admin/user/v1/accounts/ASDJGE/users?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/users?pageNumber=3&pageSize=10
PendingDeleteUserStatuses:
description: List of User statuses
value:
- action: DELETE
status: PENDING
message: Operation is in pending delete
userId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
role:
action: DELETE
status: PENDING
message: Operation is in pending delete
features:
matching:
action: DELETE
status: COMPLETED
message: Feature deleted successfully
chat:
action: DELETE
status: PENDING
message: Feature is in pending delete
messaging:
action: DELETE
status: PENDING
message: Feature is in pending delete
email:
action: DELETE
status: PENDING
message: Feature is in pending delete
voice:
action: DELETE
status: PENDING
message: Feature is in pending delete
cmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
aci:
action: DELETE
status: PENDING
message: Feature is in pending delete
recorder:
action: DELETE
status: PENDING
message: Feature is in pending delete
outbound:
action: DELETE
status: PENDING
message: Feature is in pending delete
advancedcmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
AddressWrite:
description: An Address
value:
addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
name: Zimbabwe
code: ZW
zip: L3R9T8
isDefault: false
FirstNameStartWithANDLastNameEndsWithInput:
value:
filter:
- discriminator: OR
key: firstName
operator: STARTS_WITH
value: Steven
- discriminator: AND
key: lastName
operator: ENDS_WITH
value: Smith
orderBy: firstName desc
LastNameNotEqualsInput:
value:
filter:
- discriminator: OR
key: lastName
operator: NOT_EQUALS
value: Steff
orderBy: firstName desc
ErrorForbidden:
description: Forbidden
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#forbidden
title: Forbidden
status: 403
detail: According to the access control policy the current user and/or accountId does not have permission to access this resource.
UserUpdateNewAddress:
description: User update existing address and add new address
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
displayName: Stevens, Alex
emailId: stevens@avaya.com
profileId: FSADSJ
memberOfGroups:
- 9508183b-7b90-471c-97ca-dfd08bd73842
ownedGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
roles:
- Administrator
addresses:
- addressId: c80e94b6-75e9-484a-94c0-b4bdfcd6b3ca
addressName: Home Address
addressType: APARTMENT
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: true
- addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: false
accountAddresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
isDefault: true
InProgressUserStatuses:
description: List of User statuses
value:
- action: ADD
status: IN_PROGRESS
message: Operation is in progress
userId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
role:
action: ADD
status: IN_PROGRESS
message: Operation is in progress
features:
matching:
action: ADD
status: COMPLETED
message: Feature added successfully
chat:
action: ADD
status: COMPLETED
message: Feature added successfully
messaging:
action: ADD
status: COMPLETED
message: Feature added successfully
email:
action: ADD
status: COMPLETED
message: Feature added successfully
voice:
action: ADD
status: IN_PROGRESS
message: Operation is in progress
cmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
aci:
action: ADD
status: COMPLETED
message: Feature added successfully
recorder:
action: ADD
status: COMPLETED
message: Feature added successfully
outbound:
action: ADD
status: COMPLETED
message: Feature added successfully
advancedcmvoice:
action: ADD
status: COMPLETED
message: Feature added successfully
ErrorNotFound:
description: Not Found
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#resource-not-found
title: Resource Not Found
status: 404
detail: Either there is no API method associated with the URL path of the request, or the request refers to one or more resources that were not found.
ErrorConstraintViolation:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#constraint-violation
title: Constraint Violation
status: 400
detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
violations:
- field: accountId
message: must match "^[a-zA-Z]{6}$"
code: 20006
ErrorUserLoginIdExists:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#conflict
title: Conflict
status: 409
detail: A resource with the same unique constraint values already exists.
violations:
- field: loginId
message: A user with this loginId already exists
UserStatusesRequest:
description: Request for User Statuses
value:
userIds:
- 4ffcec98-2206-44b1-94e3-e253abf6a4d2
- 4a83190d-b288-4efe-b3bf-96d5c5c5ae44
BasicUserWithRolesAndGroupsInput:
description: Basic user with roles and groups
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
roles:
- Administrator
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 03673a3a-3dfb-4606-ae79-fd0fe0cf2d53
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d5
UserWithFeaturesfromProfile:
description: User with features from profile which will get assigned if features not provided
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
roles:
- Supervisor
- Administrator
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 03673a3a-3dfb-4606-ae79-fd0fe0cf2d53
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d5
profileId: ASDFGH
EmailIdEqualsInput:
value:
filter:
- discriminator: OR
key: emailId
operator: EQUALS
value: Steven@avaya.com
orderBy: firstName desc
ErrorUnauthorized:
description: Unauthorized
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#unauthorized
title: Unauthorized
status: 401
detail: This operation requires authentication. See https://developers.avayacloud.com/avaya-experience-platform/docs/how-to-authenticate-with-ccaas-apis
FirstNameStartWithInput:
value:
filter:
- discriminator: AND
key: firstName
operator: STARTS_WITH
value: Steven
orderBy: firstName desc
AddressDefault:
description: A default Address
value:
addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: true
FirstNameContainsInput:
value:
filter:
- discriminator: OR
key: firstName
operator: CONTAINS
value: tev
orderBy: firstName desc
UserResponse:
description: User details
value:
organizationNodeId: EXMPLE
userId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
displayName: Stevens, Alex
emailId: stevens@avaya.com
profileId: FSADSJ
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 03203a3a-3dfb-4606-ae79-fd0fe0be3d53
roles:
- Agent
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d53
addresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: true
accountAddresses:
- addressId: d7d3909d-75e9-484a-94c0-b7e8d29661de
isDefault: false
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: ce607659-2213-4c93-ad8f-3a930d1a8b3b
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: bb032ead-889a-46c6-957d-826449bc84cb
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
userExtension: '10021'
emergencyLocationIdentificationNumber: '7798098090'
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: a8b6d39c-53c5-4d94-a640-c28bee987ed7
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
outbound: {}
recorder: {}
advancedcmvoice: {}
UserUpdateWithAllFields:
description: user with all fields
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
displayName: Stevens, Alex
emailId: stevens@avaya.com
profileId: FSADSJ
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d5
roles:
- Agent
addresses:
- addressId: 04303a3a-3dfb-4606-ae79-fd0fe0be3e43
addressName: Address Name
addressType: APARTMENT
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: true
- addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: false
accountAddresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
isDefault: true
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
outbound: {}
recorder: {}
advancedcmvoice: {}
BasicUserInput:
description: Basic user
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
ResourcePartitionDefaultResource:
description: Resource Partition with default resource
value:
- resourcePartitionId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
defaultResourceId: 620bbb28-7112-433a-af59-17ee0f15a247
type: CALLER_ID
isDefault: true
ErrorInternalServerError:
description: Server Error
value:
type: https://developers.avayacloud.com/avaya-experience-platform/docs/error-handling#server-error
title: Server Error
status: 500
detail: An internal server error was encountered.
UserResourcePartitionsPage:
description: Paginated resource partition Data for User/Profile
value:
pagination:
pageNumber: 2
pageSize: 10
total: 45
resourcePartitions:
- id: 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
name: Sales Resource Partition
description: Sales resource partition with CLID
resources:
- type: CALLER_ID
resourceIds:
- 620bbb28-7112-433a-af59-17ee0f15a247
- 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
defaultResourceId: 620bbb28-7112-433a-af59-17ee0f15a247
links:
- prev: /api/admin/user/v1/accounts/ASDJGE/users/c8c2909d-75e9-484a-94c0-b7e8d29771fe/resourcePartitions?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/users/c8c2909d-75e9-484a-94c0-b7e8d29771fe/resourcePartitions?pageNumber=3&pageSize=10
UserSearchPage:
description: Paginated User Data
value:
pagination:
pageNumber: 2
pageSize: 10
total: 45
users:
- organizationNodeId: EXMPLE
userId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
displayName: Stevens, Alex
emailId: stevens@avaya.com
profileId: FSADSJ
memberOfGroups:
- c8c2909d-75e9-484a-94c0-b7e8d29771fe
ownedGroups:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
roles:
- Agent
resourcePartitions:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
addresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
addressName: Address Name
addressType: OFFICE
addressTypeNumber: '101'
streetNumber: A11
streetName: Allstate Pkwy
city: Markham
state: 'ON'
countryCode: ZW
zip: L3R9T8
isDefault: false
accountAddresses:
- addressId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
isDefault: false
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
userExtension: '10021'
emergencyLocationIdentificationNumber: '7798098090'
providers:
- providerAgentId: stevens@avaya.com
channelProviderId: d7c2909d-75e9-484a-94c0-b7e8d30771dd
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
links:
prev: /api/admin/user/v1/accounts/ASDJGE/users:search?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/users:search?pageNumber=3&pageSize=10
UserWithProfileFeatureswithoutchannelProvider:
description: User with features without channel provider
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
roles:
- Agent
- Administrator
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
ownedGroups:
- 03673a3a-3dfb-4606-ae79-fd0fe0cf2d53
resourcePartitions:
- 96803a3a-3dfb-4606-ae79-fd0fe0be3e64
- pqe73a3a-78965-4606-ae12-yu0fe0cf2d5
profileId: ASDFGH
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 2
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 2
afterContactWork: false
email:
autoAnswer: false
multiplicity: 2
afterContactWork: false
voice:
voicePriority: true
autoAnswer: false
afterContactWork: false
cmvoice:
agentLoginId: '11021'
agentPassword: 81238
agentLoginPassword: '012345'
extensionNumber: '1111'
communicationProfileAddresses:
- address: 10022@SipDomain1.com
type: SIP
isDefault: true
- address: +12345@avaya.com
type: E164
isDefault: false
communicationProfilePassword: anypasswordstring
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
GetUserDetailSuccess:
description: Successful user retrieval
value:
userId: 002d011003cf7c9d1b469ddc7e
email: hitenagent@avaya113.com
firstName: Hiten
lastName: Agent
fullName: Hiten Agent
licType: omniChannelAgentEnhanced
status: enabled
createdOn: '2025-09-08T14:36:49Z'
lastUpdated: '2025-09-08T14:38:10Z'
tags: []
attributes: {}
permissions: {}
ErrorUserEmailExists:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/avaya-infinity/docs/user-management#error-reference
title: Conflict
status: 409
detail: A resource with the same unique constraint values already exists.
violations:
- field: email
message: A user with this email already exists
ErrorUnprocessableEntity:
description: Validation failed
value:
type: https://developers.avayacloud.com/avaya-infinity/docs/user-management#error-reference
title: Validation failed
status: 422
detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process this request until the client resolves the semantic errors described in the violations section.
violations:
message: Invalid email format.
code: 20008
schemas:
Role:
description: User Role
type: string
maxLength: 40
example: Agent
CMVoiceUserFeature:
description: This model is used to populate CM voice feature data in user
type: object
required:
- agentLoginId
- extensionNumber
- communicationProfileAddresses
properties:
deviceType:
type: string
example: CM
readOnly: true
agentLoginId:
type: string
minLength: 1
maxLength: 16
pattern: ^[1-9][0-9]*$
maximum: 10000000000000000
description: Represent CM agent Id of User.
example: '2501'
agentPassword:
description: Represents CM agent password. This field is deprecated. Use agentLoginPassword field.
type: integer
format: int64
minimum: 1
maximum: 999999999
example: 81234
deprecated: true
agentLoginPassword:
description: Represents CM agent login password in String format.
type: string
minLength: 1
maxLength: 16
pattern: ^[0-9]*$
example: '012345'
extensionNumber:
type: string
minLength: 1
maxLength: 16
maximum: 10000000000000000
pattern: ^[1-9][0-9]*$
description: Represent Extension needed to map to User.
example: '3501'
communicationProfileAddresses:
type: array
minItems: 1
maxItems: 50
description: Represents the communication profile addresses.
items:
$ref: '#/components/schemas/CommunicationProfileAddress'
communicationProfilePassword:
description: Represent communication profile password.
type: string
example: UserPassword@123
minLength: 2
maxLength: 256
providers:
readOnly: true
type: array
maxItems: 10
items:
$ref: '#/components/schemas/Provider'
SearchFilterCriteria:
type: object
description: Filter criteria of request
title: SearchFilterCriteria
properties:
filter:
type: array
maxItems: 500
items:
$ref: '#/components/schemas/Criteria'
description: 'Specifies details of a row filter. The possible fields you can filter are needs to be supplied as mentioned in description.
'
orderBy:
description: 'Field name on which sorting needs to be performed. The possible fields you can filter are needs to be supplied as mentioned in description.
Field Names are case-sensitive (should be written as it is in description).
The default sorting order is ascending.
To specify descending order, a suffix " desc" should be added. For example, "firstName" for ascending or "firstName asc" for descending".
'
type: string
maxLength: 255
example: firstName desc
UserRecorderFeature:
type: object
description: 'This model is used to populate Recorder user feature data on UI while editing a user.
Currently, this model expects no properties and any properties passed to it will be ignored.
In the future, expected properties will be added as the model evolves.
To enable Recorder simply pass an empty object `{}`.
'
UserResourcePartition:
description: resource partition information
type: object
required:
- name
properties:
id:
type: string
description: Unique Id of the resource partition
readOnly: true
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
name:
type: string
example: Sales resource partition
minLength: 2
maxLength: 255
pattern: ^[a-zA-Z\p{L}0-9]+([ ]*[a-zA-Z\p{L}0-9-\_\*\=\+\$\:\;\&\~\,\?\%\!\|\{\}\`\.\']+)*$
description: Name of the resource partition
description:
type: string
example: Sales resource partition with Caller ID
minLength: 5
maxLength: 1024
description: Information about resource partition
resources:
type: array
maxItems: 10
description: List of the different type of resources assigned to the resource partition
items:
$ref: '#/components/schemas/UserResourcePartitionResource'
AdvancedCMVoiceUserFeature:
description: This model is used to populate Advanced CM voice feature data in user
type: object
CommunicationProfileAddress:
description: Represents association of profile address with user. Communication profile is used to represent a subscription of the user to a communication subsystem and the specific configuration needs for the user. Communication profiles can be CM Endpoint, Session Manager profile.
type: object
required:
- address
- type
properties:
address:
description: Represents the Communication Addresses based on type of communication
type: string
minLength: 6
maxLength: 255
pattern: ^[\+]?[\w-\.]+@([\w-]+\.)+[\w-]{2,63}$
example: 10001@SipDomain.com
type:
description: Represents type of the Communication Addresses
type: string
enum:
- SIP
- E164
example: SIP
isDefault:
description: Represents default Communication Addresses
type: boolean
default: false
example: false
UserIdList:
description: List of user Ids
type: object
properties:
userIds:
type: array
maxItems: 50
items:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d30771fe
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
example:
- 4ffcec98-2206-44b1-94e3-e253abf6a4d2
- 4a83190d-b288-4efe-b3bf-96d5c5c5ae44
description: List of user Ids
UserPage:
description: Paginated User Data
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
users:
type: array
items:
$ref: '#/components/schemas/User'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ASDJGE/users?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/users?pageNumber=3&pageSize=10
AssignedQueue:
description: Details of a queue to be assigned to an agent and its proficiency
type: object
properties:
queueId:
type: string
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
description: The unique 36 character internal id that represents the queue.
proficiency:
type: integer
minimum: 1
maximum: 16
default: 8
description: Value of proficiency that agent has for this particular queue. The value 1 represents the highest level of proficiency.
name:
type: string
minLength: 3
maxLength: 50
description: The name of the queue. Name must be unique per account.
CloudSwitchVoiceUserFeature:
description: This model is used to populate voice feature data on UI while editing user
type: object
properties:
voicePriority:
type: boolean
default: false
description: 'Voice call excludes new work on all other channels
'
example: false
autoAnswer:
type: boolean
default: false
description: Represent if the voice call to Agent is to be auto answered or not. Value can be true or false
example: false
afterContactWork:
type: boolean
default: false
description: afterContactWork enable/disble for this channel
example: false
afterContactWorkMode:
type: string
enum:
- DEFAULT
- DISABLED
- MANUAL
- TIMED
description: The mode used to determine expiry.
example: TIMED
afterContactWorkTimer:
type:
- integer
- 'null'
minimum: 1
maximum: 3600
description: 'The ACW timer expiry in terms of the specified units.
'
example: 10
afterContactWorkOverrideQueue:
type: boolean
description: user afterContactWork overrides queue setting
example: false
userExtension:
type: string
example: '10021'
readOnly: true
emergencyLocationIdentificationNumber:
type: string
example: '7798098090'
readOnly: true
providers:
readOnly: true
type: array
maxItems: 10
items:
$ref: '#/components/schemas/Provider'
deviceType:
type: string
example: WEBRTC
readOnly: true
password:
type: string
example: Admin123$
description: Represents Voice agent password.
readOnly: true
Links:
type: object
properties:
prev:
type: string
default: ''
description: URL of the previous page. Blank if currently on the first page.
next:
type: string
default: ''
description: URL of the next page. Blank if currently on the last page.
UserOutboundFeature:
type: object
description: 'This model is used to populate Outbound user feature data on UI while editing a user.
Currently, this model expects no properties and any properties passed to it will be ignored.
In the future, expected properties will be added as the model evolves.
To enable outbound simply pass an empty object `{}`.
'
Address:
description: A real address for an user.
type: object
required:
- addressName
- streetName
- streetNumber
- countryCode
- zip
properties:
addressId:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 36
maxLength: 36
readOnly: true
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
addressName:
type: string
minLength: 2
maxLength: 32
pattern: ^[a-zA-Z\p{L}0-9]+([ ]*[a-zA-Z\p{L}0-9-\_\*\=\+\$\:\;\&\~\,\?\%\!\|\{\}\`\.\']+)*$
example: Home address
addressType:
type:
- string
- 'null'
enum:
- OFFICE
- APARTMENT
- BASEMENT
- BUILDING
- DEPARTMENT
- FLOOR
- FRONT
- KEY
- LOBBY
- LOT
- LOWER
- PENTHOUSE
- PIER
- REAR
- ROOM
- SIDE
- SLIP
- SPACE
- STOP
- SUITE
- TRAILER
- UNIT
- UPPER
example: UNIT
description: It is to narrow down the exact dispatched location for the agent/user
addressTypeNumber:
type: string
minLength: 0
maxLength: 64
example: '101'
description: It is optional unless the AddressType is specified and it can be used for things like "Floor 1" or "Unit 101".
streetNumber:
type: string
minLength: 1
maxLength: 16
example: A11
streetName:
type: string
minLength: 2
maxLength: 128
example: Allstate Pkwy
city:
type: string
minLength: 0
maxLength: 128
example: Markham
state:
type: string
minLength: 1
maxLength: 3
example: 'ON'
countryCode:
type: string
minLength: 2
maxLength: 3
pattern: ^[A-Za-z]{2,3}$
example: ZW
zip:
type: string
minLength: 4
maxLength: 16
example: L3R9T8
pattern: ^[A-Za-z0-9\p{L}_ -]*$
isDefault:
type: boolean
description: Indicated default address of user
example: false
default: false
Problem:
type: object
description: 'Problem Detail as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs RFC 7807
'
properties:
type:
type: string
format: uri
description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).
'
default: about:blank
example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
title:
type:
- string
- 'null'
description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized).
'
example: Service Unavailable
status:
type:
- integer
- 'null'
format: int32
description: 'The HTTP status code generated by the origin server for this occurrence of the problem.
'
minimum: 100
example: 503
exclusiveMaximum: 600
detail:
type:
- string
- 'null'
description: 'A human readable explanation specific to this occurrence of the problem.
'
example: Connection to database timed out
instance:
type:
- string
- 'null'
format: uri
description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
'
violations:
type:
- array
- 'null'
description: 'A list of violations that occurred as a result of invalid data provided as part of a request.
'
items:
type: object
properties:
field:
type: string
description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body.
'
example: accountId
message:
type: string
description: 'A human readable explanation specific to this occurrence of the violation.
'
example: must match "^[a-zA-Z]{6}$"
code:
type: integer
format: int32
description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change.
'
example: 20006
example:
- field: emailAddress
message: must not be null
code: 20002
- field: accountId
message: must match "^[a-zA-Z]{6}$"
code: 20006
UserResourcePartitionsPage:
description: Paginated resource partition Data
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
resourcePartitions:
type: array
items:
$ref: '#/components/schemas/UserResourcePartition'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ASDJGE/users/c8c2909d-75e9-484a-94c0-b7e8d29771fe/resource-partitions?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/users/c8c2909d-75e9-484a-94c0-b7e8d29771fe/resource-partitions?pageNumber=3&pageSize=10
EmailChannelUserFeature:
description: Details of Email Channel feature assigned to the user.
type: object
properties:
autoAnswer:
type: boolean
description: Auto-answer enabled disble for this channel
example: false
multiplicity:
type: integer
format: int32
minimum: 1
maximum: 10
example: 2
description: Multiplicity of channels
afterContactWork:
type: boolean
description: afterContactWork enable/disble for this channel
example: false
afterContactWorkMode:
type: string
enum:
- DEFAULT
- DISABLED
- MANUAL
- TIMED
description: The mode used to determine expiry.
example: TIMED
afterContactWorkTimer:
type:
- integer
- 'null'
minimum: 1
maximum: 3600
description: 'The ACW timer expiry in terms of the specified units.
'
example: 10
afterContactWorkOverrideQueue:
type: boolean
description: user afterContactWork overrides queue setting
example: false
providers:
readOnly: true
type: array
maxItems: 10
items:
$ref: '#/components/schemas/Provider'
UserResourcePartitionResource:
description: resource partition Resource information
type: object
properties:
resourceIds:
type: array
maxItems: 10
description: List of the resources Id assigned to the resource partition
items:
description: 'The unique id that represents the resource Id. It could be any unique id like UUID/number. To get more details about resources based on type invoke following APIs CALLER_ID : /api/admin/voice/v1/accounts/{accountId}/phone-numbers/{resourceId}'
type: string
maxLength: 100
example:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
type:
type: string
enum:
- CALLER_ID
description: Information about Resource
example: CALLER_ID
defaultResourceId:
type: string
example: Default Resource Id
minLength: 3
maxLength: 1024
description: Default Resource Id
ResourcePartitionDefaultResource:
description: Resource Partition Default Resource information
type: object
required:
- resourcePartitionId
- defaultResourceId
- type
properties:
resourcePartitionId:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 3
maxLength: 1024
description: resourcePartition Id
defaultResourceId:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 3
maxLength: 1024
description: Default Resource Id
type:
type: string
enum:
- CALLER_ID
description: Information about Resource
example: CALLER_ID
isDefault:
type: boolean
default: false
example: false
description: Set true to configure default resource and set false to remove default resource
Criteria:
type: object
description: Filter criteria with attribute and discriminator
title: Criteria
properties:
discriminator:
type: string
enum:
- AND
- OR
description: Possible values are AND, OR
key:
type: string
minLength: 2
maxLength: 50
example: firstName
description: Possible values are loginId,lastName,firstName,emailId,organizationNodeId
operator:
type: string
enum:
- STARTS_WITH
- CONTAINS
- ENDS_WITH
- EQUALS
- NOT_EQUALS
example: STARTS_WITH
description: Operator to use for filtering
value:
type: string
maxLength: 50
example: Steven
description: Value needs to be filtering
AccountAddress:
description: Assigned account address for the user.
type: object
required:
- addressId
properties:
addressId:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
isDefault:
type: boolean
description: Indicated default address of user
example: false
default: false
ChatChannelUserFeature:
description: Details of Chat Channel feature assigned to the user.
type: object
properties:
autoAnswer:
type: boolean
description: Auto-answer enabled disble for this channel
example: false
multiplicity:
type: integer
format: int32
minimum: 1
maximum: 10
example: 2
description: Multiplicity of channels
afterContactWork:
type: boolean
description: afterContactWork enable/disable for this channel
example: false
afterContactWorkMode:
type: string
enum:
- DEFAULT
- DISABLED
- MANUAL
- TIMED
description: The mode used to determine expiry.
example: TIMED
afterContactWorkTimer:
type:
- integer
- 'null'
minimum: 1
maximum: 3600
description: 'The ACW timer expiry in terms of the specified units.
'
example: 10
afterContactWorkOverrideQueue:
type: boolean
description: user afterContactWork overrides queue setting
example: false
providers:
readOnly: true
type: array
maxItems: 10
items:
$ref: '#/components/schemas/Provider'
MatchingUserFeature:
description: Details of Matching feature assigned to the user.
type: object
properties:
attributes:
type: array
maxItems: 50
items:
type: string
maxLength: 255
example:
- Language.English
- Language.French
description: List of attributes assigned to user
queues:
type: array
maxItems: 50
items:
$ref: '#/components/schemas/AssignedQueue'
description: List of assigned queues to an user
example:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
Provider:
type: object
properties:
providerAgentId:
description: Identifier that represents the provider agent.
type: string
example: stevens@avaya.com
maxLength: 255
channelProviderId:
description: The unique 36 character internal id (uuid) that represents the channel provider.
type: string
example: d7c2909d-75e9-484a-94c0-b7e8d30771dd
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
User:
type: object
description: A User can be an Agent, Supervisor or an Administrator.
required:
- loginId
- lastName
- firstName
- organizationNodeId
properties:
organizationNodeId:
type: string
example: EXMPLE
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z]{6}$
description: Unique Id for Account or Node where user get created
userId:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
readOnly: true
description: The unique 36 character internal id (uuid) that represents the user.
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
loginId:
type: string
example: stevens@avaya.com
maxLength: 255
pattern: ^[a-zA-Z\p{L}0-9+-_.]+(?:\.[a-zA-Z\p{L}0-9+-_.]+)*@(?:[a-zA-Z\p{L}0-9-]+\.)+[a-zA-Z\p{L}]{2,63}$
description: Login Id for User
password:
type: string
example: Aghtat2343$
writeOnly: true
pattern: ^(?=.{8,}$)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?\W).*$
maxLength: 255
description: Login credentials of User
lastName:
type: string
example: Stevens
minLength: 2
maxLength: 255
pattern: ^[^<>\^@#]*$
description: Last name of User
firstName:
type: string
example: Alex
minLength: 2
maxLength: 255
pattern: ^[^<>\^@#]*$
description: First name of User
displayName:
type: string
example: Stevens, Alex
minLength: 2
maxLength: 510
pattern: ^[^<>\^@#]*$
description: Display name of User
emailId:
type: string
example: stevens@avaya.com
minLength: 5
maxLength: 255
pattern: ^[a-zA-Z\p{L}0-9]+[a-zA-Z\p{L}0-9+\-_.]+(?:\.[a-zA-Z\p{L}0-9+\-_.]+)*@(?:[a-zA-Z\p{L}0-9-]+\.)+[a-zA-Z\p{L}]{2,63}$
description: Email Id of User
profileId:
type: string
example: FSADSJ
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z0-9\-\_\.\ ]+$
description: The unique 6 character internal id that represents the profile.
memberOfGroups:
type: array
description: List of the groups of which the user is member of.
maxItems: 50
items:
description: The unique 36 character internal id (uuid) that represents the group.
type: string
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
example:
- c8c2909d-75e9-484a-94c0-b7e8d29771fe
ownedGroups:
type: array
description: List of the groups owned by the user.
maxItems: 50
items:
description: The unique 36 character internal id (uuid) that represents the group.
type: string
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
example:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
roles:
type: array
maxItems: 11
items:
$ref: '#/components/schemas/Role'
description: '
Roles assigned to user.
See the list of [Available Roles](https://docs.kaizen.avaya.com/developer-guides/administration/manage-users/#available-roles).
'
resourcePartitions:
type: array
maxItems: 10
description: List of the resource partitions assigned to the user
items:
description: The unique 36 character id (uuid) that represents the resource partition.
type: string
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
example:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
addresses:
type: array
description: List of the address added by user
maxItems: 5
items:
$ref: '#/components/schemas/Address'
accountAddresses:
type: array
maxItems: 4
description: List of the account addresses assigned to the user
items:
$ref: '#/components/schemas/AccountAddress'
features:
$ref: '#/components/schemas/UserFeatures'
FeatureAction:
description: Feature Status and action
type: object
properties:
action:
type: string
enum:
- ADD
- UPDATE
- DELETE
example: ADD
description: Action done for feature of user
readOnly: true
status:
type: string
enum:
- COMPLETED
- IN_PROGRESS
- FAILED
- DELETED
- DELETE_FAILED
- DELETE_IN_PROGRESS
- PENDING
example: COMPLETED
readOnly: true
message:
type: string
example: Feature added successfully
readOnly: true
MessagingChannelUserFeature:
description: Details of Messaging Channel feature assigned to the user.
type: object
properties:
autoAnswer:
type: boolean
description: Auto-answer enabled disble for this channel
example: false
multiplicity:
type: integer
format: int32
minimum: 1
maximum: 10
example: 2
description: Multiplicity of channels
afterContactWork:
type: boolean
description: afterContactWork enable/disble for this channel
example: false
afterContactWorkMode:
type: string
enum:
- DEFAULT
- DISABLED
- MANUAL
- TIMED
description: The mode used to determine expiry.
example: TIMED
afterContactWorkTimer:
type:
- integer
- 'null'
minimum: 1
maximum: 3600
description: 'The ACW timer expiry in terms of the specified units.
'
example: 10
afterContactWorkOverrideQueue:
type: boolean
description: user afterContactWork overrides queue setting
example: false
providers:
readOnly: true
type: array
maxItems: 10
items:
$ref: '#/components/schemas/Provider'
UserStatusResponse:
description: Status of Users
type: object
properties:
userId:
description: The unique 36 character internal id (uuid) that represents the user.
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d30771fe
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
role:
$ref: '#/components/schemas/FeatureAction'
resourcePartitions:
$ref: '#/components/schemas/FeatureAction'
features:
$ref: '#/components/schemas/UserFeatureStatus'
allOf:
- $ref: '#/components/schemas/FeatureAction'
UserFeatureStatus:
description: Status of all features
type: object
properties:
matching:
$ref: '#/components/schemas/FeatureAction'
chat:
$ref: '#/components/schemas/FeatureAction'
messaging:
$ref: '#/components/schemas/FeatureAction'
email:
$ref: '#/components/schemas/FeatureAction'
voice:
$ref: '#/components/schemas/FeatureAction'
cmvoice:
$ref: '#/components/schemas/FeatureAction'
desktop:
$ref: '#/components/schemas/FeatureAction'
aci:
$ref: '#/components/schemas/FeatureAction'
outbound:
$ref: '#/components/schemas/FeatureAction'
recorder:
$ref: '#/components/schemas/FeatureAction'
cmdesktop:
$ref: '#/components/schemas/FeatureAction'
advancedcmvoice:
$ref: '#/components/schemas/FeatureAction'
UserFeatures:
type: object
description: Features enabled in user
properties:
matching:
$ref: '#/components/schemas/MatchingUserFeature'
chat:
$ref: '#/components/schemas/ChatChannelUserFeature'
messaging:
$ref: '#/components/schemas/MessagingChannelUserFeature'
email:
$ref: '#/components/schemas/EmailChannelUserFeature'
voice:
$ref: '#/components/schemas/CloudSwitchVoiceUserFeature'
cmvoice:
$ref: '#/components/schemas/CMVoiceUserFeature'
aci:
$ref: '#/components/schemas/UserACIFeature'
outbound:
$ref: '#/components/schemas/UserOutboundFeature'
recorder:
$ref: '#/components/schemas/UserRecorderFeature'
advancedcmvoice:
$ref: '#/components/schemas/AdvancedCMVoiceUserFeature'
Pagination:
type: object
properties:
pageNumber:
type: integer
description: The current page number.
example: 2
pageSize:
type: integer
description: The max number of records that can be retrieved on this page.
example: 10
total:
type: integer
description: The total number of records.
example: 100
UserACIFeature:
description: 'This model is used to populate ACI (Avaya Conversational Intelligence) feature data on UI while editing a user.
Currently, this model expects no properties and any properties passed to it will be ignored.
In the future, expected properties will be added as the model evolves.
To enable ACI simply pass an empty object `{}`.
'
type: object
PhoneSpaces:
type: integer
minimum: 0
ReportsTo:
type: string
QueueId:
description: Unique identifier for a queue.
type: string
minLength: 23
maxLength: 26
pattern: ^003[0-9a-f]{20,23}$
example: 00301090301ad8db0f0d4c370
AllowAgentEditAutoAnswer:
type: boolean
description: Controls whether the agent is allowed to edit their own Auto Answer Interactions setting (attributes.webRTC.autoAnswer.interaction) via the Edit Profile API. Defaults to false (agent cannot edit). When false and an agent attempts a self-edit that includes an Auto Answer change, the server returns HTTP 403 Forbidden. Administrators can always modify Auto Answer for any user regardless of this flag.
default: false
Groups:
type: array
description: Array of group identifiers that the user or profile belongs to. Each string is a groupId from the groups table (Edify-style IDs with 007 prefix).
items:
$ref: '#/components/schemas/GroupId'
example:
- 007d01090301ad8db0f0d4c370
- 007d01090301ad8db0f0d4c371
IsEliteVoiceEnabled:
type: boolean
LastName:
description: The last name of a user.
type: string
minLength: 2
maxLength: 255
pattern: ^[^<>\^@#]*$
example: Smith
FullName:
description: The full name of the user (firstName + lastName).
type: string
example: John Smith
IsVoiceEnabled:
type: boolean
UcPhoneSpaces:
type: integer
minimum: 0
maximum: 3
description: 'Multiplicity Personal Queue Phone; number of UC/personal-queue phone spaces (0-3).
'
AIDableField:
type: boolean
HasEliteExtensionPassword:
description: Whether the user has an Elite extension password set.
type: boolean
TagsList:
type: array
items:
type: string
description: List of tag names associated with the user or profile.
example:
- APACT
- English
- NART
DefaultOutboundCallerId:
type: string
minLength: 10
UserAccountStatus:
description: Is the user enabled or disabled?
type: string
enum:
- enabled
- disabled
SipTranslation:
description: SIP translation setting.
type: string
FolderId:
description: Unique identifier for a folder.
type: string
pattern: ^073[0-9a-f]{23}$
example: 073d010813b941cf7da111d147
Tabs:
description: User-configured UI tabs.
type: array
items:
type: object
additionalProperties: true
FwNumber:
type: string
pattern: ^[\d+\s().-]*$
EliteSbcGroupId:
description: The ID of the default SBC Group to use for calls involving this hybrid agent.
type: string
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
minLength: 36
maxLength: 36
EliteSipAddress:
description: The SIP address for the hybrid agent.
type: string
format: email
ConsoleTheme:
allOf:
- $ref: '#/components/schemas/UiTheme'
description: Console theme preference
DirectoryAble:
type: boolean
IsDigitalEnabled:
type: boolean
UserTitle:
description: The user's job title.
type: string
minLength: 1
maxLength: 510
example: Supervisor
PublicAlias:
description: The public alias of a user. Supports letters (including international characters), digits, spaces, hyphens, and apostrophes.
type: string
minLength: 2
maxLength: 100
pattern: ^[\p{L}0-9 '\-]*$
example: John Smith
AllowAgentEditWebHIDHeadsetControl:
type: boolean
description: Controls whether the agent is allowed to edit their own WebHID Headset Control setting (attributes.webHID.status) via the Edit Profile API. Defaults to false (agent cannot edit). When false and an agent attempts a self-edit that includes a WebHID status change, the server returns HTTP 403 Forbidden. Administrators can always modify WebHID settings for any user regardless of this flag.
default: false
Links_2:
description: Pagination navigation links
type: object
required:
- prev
- next
properties:
prev:
description: URL of the previous page. Blank if currently on the first page.
type: string
readOnly: true
example: ''
next:
description: URL of the next page. Blank if currently on the last page.
type: string
readOnly: true
example: ''
Email:
description: A user's email address
type: string
format: email
TimeZone:
type: string
description: User's timezone preference (IANA timezone)
maxLength: 64
example: America/New_York
AuthProvider:
type: string
description: Which provider is used to authenticate the user.
enum:
- keycloak
- saml
- local
SendLogsToEdify:
description: Whether to send logs to Edify.
type: boolean
UserListItem:
type: object
properties:
userId:
$ref: '#/components/schemas/UserId'
folderId:
anyOf:
- $ref: '#/components/schemas/FolderId'
- type: 'null'
title:
type:
- string
- 'null'
firstName:
type: string
example: Banke
lastName:
type: string
example: S
fullName:
$ref: '#/components/schemas/FullName'
email:
$ref: '#/components/schemas/Email'
location:
type:
- string
- 'null'
tags:
$ref: '#/components/schemas/TagsList'
tagsData:
type: object
additionalProperties: true
groups:
type:
- string
- 'null'
attributes:
type: object
additionalProperties: true
permissions:
type: object
additionalProperties: true
imageLastChangedAt:
type:
- string
- 'null'
queues:
anyOf:
- $ref: '#/components/schemas/UserQueues'
- type: 'null'
description: Queue assignments for this user.
licType:
type: string
example: omniChannelAgentEnhanced
extension:
anyOf:
- $ref: '#/components/schemas/Extension'
- type: 'null'
mobile:
type:
- string
- 'null'
fw:
type:
- string
- 'null'
defaultOutboundCallerId:
type:
- string
- 'null'
emergencyOutboundCallerId:
type:
- string
- 'null'
status:
type: string
example: enabled
createdOn:
type: string
format: date-time
example: '2025-09-08 14:36:49'
lastUpdated:
type: string
format: date-time
example: '2025-09-08 14:38:10'
createdBy:
type: object
additionalProperties: true
userStatus:
type: object
additionalProperties: true
scimExternalId:
type:
- string
- 'null'
authProvider:
type:
- string
- 'null'
directoryAble:
type: boolean
appTheme:
$ref: '#/components/schemas/AppTheme'
consoleTheme:
$ref: '#/components/schemas/ConsoleTheme'
isSupportUser:
type: boolean
calendarEventProvider:
type:
- string
- 'null'
calendarEventStatusMap:
type:
- object
- 'null'
interactionViewsType:
type: string
isDeleted:
type: boolean
description: Indicates if the user has been soft-deleted. Only present when includeDeleted query parameter is used.
enableWebHID:
$ref: '#/components/schemas/EnableWebHID'
enableErrorTones:
$ref: '#/components/schemas/EnableErrorTones'
allowInternalCalls:
$ref: '#/components/schemas/AllowInternalCalls'
allowAgentEditAutoAnswer:
$ref: '#/components/schemas/AllowAgentEditAutoAnswer'
allowAgentEditWebHIDHeadsetControl:
$ref: '#/components/schemas/AllowAgentEditWebHIDHeadsetControl'
publicAlias:
anyOf:
- $ref: '#/components/schemas/PublicAlias'
- type: 'null'
namePrefix:
anyOf:
- $ref: '#/components/schemas/NamePrefix'
- type: 'null'
nameSuffix:
anyOf:
- $ref: '#/components/schemas/NameSuffix'
- type: 'null'
definedInteractionViews:
anyOf:
- $ref: '#/components/schemas/DefinedInteractionViews'
- type: 'null'
modifyInteractionViews:
anyOf:
- $ref: '#/components/schemas/ModifyInteractionViews'
- type: 'null'
rejectInteractions:
anyOf:
- $ref: '#/components/schemas/RejectInteractions'
- type: 'null'
isDigitalEnabled:
anyOf:
- $ref: '#/components/schemas/IsDigitalEnabled'
- type: 'null'
isVoiceEnabled:
anyOf:
- $ref: '#/components/schemas/IsVoiceEnabled'
- type: 'null'
previewOutbound:
anyOf:
- $ref: '#/components/schemas/PreviewOutbound'
- type: 'null'
crmConfigurations:
anyOf:
- $ref: '#/components/schemas/CrmConfigId'
- type: object
additionalProperties: true
- type: 'null'
description: CRM configuration ID or object, depending on query parameters.
personalQueueId:
anyOf:
- $ref: '#/components/schemas/PersonalQueueId'
- type: 'null'
sendLogsToEdify:
$ref: '#/components/schemas/SendLogsToEdify'
EnableErrorTones:
type: boolean
description: Whether error tones are enabled.
UserAID:
description: Auto Interaction Distribution (AID) state for the user.
type: object
properties:
isAID:
type:
- string
- boolean
spaces:
$ref: '#/components/schemas/Spaces'
limits:
type: object
additionalProperties:
type: integer
lastSelected:
type:
- string
- 'null'
lastEndedInteractionTime:
type: string
Permissions:
type: object
description: The permissions for a user or profile.
properties:
app:
type: object
console:
type: object
example:
app:
agent:
read: false
portal:
app-web: false
homeList:
read: false
queueList:
read: false
queueToggling:
read: false
console:
cx:
read: true
ml:
read: true
portal:
console-web: true
queues:
read: true
account:
read: true
numbers:
read: true
integrations:
read: false
UserPage_2:
type: object
required:
- resources
- pagination
- links
properties:
resources:
$ref: '#/components/schemas/UserPageResources'
pagination:
allOf:
- $ref: '#/components/schemas/Pagination_2'
description: Pagination metadata.
readOnly: true
links:
allOf:
- $ref: '#/components/schemas/Links_2'
description: Navigation links for pagination.
readOnly: true
CrmConfigId:
type: string
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
minLength: 36
maxLength: 36
TaskSpaces:
type: integer
minimum: 0
LogConfiguration:
type: object
description: 'Log configuration settings for controlling logging behavior.
Used to configure client-side logging for users and profiles.
'
properties:
logLevel:
type: string
enum:
- ERROR
- WARN
- INFO
- DEBUG
- TRACE
description: The minimum log level to capture
example: INFO
remoteLoggingEnabled:
type: boolean
description: Whether to send logs to the remote logging service
example: true
sampleRate:
type: number
minimum: 0
maximum: 1
description: Sampling rate for logs (0 to 1, where 1 means log everything)
example: 0.5
modules:
type: array
items:
type: string
description: List of module names to enable logging for
example:
- auth
- api
- websocket
Attributes:
type: object
description: Attributes of the user or profile.
properties:
time:
type: object
properties:
tz:
$ref: '#/components/schemas/TimeZone'
taskSpaces:
type: integer
example: 3
emailSpaces:
type: integer
example: 3
phoneSpaces:
type: integer
example: 1
videoSpaces:
type: integer
example: 0
messagingSpaces:
type: integer
example: 3
sessionStats:
type: object
description: Session statistics configuration (obsolete but kept for backward compatibility)
properties:
enabled:
type: boolean
frequencyScalar:
type: integer
example: 5
frequencyUnit:
type: string
example: minutes
stats:
type: object
additionalProperties:
type: boolean
pingHosts:
type: array
items:
type: string
example:
- test.edify.cx
DefinedInteractionViews:
type: array
description: List of defined interaction views
items:
type: string
ApiRequestKey:
description: Unique identifier for tracing the handling of an API request.
type: string
pattern: ^012[0-9a-f]{23}$
example: 012d010908d4c2bdcc95a5f63c
ScimExternalId:
type: string
UpdateUserRequest:
type: object
description: 'Request body for updating an existing user.
All fields are optional, however at least one must be included.
**Merge Behavior:**
Fields use different update strategies. Most scalar fields are replaced with the
provided value. Complex fields have specific behaviors noted in their descriptions.
'
properties:
status:
$ref: '#/components/schemas/UserAccountStatus'
email:
$ref: '#/components/schemas/Email'
firstName:
$ref: '#/components/schemas/FirstName'
lastName:
$ref: '#/components/schemas/LastName'
publicAlias:
$ref: '#/components/schemas/PublicAlias'
namePrefix:
$ref: '#/components/schemas/NamePrefix'
nameSuffix:
$ref: '#/components/schemas/NameSuffix'
title:
$ref: '#/components/schemas/UserTitle'
password:
$ref: '#/components/schemas/TemporaryPassword'
licType:
$ref: '#/components/schemas/LicenseType'
profileId:
description: 'Updates the profile associated with the user. Note: changing the profile ID
updates the association only — it does not re-apply profile defaults to the user.
'
$ref: '#/components/schemas/ProfileId'
folderId:
anyOf:
- $ref: '#/components/schemas/FolderId'
- type: 'null'
description: Move user to a folder, or send null to remove from current folder.
authProvider:
$ref: '#/components/schemas/AuthProvider'
scimExternalId:
$ref: '#/components/schemas/ScimExternalId'
mobile:
anyOf:
- $ref: '#/components/schemas/MobilePhoneNumber'
- type: 'null'
description: Send null or empty string to clear.
fwNumber:
$ref: '#/components/schemas/FwNumber'
extension:
anyOf:
- $ref: '#/components/schemas/Extension'
- type: 'null'
description: Send null to clear.
callerID:
$ref: '#/components/schemas/CallerID'
defaultOutboundCallerId:
$ref: '#/components/schemas/DefaultOutboundCallerId'
emergencyOutboundCallerId:
type: string
minLength: 10
maxLength: 20
description: Emergency outbound caller ID number.
locationId:
anyOf:
- $ref: '#/components/schemas/LocationId'
- type: 'null'
description: 'Send null to clear. When setting a location, `email`, `firstName`, and `lastName`
must also be provided.
'
billingLocationId:
$ref: '#/components/schemas/BillingLocationId'
crmConfigId:
$ref: '#/components/schemas/CrmConfigId'
appTheme:
$ref: '#/components/schemas/AppTheme'
consoleTheme:
$ref: '#/components/schemas/ConsoleTheme'
timeZone:
$ref: '#/components/schemas/TimeZone'
interactionViewsType:
$ref: '#/components/schemas/InteractionViewsType'
modifyInteractionViews:
$ref: '#/components/schemas/ModifyInteractionViews'
commTypeChangeDefaultValue:
anyOf:
- $ref: '#/components/schemas/CommTypeChangeDefaultValue'
- type: 'null'
description: Send null to clear.
attributes:
description: 'Merged with the user''s existing attributes. Specific nested keys
(`queue`, `time`, `webRTC`, `recording`, `signatures`, `sessionStats`)
are deep-merged; all other keys are replaced.
Omit to leave unchanged.
'
$ref: '#/components/schemas/Attributes'
permissions:
description: 'Merged with the user''s existing permissions per section (`app`, `console`).
Keys within each section are replaced with the provided values;
keys not included are preserved. Omit to leave unchanged.
'
$ref: '#/components/schemas/Permissions'
spaces:
$ref: '#/components/schemas/Spaces'
tags:
description: 'Replaces the user''s entire tag list with the provided values.
Send an empty array to remove all tags. Omit to leave unchanged.
'
$ref: '#/components/schemas/TagsList'
groups:
description: 'Replaces the user''s entire group membership with the provided group IDs.
Send an empty array to remove all group memberships. Omit to leave unchanged.
'
$ref: '#/components/schemas/Groups'
groupId:
$ref: '#/components/schemas/GroupId'
queues:
description: 'Only the sub-properties included in the request are updated; omitted
sub-properties are left unchanged. For example, sending only `access`
replaces the access list but leaves `autoLogin` and `proficiency` as-is.
The user''s personal queue is always preserved in `access` and `autoLogin`.
'
$ref: '#/components/schemas/UserQueues'
definedInteractionViews:
description: 'Replaces the user''s entire set of defined interaction views.
Omit to leave unchanged.
'
$ref: '#/components/schemas/DefinedInteractionViews'
isEliteVoiceEnabled:
$ref: '#/components/schemas/IsEliteVoiceEnabled'
eliteSbcGroupId:
anyOf:
- $ref: '#/components/schemas/EliteSbcGroupId'
- type: 'null'
description: Send null to clear.
eliteAgentId:
anyOf:
- $ref: '#/components/schemas/EliteAgentId'
- type: 'null'
description: Send null to clear.
eliteAgentIdPassword:
$ref: '#/components/schemas/EliteAgentIdPassword'
eliteCommunicationProfilePassword:
$ref: '#/components/schemas/EliteCommunicationProfilePassword'
eliteCommunicationProfilePasswordHash:
$ref: '#/components/schemas/EliteCommunicationProfilePasswordHash'
eliteSipAddress:
anyOf:
- $ref: '#/components/schemas/EliteSipAddress'
- type: 'null'
description: Send null to clear.
eliteExtension:
anyOf:
- $ref: '#/components/schemas/EliteExtension'
- type: 'null'
description: Send null to clear.
eliteExtensionPassword:
$ref: '#/components/schemas/EliteExtensionPassword'
eliteVoicemailPassword:
type: string
description: Elite Voice voicemail password.
eliteSipType:
$ref: '#/components/schemas/EliteSipType'
eliteCmConfigurationId:
anyOf:
- $ref: '#/components/schemas/EliteCmConfigurationId'
- type: 'null'
description: Send null or empty string to clear.
sipTrunkId:
type: string
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
minLength: 36
maxLength: 36
description: SIP trunk ID to associate with the user.
isVoiceEnabled:
$ref: '#/components/schemas/IsVoiceEnabled'
isDigitalEnabled:
$ref: '#/components/schemas/IsDigitalEnabled'
previewOutbound:
$ref: '#/components/schemas/PreviewOutbound'
directoryAble:
$ref: '#/components/schemas/DirectoryAble'
rejectInteractions:
$ref: '#/components/schemas/RejectInteractions'
AIDable:
description: 'Manually set the AIDable flag. Note: this value may be overridden by
license enforcement rules when the license type changes.
'
$ref: '#/components/schemas/AIDableField'
sendLogsToEdify:
type: boolean
description: Whether the user should send logs to the platform.
reportsTo:
anyOf:
- $ref: '#/components/schemas/ReportsTo'
- type: 'null'
description: Send null or empty string to clear.
dialPlanProfileId:
anyOf:
- $ref: '#/components/schemas/DialPlanProfileId'
- type: 'null'
description: Send null to clear.
enableWebHID:
$ref: '#/components/schemas/EnableWebHID'
enableErrorTones:
$ref: '#/components/schemas/EnableErrorTones'
phoneSpaces:
$ref: '#/components/schemas/PhoneSpaces'
messagingSpaces:
$ref: '#/components/schemas/MessagingSpaces'
emailSpaces:
$ref: '#/components/schemas/EmailSpaces'
taskSpaces:
$ref: '#/components/schemas/TaskSpaces'
videoSpaces:
$ref: '#/components/schemas/VideoSpaces'
ucPhoneSpaces:
anyOf:
- $ref: '#/components/schemas/UcPhoneSpaces'
- type: 'null'
description: Send null to clear (revert to default).
useUCPhoneSpaceOnCCCall:
anyOf:
- $ref: '#/components/schemas/UseUCPhoneSpaceOnCCCall'
- type: 'null'
description: Send null to clear (revert to default).
useCCPhoneSpaceOnUCCall:
anyOf:
- $ref: '#/components/schemas/UseCCPhoneSpaceOnUCCall'
- type: 'null'
description: Send null to clear (revert to default).
allowInternalCalls:
anyOf:
- $ref: '#/components/schemas/AllowInternalCalls'
- type: 'null'
description: Send null to clear (revert to default).
allowAgentEditAutoAnswer:
anyOf:
- $ref: '#/components/schemas/AllowAgentEditAutoAnswer'
- type: 'null'
description: Send null to clear (revert to default).
allowAgentEditWebHIDHeadsetControl:
anyOf:
- $ref: '#/components/schemas/AllowAgentEditWebHIDHeadsetControl'
- type: 'null'
description: Send null to clear (revert to default).
voicemail:
type: object
additionalProperties: true
description: Voicemail settings.
infinityElements:
type: array
items:
type: string
description: 'Replaces the user''s entire set of Infinity Elements.
Omit to leave unchanged.
'
externalUCProviderConnections:
type: array
items:
type: string
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
minLength: 36
maxLength: 36
description: 'Replaces the user''s entire set of external UC provider connections.
Omit to leave unchanged. IDs must belong to the same account.
'
calendarEventProvider:
type: string
maxLength: 64
description: Calendar event provider identifier.
calendarEventStatusMap:
type: object
additionalProperties: true
description: Mapping of calendar event statuses.
logConfiguration:
anyOf:
- $ref: '#/components/schemas/LogConfiguration'
- type: 'null'
description: Send null to clear.
CreateUserRequest:
type: object
description: Request body for creating a new user
required:
- email
- firstName
- lastName
properties:
email:
$ref: '#/components/schemas/Email'
firstName:
$ref: '#/components/schemas/FirstName'
lastName:
$ref: '#/components/schemas/LastName'
publicAlias:
$ref: '#/components/schemas/PublicAlias'
namePrefix:
$ref: '#/components/schemas/NamePrefix'
nameSuffix:
$ref: '#/components/schemas/NameSuffix'
title:
$ref: '#/components/schemas/UserTitle'
password:
$ref: '#/components/schemas/TemporaryPassword'
licType:
$ref: '#/components/schemas/LicenseType'
profileId:
$ref: '#/components/schemas/ProfileId'
folderId:
$ref: '#/components/schemas/FolderId'
authProvider:
$ref: '#/components/schemas/AuthProvider'
scimExternalId:
$ref: '#/components/schemas/ScimExternalId'
mobile:
$ref: '#/components/schemas/MobilePhoneNumber'
fwNumber:
$ref: '#/components/schemas/FwNumber'
extension:
$ref: '#/components/schemas/Extension'
callerID:
$ref: '#/components/schemas/CallerID'
defaultOutboundCallerId:
$ref: '#/components/schemas/DefaultOutboundCallerId'
locationId:
$ref: '#/components/schemas/LocationId'
billingLocationId:
$ref: '#/components/schemas/BillingLocationId'
crmConfigId:
$ref: '#/components/schemas/CrmConfigId'
appTheme:
$ref: '#/components/schemas/AppTheme'
consoleTheme:
$ref: '#/components/schemas/ConsoleTheme'
timeZone:
$ref: '#/components/schemas/TimeZone'
interactionViewsType:
$ref: '#/components/schemas/InteractionViewsType'
modifyInteractionViews:
$ref: '#/components/schemas/ModifyInteractionViews'
commTypeChangeDefaultValue:
$ref: '#/components/schemas/CommTypeChangeDefaultValue'
attributes:
$ref: '#/components/schemas/Attributes'
permissions:
$ref: '#/components/schemas/Permissions'
spaces:
$ref: '#/components/schemas/Spaces'
tags:
$ref: '#/components/schemas/TagsList'
groups:
$ref: '#/components/schemas/Groups'
groupId:
$ref: '#/components/schemas/GroupId'
queues:
$ref: '#/components/schemas/UserQueues'
definedInteractionViews:
$ref: '#/components/schemas/DefinedInteractionViews'
isEliteVoiceEnabled:
$ref: '#/components/schemas/IsEliteVoiceEnabled'
eliteSbcGroupId:
$ref: '#/components/schemas/EliteSbcGroupId'
eliteAgentId:
$ref: '#/components/schemas/EliteAgentId'
eliteAgentIdPassword:
$ref: '#/components/schemas/EliteAgentIdPassword'
eliteCommunicationProfilePassword:
$ref: '#/components/schemas/EliteCommunicationProfilePassword'
eliteCommunicationProfilePasswordHash:
$ref: '#/components/schemas/EliteCommunicationProfilePasswordHash'
eliteSipAddress:
$ref: '#/components/schemas/EliteSipAddress'
eliteExtension:
$ref: '#/components/schemas/EliteExtension'
eliteExtensionPassword:
$ref: '#/components/schemas/EliteExtensionPassword'
eliteSipType:
$ref: '#/components/schemas/EliteSipType'
eliteCmConfigurationId:
$ref: '#/components/schemas/EliteCmConfigurationId'
isVoiceEnabled:
$ref: '#/components/schemas/IsVoiceEnabled'
isDigitalEnabled:
$ref: '#/components/schemas/IsDigitalEnabled'
previewOutbound:
$ref: '#/components/schemas/PreviewOutbound'
directoryAble:
$ref: '#/components/schemas/DirectoryAble'
rejectInteractions:
$ref: '#/components/schemas/RejectInteractions'
AIDable:
$ref: '#/components/schemas/AIDableField'
reportsTo:
$ref: '#/components/schemas/ReportsTo'
dialPlanProfileId:
$ref: '#/components/schemas/DialPlanProfileId'
enableWebHID:
$ref: '#/components/schemas/EnableWebHID'
enableErrorTones:
$ref: '#/components/schemas/EnableErrorTones'
phoneSpaces:
$ref: '#/components/schemas/PhoneSpaces'
ucPhoneSpaces:
$ref: '#/components/schemas/UcPhoneSpaces'
useUCPhoneSpaceOnCCCall:
$ref: '#/components/schemas/UseUCPhoneSpaceOnCCCall'
useCCPhoneSpaceOnUCCall:
$ref: '#/components/schemas/UseCCPhoneSpaceOnUCCall'
allowInternalCalls:
$ref: '#/components/schemas/AllowInternalCalls'
allowAgentEditAutoAnswer:
$ref: '#/components/schemas/AllowAgentEditAutoAnswer'
allowAgentEditWebHIDHeadsetControl:
$ref: '#/components/schemas/AllowAgentEditWebHIDHeadsetControl'
externalUCProviderConnections:
type: array
items:
type: string
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
minLength: 36
maxLength: 36
description: External UC provider connection IDs to associate with the user.
eliteVoicemailPassword:
type: string
description: Elite Voice voicemail password.
logConfiguration:
$ref: '#/components/schemas/LogConfiguration'
UserPageResources:
type: object
required:
- users
properties:
users:
type: array
items:
$ref: '#/components/schemas/UserListItem'
folders:
type: array
description: Folder hierarchy. Only present when folders=true query parameter is provided.
items:
type: object
additionalProperties: true
breadcrumbs:
type: array
description: Breadcrumb trail. Only present when folders=true query parameter is provided.
items:
type: object
additionalProperties: true
BillingLocationId:
type: string
AllowInternalCalls:
type: boolean
description: Whether the user or profile can make internal calls
QueueRouteTo:
description: Queue-level route-to setting.
type: string
TemporaryPassword:
type: string
example: Aghtat2343$
pattern: ^(?=.{8,}$)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?\W).*$
maxLength: 255
description: Initial password for the user
DialPlanProfileId:
type: string
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
minLength: 36
maxLength: 36
description: ID of the dial plan profile to use
InteractionViewsType:
type: string
description: Type of interaction views to display
enum:
- all
- defined
- standard
default: all
example: all
NameSuffix:
description: The name suffix of a user.
type: string
enum:
- Jr
- Sr
- I
- II
- III
- IV
- V
- CLU
- CO
- CPA
- DDS
- ESQ
- MD
- PhD
- RN
FirstName:
description: The first name of a user.
type: string
minLength: 2
maxLength: 255
pattern: ^[^<>\^@#]*$
example: John
UcPhoneSpaces-2:
description: Number of UC phone interaction spaces.
type: integer
minimum: 0
UserDetail:
type: object
description: Detailed user object returned by the single-user GET endpoint. Extends the list item with optional enriched data controlled by query parameters.
allOf:
- $ref: '#/components/schemas/UserListItem'
properties:
queues:
description: Queue assignments. When queues=true, returns enriched object with named queues. When false, returns raw queue IDs.
type: object
additionalProperties: true
queueLogins:
description: Current queue login sessions. Only present when queueLogins=true.
type: array
items:
type: object
additionalProperties: true
groups:
description: Group memberships. When groups=true, returns array of group objects. When false, field is omitted.
type: array
items:
type: object
properties:
groupId:
type: string
name:
type: string
type:
type: string
location:
description: E911 location details. When location=true, returns location object. When false, field is omitted.
type: object
additionalProperties: true
crmConfigurations:
description: CRM configuration details. When crmConfigId=true, returns CRM config. When false, returns raw ID string.
oneOf:
- type: object
additionalProperties: true
- type: string
- type: 'null'
reportsTo:
description: Reports-to user details. When reportsTo=true, returns user object. When false, returns raw userId string.
oneOf:
- type: object
properties:
userId:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
- type: string
- type: 'null'
externalUCProviderConnections:
description: External UC provider connections. Only present when externalUCProviderConnections=true.
type: array
items:
type: object
additionalProperties: true
personalQueueId:
type: string
description: The user's personal queue ID
infinityElements:
type: array
items:
type: string
fwNumber:
anyOf:
- $ref: '#/components/schemas/FwNumber'
- type: 'null'
defaultOutboundCallerId:
anyOf:
- $ref: '#/components/schemas/DefaultOutboundCallerId'
- type: 'null'
billingLocationId:
anyOf:
- $ref: '#/components/schemas/BillingLocationId'
- type: 'null'
locationId:
anyOf:
- $ref: '#/components/schemas/LocationId'
- type: 'null'
dialPlanProfileId:
anyOf:
- $ref: '#/components/schemas/DialPlanProfileId'
- type: 'null'
eliteSbcGroupId:
anyOf:
- $ref: '#/components/schemas/EliteSbcGroupId'
- type: 'null'
eliteAgentId:
anyOf:
- $ref: '#/components/schemas/EliteAgentId'
- type: 'null'
eliteSipAddress:
anyOf:
- $ref: '#/components/schemas/EliteSipAddress'
- type: 'null'
eliteExtension:
anyOf:
- $ref: '#/components/schemas/EliteExtension'
- type: 'null'
eliteSipType:
anyOf:
- $ref: '#/components/schemas/EliteSipType'
- type: 'null'
eliteCmConfigurationId:
anyOf:
- $ref: '#/components/schemas/EliteCmConfigurationId'
- type: 'null'
commTypeChangeDefaultValue:
anyOf:
- $ref: '#/components/schemas/CommTypeChangeDefaultValue'
- type: 'null'
isEliteVoiceEnabled:
$ref: '#/components/schemas/IsEliteVoiceEnabled'
phoneSpaces:
$ref: '#/components/schemas/PhoneSpaces'
emailSpaces:
$ref: '#/components/schemas/EmailSpaces'
taskSpaces:
$ref: '#/components/schemas/TaskSpaces'
messagingSpaces:
$ref: '#/components/schemas/MessagingSpaces'
videoSpaces:
$ref: '#/components/schemas/VideoSpaces'
enableWebHID:
$ref: '#/components/schemas/EnableWebHID'
allowInternalCalls:
$ref: '#/components/schemas/AllowInternalCalls'
logConfiguration:
anyOf:
- $ref: '#/components/schemas/LogConfiguration'
- type: 'null'
routeTo:
anyOf:
- $ref: '#/components/schemas/RouteTo'
- type: 'null'
userRouteTo:
anyOf:
- $ref: '#/components/schemas/UserRouteTo'
- type: 'null'
queueRouteTo:
anyOf:
- $ref: '#/components/schemas/QueueRouteTo'
- type: 'null'
video:
type:
- string
- 'null'
voice:
type:
- string
- 'null'
voicemail:
anyOf:
- $ref: '#/components/schemas/Voicemail'
- type: 'null'
channels:
type:
- string
- 'null'
aidStatusTypeOverride:
$ref: '#/components/schemas/AidStatusTypeOverride'
sipTrunkId:
anyOf:
- $ref: '#/components/schemas/SipTrunkId'
- type: 'null'
sipTranslation:
anyOf:
- $ref: '#/components/schemas/SipTranslation'
- type: 'null'
tabs:
$ref: '#/components/schemas/Tabs'
defaultTab:
anyOf:
- $ref: '#/components/schemas/DefaultTab'
- type: 'null'
ucPhoneSpaces:
$ref: '#/components/schemas/UcPhoneSpaces-2'
e911Recommendations:
$ref: '#/components/schemas/E911Recommendations'
hasEliteAgentIdPassword:
$ref: '#/components/schemas/HasEliteAgentIdPassword'
hasEliteCommunicationProfilePassword:
$ref: '#/components/schemas/HasEliteCommunicationProfilePassword'
hasEliteExtensionPassword:
$ref: '#/components/schemas/HasEliteExtensionPassword'
isEliteAutoSyncEnabled:
$ref: '#/components/schemas/IsEliteAutoSyncEnabled'
useUCPhoneSpaceOnCCCall:
$ref: '#/components/schemas/UseUCPhoneSpaceOnCCCall-2'
useCCPhoneSpaceOnUCCall:
$ref: '#/components/schemas/UseCCPhoneSpaceOnUCCall-2'
sendLogsToEdify:
$ref: '#/components/schemas/SendLogsToEdify'
uc3Endpoint:
anyOf:
- $ref: '#/components/schemas/Uc3Endpoint'
- type: 'null'
userAID:
$ref: '#/components/schemas/UserAID'
RouteTo:
description: Route-to configuration for the user.
type: string
ModifyInteractionViews:
type: boolean
description: Can modify interaction views
example: true
VideoSpaces:
type: integer
minimum: 0
EliteCommunicationProfilePasswordHash:
description: Hash of communication profile password.
type: string
minLength: 32
maxLength: 32
pattern: ^[0-9a-f]{32}$
EliteCommunicationProfilePassword:
description: The password for the communication profile on Aura.
type: string
PersonalQueueId:
description: The user's personal queue ID.
allOf:
- $ref: '#/components/schemas/QueueId'
Voicemail:
description: Voicemail configuration object.
type: object
additionalProperties: true
EliteCmConfigurationId:
description: The ID of the Elite CM Configuration associated with this user
type: string
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
minLength: 36
maxLength: 36
NamePrefix:
description: The name prefix of a user.
type: string
EliteAgentId:
description: The hybrid agent's ID on Aura.
type: string
minLength: 1
UseUCPhoneSpaceOnCCCall-2:
description: Use UC phone space for CC calls.
type: boolean
HasEliteCommunicationProfilePassword:
description: Whether the user has an Elite communication profile password set.
type: boolean
EmailSpaces:
type: integer
minimum: 0
EliteExtensionPassword:
type: string
GroupId:
description: Unique identifier for a group.
type: string
pattern: ^007[0-9a-f]{23}$
example: 007a1b2c3d4e5f67890abcdef12
UserRouteTo:
description: User-level route-to setting (e.g., 'endpoints').
type: string
Violation:
type: object
properties:
field:
description: 'The name of the field in the request that caused the violation.
This can be the name of a path parameter, query parameter, or a field within the request body.
'
type: string
readOnly: true
example: jobName
message:
description: 'A human-readable explanation specific to this occurrence of the violation.
'
type: string
readOnly: true
example: must match "^[a-zA-Z]{6}$"
code:
description: 'The violation code generated by the server for this occurrence of the violation.
Use this code when implementing any error handling logic instead of the message, as the message can change.
'
type: integer
format: int32
readOnly: true
example: 20006
required:
- field
- message
- code
example:
- field: emailAddress
message: must not be null
code: 20002
Spaces:
type: object
description: Space configuration for a user or profile.
properties:
task:
type: array
items:
type: string
email:
type: array
items:
type: string
phone:
type: array
items:
type: string
video:
type: array
items:
type: string
messaging:
type: array
items:
type: string
MobilePhoneNumber:
type: string
description: Mobile phone number - accepts E.164 format (+[country code][number]) or plain digits. Length 5-15 characters/digits.
pattern: ^(\+[1-9]\d{3,13}|\d{5,15})$
minLength: 5
maxLength: 15
examples:
- 16479308804
- 6479308804
- 1234
- 12345
CreatedUser:
type: object
description: Response body for a new user having been created
properties:
status:
type: string
example: success
desc:
type: string
description: Human-readable description of the result.
example: new user created
data:
$ref: '#/components/schemas/CreatedUserData'
apiRequestKey:
$ref: '#/components/schemas/ApiRequestKey'
SipTrunkId:
description: SIP trunk ID.
type: string
IsEliteAutoSyncEnabled:
description: Whether Elite auto-sync is enabled for this user.
type: boolean
Extension:
description: The extension of an agent user.
type: string
example: '1001'
UseUCPhoneSpaceOnCCCall:
type: boolean
description: 'When true, use UC (personal queue) phone space for contact center/general queue calls.
'
CallerID:
type: string
minLength: 10
Problem_2:
type: object
description: 'Problem Detail is a way to carry machine-readable details of errors in an HTTP
response to avoid the need to define new error response formats for HTTP APIs
RFC 7807
'
properties:
type:
description: 'An absolute URI that identifies the problem type.
When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).
'
type: string
format: uri
readOnly: true
example: https://developers.avayacloud.com/avaya-infinity/docs/user-management#error-reference
title:
description: 'A short, summary of the problem type.
Written in English and readable for engineers (usually not suited for non technical stakeholders and not localized).
'
type: string
readOnly: true
example: Service Unavailable
status:
description: 'The HTTP status code generated by the origin server for this occurrence of the problem.
'
type: integer
format: int32
minimum: 300
exclusiveMaximum: 600
readOnly: true
example: 503
detail:
description: 'A human-readable explanation specific to this occurrence of the problem.
'
type: string
readOnly: true
example: Connection to database timed out
instance:
description: 'An absolute URI that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.
'
type: string
format: uri
readOnly: true
violations:
description: 'A list of violations that occurred as a result of invalid data provided as part of a request.
'
type: array
items:
$ref: '#/components/schemas/Violation'
readOnly: true
UiTheme:
type: string
enum:
- light
- dark
example: light
LicenseType:
type: string
description: User license type that determines available features and permissions
enum:
- nonAgent
- voiceOnlyAgent
- digitalOnlyAgent
- omniChannelAgent
- omniChannelAgentEnhanced
- hybridVoiceAgent
example: hybridVoiceAgent
UserId:
description: Unique identifier for a user.
type: string
pattern: ^002[0-9a-f]{23}$
example: 002507f1e1c8e3e9a8b7c5d4e3f2
ProfileId:
type: string
description: The unique identifier of a profile.
format: uuid
example: 16a7490f-86a6-4a14-8ce2-11682230adb6
EliteAgentIdPassword:
description: The password for the hybrid agent on Aura.
type: string
EliteSipType:
type: string
enum:
- UDP
- TCP
- TLS
RejectInteractions:
type: boolean
EliteExtension:
description: The hybrid agent's extension on Aura.
type: string
minLength: 1
CreatedUserData:
type: object
properties:
userDetails:
type: object
properties:
userId:
$ref: '#/components/schemas/UserId'
firstName:
$ref: '#/components/schemas/FirstName'
lastName:
$ref: '#/components/schemas/LastName'
publicAlias:
$ref: '#/components/schemas/PublicAlias'
fullName:
$ref: '#/components/schemas/FullName'
extension:
$ref: '#/components/schemas/Extension'
email:
$ref: '#/components/schemas/Email'
tempPass:
$ref: '#/components/schemas/TemporaryPassword'
usersQueueId:
type: string
Uc3Endpoint:
description: UC3 endpoint session information.
type: object
properties:
id:
type: string
sessionToken:
type: string
sessionId:
type: string
AidStatusTypeOverride:
description: Whether the user has an AID status type override.
type: boolean
CommTypeChangeDefaultValue:
type: string
description: Default value for communication type changes
enum:
- callback
- closeResolved
- closeUnresolved
example: callback
E911Recommendations:
description: E911 recommendation setting.
type: string
MessagingSpaces:
type: integer
minimum: 0
LocationId:
type: string
description: 'Optional location ID to associate with the user or profile. Must be an existing location ID.
**Note:** Location IDs are system-generated 26-character identifiers with prefix "022".
'
maxLength: 26
minLength: 26
pattern: ^022[0-9a-f]{23}$
example: 022d01091776cc88fe6866b7ce
PreviewOutbound:
type: boolean
UserQueues:
description: Queues configuration for a user or profile.
type: object
properties:
access:
type: array
items:
$ref: '#/components/schemas/QueueId'
performance:
type: array
items:
$ref: '#/components/schemas/QueueId'
autoLogin:
type: array
items:
$ref: '#/components/schemas/QueueId'
proficiency:
type: array
items:
$ref: '#/components/schemas/QueueId'
logins:
type: array
items:
$ref: '#/components/schemas/QueueId'
defaultOutboundQueue:
anyOf:
- $ref: '#/components/schemas/QueueId'
- type: 'null'
outboundQueueId:
anyOf:
- $ref: '#/components/schemas/QueueId'
- type: 'null'
HasEliteAgentIdPassword:
description: Whether the user has an Elite agent ID password set.
type: boolean
UseCCPhoneSpaceOnUCCall:
type: boolean
description: 'When true, use contact center (general queue) phone space for UC/personal queue calls.
'
UseCCPhoneSpaceOnUCCall-2:
description: Use CC phone space for UC calls.
type: boolean
Pagination_2:
description: Pagination metadata
type: object
required:
- pageNumber
- pageSize
- total
properties:
pageNumber:
description: The current page number
type: integer
minimum: 1
readOnly: true
example: 1
pageSize:
description: The maximum number of items per page
type: integer
minimum: 1
readOnly: true
example: 10
total:
description: The total number of items
type: integer
minimum: 0
readOnly: true
example: 2
AppTheme:
allOf:
- $ref: '#/components/schemas/UiTheme'
description: Application theme preference
DefaultTab:
description: The user's default tab.
type: string
EnableWebHID:
type: boolean
description: Whether WebHID is enabled for the user
responses:
ErrorConstraintViolation:
description: Constraint Violation
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorConstraintViolation'
UserConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
loginId:
$ref: '#/components/examples/ErrorUserLoginIdExists'
emailId:
$ref: '#/components/examples/ErrorUserEmailIdExists'
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorUnauthorized'
InternalServer:
description: Request processing failed
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorInternalServerError'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorNotFound'
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorForbidden'
InternalServerError:
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
example:
type: https://developers.avayacloud.com/errors/internal-error
title: Internal Server Error
status: 500
detail: An unexpected error occurred while processing your request
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
UnprocessableEntity:
description: Validation Failed
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
examples:
default:
$ref: '#/components/examples/ErrorUnprocessableEntity'
Forbidden_2:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
example:
type: https://developers.avayacloud.com/errors/forbidden
title: Forbidden
status: 403
detail: 'Missing required scope: ''workflows:execute''. Your token has: ''workflows:read'''
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
UserCanNotBeDisabled:
description: The user can not be disabled due to being logged in or having active interactions.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
UserConflict_2:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
examples:
email:
$ref: '#/components/examples/ErrorUserEmailExists'
Unauthorized_2:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
example:
type: https://developers.avayacloud.com/errors/unauthorized
title: Unauthorized
status: 401
detail: Bearer token expired at 2025-12-08T10:15:00Z. Request a new token.
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
UserCanNotBeDeleted:
description: The user must be disabled before it can be deleted.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
BadRequest:
description: Bad Request
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
example:
type: https://developers.avayacloud.com/errors/constraint-violation
title: Constraint Violation
status: 400
detail: Request contains invalid or missing fields
violations:
- field: accountId
message: must match "^[a-zA-Z]{6}$"
code: 20006
GetUsersResponse:
description: List of users
content:
application/json:
schema:
$ref: '#/components/schemas/UserPage_2'
CreateUserResponse:
description: Success response for creating a user.
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedUser'
NotFound_2:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem_2'
example:
type: https://developers.avayacloud.com/errors/resource-not-found
title: Resource Not Found
status: 404
detail: workflowId 'wf_123abc' does not exist
requestId: req_xyz789
timestamp: '2025-12-08T10:30:05Z'
parameters:
accountId:
name: accountId
description: The unique 6 character internal id that represents the customer account.
required: true
in: path
schema:
type: string
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z]{6}$
example: ABCDEF
userId:
name: userId
in: path
description: The unique 36 character internal id (uuid) that represents the user.
required: true
schema:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
addressId:
name: addressId
in: path
description: The unique 36 character internal id (uuid) that represents the address.
required: true
schema:
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d29771fe
minLength: 36
maxLength: 36
pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
pageNumber:
name: pageNumber
in: query
description: The page number of the records to retrieve. Default value is 1.
schema:
type: integer
format: int32
default: 1
minimum: 1
example: 2
userIdOrEmail:
name: userIdOrEmail
in: path
description: 'Either the user ID (26-character internal ID starting with ''002''), email address,
or the special value "me" to retrieve the current authenticated user.
'
required: true
schema:
oneOf:
- $ref: '#/components/schemas/UserId'
- $ref: '#/components/schemas/Email'
- type: string
enum:
- me
description: Current authenticated user
userId_2:
name: userId
in: path
description: The unique internal ID (UUID) of a user.
required: true
schema:
$ref: '#/components/schemas/UserId'
forceDisable:
name: forceDisable
in: query
description: 'Force a user to be disabled even while still active.
In an update uesr request, this parameter has no effect if the request payload does not
include setting the `status` to `disabled`.
'
required: false
schema:
type: boolean
default: false
sortBy:
name: sortBy
in: query
description: 'Field to sort users by. Note that `lastUpdated` is initialized to `createdOn`
when the user is created, so users that have never been modified will have
matching values for both fields.
'
required: false
schema:
type: string
enum:
- CREATED_ON
- LAST_UPDATED
- FIRST_NAME
- LAST_NAME
example: CREATED_ON
sort:
name: sort
in: query
description: Sort order (ascending or descending)
required: false
schema:
type: string
enum:
- ASC
- DESC
default: ASC
pageNumber_2:
name: pageNumber
in: query
description: The page number of the records to retrieve.
required: false
schema:
type: integer
format: int32
default: 1
minimum: 1
pageSize:
name: pageSize
in: query
description: The max number of records to retrieve per page.
required: false
schema:
type: integer
format: int32
default: 10
minimum: 1
maximum: 50
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: This API uses Bearer Token Authorization Flow
bearerFormat: JWT
AppKey:
type: apiKey
in: header
name: appkey
description: This API needs an appKey as header
x-refined-from:
- avaya-axp-admin-user-openapi-original.json
- avaya-infinity-user-management-openapi-original.json
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go