openapi: 3.0.2
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go
info:
title: Admin - User
description: "The User APIs are use to create, update and retrieve information about User and Profiles.\n\nThe Bulk User\
\ APIs are use to perform operations on users and jobs in bulk.\nUser Services support add, update, delete users in bulk\
\ and delete multiple jobs.\n\nUser Services will support multiple ways to provision Users/Agents\n 1. Programmatic Interface\
\ (Rest APIs)\n 2. User Interface\n"
contact:
name: Avaya API Team
url: https://developers.avayacloud.com/onecloud-ccaas
email: apiteam@avaya.com
license:
name: Avaya Software Development Kit (SDK) Software License Terms
url: http://support.avaya.com/css/P8/documents/101038288
version: 1.0.2
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
tags:
- name: Audit Records
description: 'Search or export audit records for auditable objects.
'
- name: Bulk Job
description: 'Bulk operations related to the Jobs responsible for creating users.
'
- name: Bulk User
description: 'Bulk operations related to Users, Add, Update, Delete, Export.
'
- name: Profile
description: 'A Profile is a grouping of individual features which are provisioned with pre-defined values that can be applied
to a User.
'
- name: Resource Partition
description: "Resource Partitions are grouping of any resources like CLID which are used while making outgoing communication.\
\ \nThese resource partitions ultimately assigned to the user. This will help to provide access of specific resources\
\ to the user.\n"
- name: User
description: 'Represents a user in the system. A user can be an Agent, Supervisor or an Administrator.
'
- name: User Password Policy
description: 'Represents the set of rules to be followed for the user passwords.
'
- name: UX Profile
description: 'A UX Profile represents a layout that can be applied to a user when using Avaya Workspaces.
'
- name: Workspaces
description: 'Workspaces is a web-based application that provides a unified agent desktop. This API return the URL details.
'
paths:
/accounts/{accountId}/audit-records:search:
post:
tags:
- Audit Records
summary: Search Audit Records
description: '**This API requires the Account Administrator role.**
Searches the audit records based on the supplied filter.
The value of **searchKeyword** can be used to perform a text search across all fields within an audit record (excluding
date).
'
operationId: searchAuditRecords
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 5, max value is 50.
'
required: false
schema:
type: integer
format: int32
example: 5
default: 5
minimum: 5
maximum: 50
- name: orderBy
in: query
description: 'Field name on which sorting needs to be performed. The possible fields
you ordered on are **date (date of audit record)** and **author**.
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, "date asc" for ascending or "date desc"
for descending".
'
required: false
schema:
type: string
minLength: 4
maxLength: 23
example: date desc
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuditSearchFilter'
examples:
Search-Audit-Records:
$ref: '#/components/examples/SearchAuditRecordsRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AuditRecords'
examples:
Search-Audit-Records:
$ref: '#/components/examples/SearchAuditRecordsResponse'
'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'
/accounts/{accountId}/audit-records:export:
post:
tags:
- Audit Records
summary: Export Audit Records
description: '**This API requires the Account Administrator role.**
Exports the audit records within the date-time range in CSV format.
A maximum of 1000 records can be exported for a given date-time range per request.
If the number of records within a date-time range exceeds the maximum then this API will
return a _HTTP 400 Bad Request_. This response will contain:
* A human readable message explaining the issue.
* A unique error code that a client can use to identify the issue.
'
operationId: exportAuditRecords
parameters:
- $ref: '#/components/parameters/accountId'
- name: orderBy
in: query
description: 'Field name on which sorting needs to be performed. The possible fields
you ordered on are **date (date of audit record)** and **author**.
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, "date asc" for ascending or "date desc"
for descending".
'
required: false
schema:
type: string
minLength: 4
maxLength: 23
example: date desc
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AuditSearchFilter'
examples:
Export-Audit-Records:
$ref: '#/components/examples/SearchAuditRecordsRequest'
responses:
'200':
description: OK
content:
text/csv:
schema:
type: string
format: binary
example: 'Account Id,Date,Event,Author,IP Address,Type,Audit Data
ABCDEF,2021-11-14T09:24:05.234Z,CREATED,jsmith@example.com,165.225.72.60,PROFILE,"{""profileId"":""W6D1JQ"",""profileName"":""Advanced"",""description"":""Aprofilewithallthefeatures"",""uxProfileId"":""6f482dcd-54a9-445f-ba6d-8ca5ebd5261a"",""roles"":[""Agent""],""memberOfGroups"":[""04703a3a-3dfb-4606-ae79-fd0fe0be3e64""]}"
'
'400':
description: BadRequest
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
Too-many-records:
$ref: '#/components/examples/ErrorTooManyRecords'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/resource-partitions:
get:
tags:
- Resource Partition
summary: List Resource Partitions
description: '**This API requires the Account Administrator role.**
Lists all of the resource partitions for an account.
'
operationId: listResourcePartitions
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.
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: 10
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\n\
The 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
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"
schema:
type: string
maxLength: 255
examples:
ascending:
value: name
descending:
value: name desc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcePartitionsPage'
examples:
ResourcePartitionsPage:
$ref: '#/components/examples/ResourcePartitionsPage'
'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'
post:
tags:
- Resource Partition
summary: Create Resource Partition
description: "**This API requires the Account Administrator role.**\n\nCreates an resource partition. Resource Partition\
\ can be created with one or more type.\nThe following fields must be unique otherwise a `HTTP 409 Conflcit` will\
\ be returned:\n * `name`\n"
operationId: createResourcePartition
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcePartition'
examples:
ResourcePartition:
$ref: '#/components/examples/ResourcePartitionWrite'
description: Resource Partition
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcePartition'
examples:
ResourcePartition:
$ref: '#/components/examples/ResourcePartitionRead'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/ResourcePartitionNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/resource-partitions/{resourcePartitionId}:
get:
tags:
- Resource Partition
summary: Get Resource Partition
description: '**This API requires the Account Administrator role.**
Gets an resource partition.
'
operationId: getResourcePartition
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/resourcePartitionId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcePartition'
examples:
ResourcePartition:
$ref: '#/components/examples/ResourcePartitionRead'
'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'
put:
tags:
- Resource Partition
summary: Update Resource Partition
description: "**This API requires the Account Administrator role.**\n\nUpdates an resource partition.\n\nThe following\
\ fields must be unique otherwise a `HTTP 409 Conflcit` will be returned:\n * `name`\n\nThis operation will clear\
\ the value stored for any fields not present in the request.\nFor example, to remove a feature such as `voice` from\
\ a user you should omit the\n`voice` field in the request. The same behavior applies to every field in the request.\n"
operationId: updateResourcePartition
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/resourcePartitionId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcePartition'
examples:
ResourcePartition:
$ref: '#/components/examples/ResourcePartitionWrite'
description: Resource Partition
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResourcePartition'
examples:
ResourcePartition:
$ref: '#/components/examples/ResourcePartitionRead'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/ResourcePartitionNameExists'
'500':
$ref: '#/components/responses/InternalServer'
delete:
tags:
- Resource Partition
summary: Delete Resource Partition
description: '**This API requires the Account Administrator role.**
Deletes a Resource partition.
'
operationId: deleteResourcePartition
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/resourcePartitionId'
responses:
'204':
description: No Content
'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'
/accounts/{accountId}/resource-partitions/{resourceType}/{resourceId}:
delete:
tags:
- Resource Partition
summary: Delete Resource Id
description: 'Deletes a resource Id
'
operationId: deleteResourceId
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/resourceType'
- $ref: '#/components/parameters/resourceId'
responses:
'204':
description: No Content
'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'
/accounts/{accountId}/profiles:
get:
tags:
- Profile
summary: List Profiles
description: '**This API requires the Account Administrator role.**
Lists all of the profiles for an account.
'
operationId: listProfiles
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.
Any value like 5, 10, 15, 20, 25, 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: 5
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 * profileName\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: profileName=Sales
prefix:
description: Example of filtering based on a prefix string.
value: profileName:Sales*
postfix:
description: Example of filtering based on a postfix string.
value: profileName:*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 * profileName\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, \"profileName\"\
\ for ascending or \"profileName desc\" for descending\".\n"
schema:
type: string
maxLength: 255
examples:
ascending:
value: profileName
descending:
value: profileName desc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ProfilePage'
examples:
Profile-Page:
$ref: '#/components/examples/ProfilePage'
'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'
post:
tags:
- Profile
summary: Create Profile
description: "**This API requires the Account Administrator role.**\n\nCreates a profile. Profiles can be created with\
\ single or multiple features.\n\nThe following fields must be unique otherwise a `HTTP 409 Conflcit` will be returned:\n\
\ * `profileName`\n\nChanges to the fields:\n * `features`\n\nWill trigger asynchronous updates, the status of which\
\ should be monitored via `/profiles:listStatuses`.\n"
operationId: createProfile
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
examples:
Profile:
$ref: '#/components/examples/ProfileWrite'
description: Profile
required: true
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
examples:
Profile:
$ref: '#/components/examples/ProfileRead'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/ProfileNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/profiles/{profileId}:
put:
tags:
- Profile
summary: Update Profile
description: "**This API requires the Account Administrator role.**\n\nUpdates a profile.\n\nThe following fields must\
\ be unique otherwise a `HTTP 409 Conflcit` will be returned:\n * `profileName`\n\nThis operation will clear the\
\ value stored for any fields not present in the request.\nFor example, to remove a feature such as `voice` from a\
\ user you should omit the\n`voice` field in the request. The same behavior applies to every field in the request.\n\
\nChanges to the fields:\n * `features`\n\nWill trigger asynchronous updates, the status of which should be monitored\
\ via `/profiles:listStatuses`.\n"
operationId: updateProfile
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/profileId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
examples:
Profile:
$ref: '#/components/examples/ProfileWrite'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
examples:
Profile:
$ref: '#/components/examples/ProfileRead'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/ProfileNameExists'
'500':
$ref: '#/components/responses/InternalServer'
get:
tags:
- Profile
summary: Get Profile
description: '**This API requires the Account Administrator role.**
Gets a profile.
'
operationId: getProfile
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/profileId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Profile'
examples:
Profile:
$ref: '#/components/examples/ProfileRead'
'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'
delete:
tags:
- Profile
summary: Delete Profile
description: '**This API requires the Account Administrator role.**
Deletes a profile.
'
operationId: deleteProfile
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/profileId'
responses:
'204':
description: No Content
'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'
/accounts/{accountId}/profiles:listStatuses:
post:
tags:
- Profile
summary: List Profile Statuses
description: '**This API requires the Account Administrator role.**
Lists the current statuses for the given profiles.
'
operationId: listProfileStatuses
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileIdList'
examples:
Request-Profile-Statuses:
$ref: '#/components/examples/ProfileStatusesRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProfileStatusResponse'
examples:
Profile-Statuses:
$ref: '#/components/examples/ProfileStatuses'
Failed-Profile-Statuses:
$ref: '#/components/examples/FailedProfileStatuses'
InProgress-Profile-Statuses:
$ref: '#/components/examples/InProgressProfileStatuses'
'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'
/accounts/{accountId}/ux-profiles:
get:
tags:
- UX Profile
summary: List UX Profiles
description: "**This API requires the Account Administrator role.**\n\nLists all of the UX Profiles for an account.\n\
\nUX Profiles are administered in the Avaya Experience Platform™ Administration application under:\n * Administration\
\ -> Workspaces -> UX Profiles\n"
operationId: listUXProfiles
parameters:
- $ref: '#/components/parameters/accountId'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UXProfile'
examples:
UX-Profiles:
$ref: '#/components/examples/UXProfiles'
'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'
/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'
post:
tags:
- User
summary: Create User
description: "**This API requires the Account Administrator role.**\n\nCreates a user.\n\nThe following fields must\
\ be unique otherwise a `HTTP 409 Conflcit` will be returned:\n * `loginId`\n * `emailId`\n\nWhen creating a user\
\ with a `profileId`, the field values in the user request will override any that are\nalso defined in the profile.\
\ For example, if the profile contains configuration for `features` and the user\nrequest also contains `features`,\
\ the `features` defined in the user request will override those from the profile.\n\nChanges to the fields:\n *\
\ `roles`\n * `features`\n\nWill trigger asynchronous updates, the status of which should be monitored via `/users:listStatuses`.\n"
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'
/accounts/{accountId}/users/{userId}:
put:
tags:
- User
summary: Update User
description: "**This API requires the Account Administrator role.**\n\nUpdates a user.\n\nThe following fields must\
\ be unique otherwise a `HTTP 409 Conflcit` will be returned:\n * `userId`\n * `emailId`\n\nThis operation will\
\ clear the value stored for any fields not present in the request.\nFor example, to remove a feature such as `voice`\
\ from a user you should omit the\n`voice` field in the request. The same behavior applies to every field in the request.\n\
\nWhen updating a user with a `profileId`, the field values in the user request will override any that are\nalso defined\
\ in the profile. For example, if the profile contains configuration for `features` and the user\nrequest also contains\
\ `features`, the `features` defined in the user request will override those from the profile.\n\nChanges to the fields:\n\
\ * `roles`\n * `features`\n\nWill trigger asynchronous updates, the status of which should be monitored via `/users:listStatuses`.\n"
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'
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'
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'
/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'
/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'
/accounts/{accountId}/users/{userId}/resource-partitions:
get:
tags:
- User
summary: List Resource Partitions
description: "**This API requires the Account Administrator role.**\n\n Lists all of the resource partitions for a\
\ user.\n"
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\n\
The 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'
/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'
/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'
/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'
/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'
/accounts/{accountId}/jobs:
get:
tags:
- Bulk Job
summary: List Jobs
description: '**This API requires the Account Administrator role.**
Lists all of the jobs for an account based on the criteria provided.
'
operationId: listJobs
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.
Any value like 5, 10, 15, 20, 25, 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: 5
default: 5
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* operation\n\
* startTime\n* endTime\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: name=AddUsers
prefix:
description: Example of filtering based on a prefix string.
value: name:AddUsers*
postfix:
description: Example of filtering based on a postfix string.
value: name:*AddUsers
- name: orderBy
in: query
required: false
description: 'Field name on which sorting needs to be performed. The default sorting order is startTime descending.
The possible fields that can be ordered on are:
* name
* operation
* startTime
* endTime
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, "name" for ascending or "name desc"
for descending".
'
schema:
type: string
maxLength: 255
examples:
ascending:
value: name
descending:
value: name desc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/JobImportDetailsPage'
examples:
User jobs:
$ref: '#/components/examples/JobImportDetailsPage'
'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'
/accounts/{accountId}/jobs/{jobId}:
get:
tags:
- Bulk Job
summary: Get Job
description: '**This API requires the Account Administrator role.**
Gets all the details of job along with the processed user count.
'
operationId: getJob
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserImportJobStatus'
examples:
User import job:
$ref: '#/components/examples/UserImportJobResponse'
User import failed job:
$ref: '#/components/examples/UserImportFailedJobResponse'
User import aborted job:
$ref: '#/components/examples/UserImportAbortedJobResponse'
'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'
/accounts/{accountId}/jobs/{jobId}/users:
get:
tags:
- Bulk Job
summary: List Users
description: '**This API requires the Account Administrator role.**
Lists the Users added, updated, or deleted by a job based on the criteria provided.
This includes basic details of each user and current status.
Default ordering is by `loginId`, unless specified otherwise via `orderBy`.
'
operationId: listUsersByJob
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobId'
- $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 5, 10, 15, 20, 25, 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: 5
default: 5
minimum: 5
maximum: 1000
- name: filter
in: query
required: false
description: "Specifies details of a row filter.\n\nThe possible fields you can filter on are:\n* firstName\n* lastName\n\
* loginId\n* status\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: firstName:VoiceUser*
prefix:
description: Example of filtering based on a prefix string.
value: firstName:VoiceUser*
postfix:
description: Example of filtering based on a postfix string.
value: firstName:VoiceUser*
- name: orderBy
in: query
required: false
description: 'Field name on which sorting needs to be performed. The default sorting order is ascending.
The possible fields that can be ordered on are:
* firstName
* lastName
* loginId
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: firstName desc
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailsPage'
examples:
User import details:
$ref: '#/components/examples/UserDetailsPage'
'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'
/accounts/{accountId}/jobs/{jobId}:stop:
post:
tags:
- Bulk Job
summary: Stop Job
description: '**This API requires the Account Administrator role.**
Stops the job as soon as possible. The job status will enter `ABORT_IN_PROGRESS` and finally `ABORTED`.
Note, this **DOES NOT** rollback any modifications to Users that have already been processed.
'
operationId: stopJob
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobId'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/JobStopResponse'
examples:
Job stop response:
$ref: '#/components/examples/JobStopResponse'
'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'
/accounts/{accountId}/jobs:bulkDelete:
post:
tags:
- Bulk Job
summary: Bulk Delete Jobs
description: '**This API requires the Account Administrator role.**
Bulk deletes jobs using the IDs provided.
Only jobs with the following `status` can be deleted:
* `COMPLETED`
* `FAILED`
* `ABORTED`
'
operationId: bulkDeleteJobs
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserImportJobsId'
examples:
Job Ids to delete:
$ref: '#/components/examples/UserJobsIdsToDelete'
responses:
'202':
description: Accepted
'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'
/accounts/{accountId}/jobs/{jobId}:exportFailedUsers:
get:
tags:
- Bulk Job
summary: Export Failed Users
description: '**This API requires the Account Administrator role.**
Exports the list of failed Users from the bulk operation. The following file formats are supported:
* `.xlsx`
The `.xlsx` file will be contained within in a `.zip` archive.
'
operationId: exportFailedUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobId'
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
example: 'Login Id, Account Hierarchy, Last Name, First Name, Password, Profile, Display Name, Roles, Email,
Member Of, Owned Groups, Description
username@default.com, Default, lastname, firstName, Avaya1234@, profileName,lastname firstname, [Agent],username@default.com,
[group1], [group2], Password policy not met
'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/JobNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/jobs/{jobId}:downloadExportedUsers:
get:
tags:
- Bulk Job
summary: Download Exported Users
description: '**This API requires the Account Administrator role.**
Downloads the exported users in one or more `.xlsx` files contained within in a `.zip` archive. Each `.xlsx` file
can contain up to 1,000 users.
'
operationId: downloadExportedUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobId'
responses:
'200':
description: OK
content:
application/zip:
schema:
type: string
format: binary
example: 'Login Id, Account Hierarchy, Last Name, First Name, Password, Profile, Display Name, Roles, Email,
Member Of, Owned Groups
username@default.com, Default, lastname, firstName, Avaya1234@, profileName,lastname firstname, [Agent],username@default.com,
[group1], [group2]
'
'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'
/accounts/{accountId}/users-bulk-template:
get:
tags:
- Bulk User
summary: Download Bulk Template
description: '**This API requires the Account Administrator role.**
Downloads the Bulk Operation Template as an `.xlsx` file.
'
operationId: downloadBulkTemplate
parameters:
- $ref: '#/components/parameters/accountId'
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
type: string
format: binary
example: 'Login Id, Account Hierarchy, Last Name, First Name, Display Name, Password, Profile, Roles, Email,
Member Of, Owned Groups
'
'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'
/accounts/{accountId}/users:bulkAdd:
post:
tags:
- Bulk User
summary: Bulk Add Users
description: '**This API requires the Account Administrator role.**
Bulk adds Users using the file provided. The following file formats are supported:
* `.xlsx`
The following fields must be unique otherwise a `HTTP 409 Conflict` will be returned:
* `jobName`
Will trigger an asynchronous job, the status of which should be monitored via `/jobs/{jobId}`.
'
operationId: bulkAddUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobName'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/UsersImportResponse'
examples:
Add users:
$ref: '#/components/examples/BulkAddedUsers'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/JobNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/users:bulkUpdate:
post:
tags:
- Bulk User
summary: Bulk Update Users
description: '**This API requires the Account Administrator role.**
Bulk updates Users using the file provided. The following file formats are supported:
* `.xlsx`
The following fields must be unique otherwise a `HTTP 409 Conflict` will be returned:
* `jobName`
Will trigger an asynchronous job, the status of which should be monitored via `/jobs/{jobId}`.
'
operationId: bulkUpdateUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobName'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/UsersImportResponse'
examples:
Bulk Update:
$ref: '#/components/examples/BulkAddedUsers'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/JobNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/users:bulkDelete:
post:
tags:
- Bulk User
summary: Bulk Delete Users
description: '**This API requires the Account Administrator role.**
Bulk deletes Users using the file provided. The following file formats are supported:
* `.xlsx`
The following fields must be unique otherwise a `HTTP 409 Conflict` will be returned:
* `jobName`
Will trigger an asynchronous job, the status of which should be monitored via `/jobs/{jobId}`.
'
operationId: bulkDeleteUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobName'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/UsersImportResponse'
examples:
User delete:
$ref: '#/components/examples/BulkAddedUsers'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/JobNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/users:bulkExport:
post:
tags:
- Bulk User
summary: Bulk Export Users
description: '**This API requires the Account Administrator role.**
Bulk exports the list of users for an account based on the criteria provided.
The following fields must be unique otherwise a `HTTP 409 Conflict` will be returned:
* `jobName`
Will trigger an asynchronous job, the status of which should be monitored via `/jobs/{jobId}`.
Once the job has completed, the file can be downloaded using the API `/jobs/{jobId}:downloadExportedUsers`.
'
operationId: bulkExportUsers
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/jobName'
- name: filter
in: query
required: false
description: "Specifies details of a row filter.\n\nThe possible fields you can filter on are:\n* firstName\n* lastName\n\
\nThe allowed format:\n- Begins with the column name to be filtered, followed by a colon, (This will be used as\
\ 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: firstName:VoiceUser*
prefix:
description: Example of filtering based on a prefix string.
value: firstName:VoiceUser*
postfix:
description: Example of filtering based on a postfix string.
value: firstName:VoiceUser*
- name: orderBy
in: query
required: false
description: 'Field name on which sorting needs to be performed. The default sorting order is ascending.
The possible fields that can be ordered on are:
* firstName
* lastName
* loginId
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, "loginId" for ascending or "loginId
desc" for descending".
'
schema:
type: string
maxLength: 255
examples:
ascending:
value: loginId
descending:
value: loginId desc
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/UsersExportResponse'
examples:
User Export:
$ref: '#/components/examples/UsersExportResponse'
'400':
$ref: '#/components/responses/ErrorConstraintViolation'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'409':
$ref: '#/components/responses/JobNameExists'
'500':
$ref: '#/components/responses/InternalServer'
/accounts/{accountId}/password-policy:
get:
tags:
- User Password Policy
summary: Get Password Policy
description: '**This API requires the Account Administrator role.**
Lists the Passwod Policy rules for an account.
'
operationId: getPasswordPolicy
parameters:
- $ref: '#/components/parameters/accountId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicy'
examples:
PasswordPolicy:
$ref: '#/components/examples/PasswordPolicyRule'
'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'
put:
tags:
- User Password Policy
summary: Update Password Policy
description: '**This API requires the Account Administrator role.**
Updates the Passwod Policy rules for an account.
'
operationId: updatePasswordPolicy
parameters:
- $ref: '#/components/parameters/accountId'
requestBody:
description: Password policy rule payload
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicy'
examples:
PasswordPolicy:
$ref: '#/components/examples/PasswordPolicyRule'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordPolicy'
examples:
PasswordPolicy:
$ref: '#/components/examples/PasswordPolicyRule'
'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'
/accounts/{accountId}/workspaces:
get:
tags:
- Workspaces
summary: Get Workspaces details
description: '**This API requires the Account Administrator role.**
Returns the workspaces details for an account.
'
operationId: getWorkspaces
parameters:
- $ref: '#/components/parameters/accountId'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Workspaces'
examples:
Workspaces:
$ref: '#/components/examples/WorkspacesResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
components:
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
responses:
ErrorConstraintViolation:
description: Constraint Violation
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorConstraintViolation'
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'
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorForbidden'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorNotFound'
ProfileNameExists:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorProfileNameExists'
ResourcePartitionNameExists:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorResourcePartitionNameExists'
UserConflict:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
loginId:
$ref: '#/components/examples/ErrorUserLoginIdExists'
emailId:
$ref: '#/components/examples/ErrorUserEmailIdExists'
JobNameExists:
description: Conflict
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorJobNameExists'
schemas:
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'
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'
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
Profile:
description: Profile information
type: object
required:
- profileName
properties:
profileId:
type: string
example: W6D1JQ
readOnly: true
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z0-9\-\_\.\ ]+$
description: Unique Id for profile
profileName:
type: string
example: Advanced
minLength: 2
maxLength: 255
pattern: ^[a-zA-Z\p{L}0-9]+([ ]*[a-zA-Z\p{L}0-9-\_\*\=\+\$\:\;\&\~\,\?\%\!\|\{\}\`\.\']+)*$
description: Name of profile
description:
type: string
example: A profile with all the features
minLength: 5
maxLength: 1024
description: Information about profile
uxProfileId:
type: string
example: 6f482dcd-54a9-445f-ba6d-8ca5ebd5261a
minLength: 36
maxLength: 36
description: The unique 36 character internal id (uuid) that represents the ux profile.
url:
type: string
readOnly: true
example: /api/admin/user/v1/accounts/ASDJGE/profiles/W6D1JQ
description: Get profile link
roles:
type: array
maxItems: 50
items:
$ref: '#/components/schemas/Role'
description: Role list applicable with profile
memberOfGroups:
type: array
maxItems: 50
description: List of the groups of which the user is member of.
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
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
resourcePartitionDefaultResources:
type: array
items:
$ref: '#/components/schemas/ResourcePartitionDefaultResource'
features:
$ref: '#/components/schemas/ProfileFeatures'
ProfileFeatures:
description: Features present in profile
type: object
properties:
matching:
$ref: '#/components/schemas/MatchingProfileFeature'
chat:
$ref: '#/components/schemas/ChatChannelProfileFeature'
messaging:
$ref: '#/components/schemas/MessagingChannelProfileFeature'
email:
$ref: '#/components/schemas/EmailChannelProfileFeature'
voice:
$ref: '#/components/schemas/CloudSwitchVoiceProfileFeature'
cmvoice:
$ref: '#/components/schemas/CMVoiceProfileFeature'
aci:
$ref: '#/components/schemas/ACIProfileData'
outbound:
$ref: '#/components/schemas/OutboundProfileData'
recorder:
$ref: '#/components/schemas/RecorderProfileData'
advancedcmvoice:
$ref: '#/components/schemas/AdvancedCMVoiceProfileFeature'
ProfilePage:
description: Paginated Profile Data
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
profiles:
type: array
items:
$ref: '#/components/schemas/Profile'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ASDJGE/profiles?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/profiles?pageNumber=3&pageSize=10
Role:
description: User Role
type: string
maxLength: 40
example: Agent
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
ResourcePartitionsPage:
description: Paginated resource partition Data
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
resourcePartitions:
type: array
items:
$ref: '#/components/schemas/ResourcePartition'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ASDJGE/resource-partitions?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/resource-partitions?pageNumber=3&pageSize=10
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
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'
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
ResourcePartition:
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: 100
description: List of the different type of resources assigned to the resource partition
items:
$ref: '#/components/schemas/ResourcePartitionResource'
ResourcePartitionResource:
description: Resource partition Resource information
type: object
properties:
resourceIds:
type: array
maxItems: 100
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
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
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
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.
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
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
nullable: true
status:
type: integer
format: int32
description: 'The HTTP status code generated by the origin server for this occurrence of the problem.
'
minimum: 100
maximum: 600
exclusiveMaximum: true
example: 503
nullable: true
detail:
type: string
description: 'A human readable explanation specific to this occurrence of the problem.
'
example: Connection to database timed out
nullable: true
instance:
type: string
format: uri
description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further
information if dereferenced.
'
nullable: true
violations:
type: array
description: 'A list of violations that occurred as a result of invalid data provided as part of a request.
'
nullable: true
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
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
ProfileIdList:
description: List of profile Ids
type: object
properties:
profileIds:
type: array
maxItems: 50
items:
type: string
maxLength: 6
example:
- ABDCEF
- OKIJTH
description: List of profile Ids
ProfileStatusResponse:
description: Status of Profiles
type: object
properties:
profileId:
description: An unique id of profile
type: string
example: ABCDEF
minLength: 6
maxLength: 6
features:
$ref: '#/components/schemas/UserFeatureStatus'
allOf:
- $ref: '#/components/schemas/FeatureAction'
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'
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
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
MatchingProfileFeature:
description: Details of Matching profile feature
type: object
properties:
attributes:
type: array
maxItems: 50
items:
type: string
maxLength: 255
example:
- Language.English
- Language.French
description: List of attributes assigned to profile
queues:
type: array
maxItems: 50
items:
$ref: '#/components/schemas/AssignedQueue'
description: List of assigned queues to a profile
example:
- queueId: 620bbb28-7112-433a-af59-17ee0f15a247
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
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.
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:
nullable: true
type: integer
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'
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:
nullable: true
type: integer
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'
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:
nullable: true
type: integer
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'
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}$
ChatChannelProfileFeature:
description: Details of Chat Channel profile feature
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: 5
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:
nullable: true
type: integer
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
MessagingChannelProfileFeature:
description: Details of Chat Channel profile feature
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: 5
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:
nullable: true
type: integer
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
EmailChannelProfileFeature:
description: Details of Chat Channel profile feature
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: 5
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:
nullable: true
type: integer
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
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:
nullable: true
type: integer
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
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'
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
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 `{}`.
'
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 `{}`.
'
OutboundProfileData:
type: object
description: 'This model is used to populate outbound profile 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 `{}`.
'
RecorderProfileData:
type: object
description: 'This model is used to populate Recorder profile 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 `{}`.
'
CMVoiceProfileFeature:
type: object
description: This model represent CM voice profile feature data.
properties:
autoAssignExtension:
type: boolean
default: false
description: If this flag is set to true then during sync extension will get assigned automatically
example: false
locationProfileId:
type: string
description: Location Profile Id
format: uuid
example: 41c6ef0d-5470-406e-ace2-6dc442b99318
CloudSwitchVoiceProfileFeature:
description: This model represent user profile data in user feature message
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:
nullable: true
type: integer
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
ACIProfileData:
description: 'This model used to represent ACI (Avaya Conversational Intelligence) feature for profile.
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
UXProfile:
description: This model represent UX profile data
type: object
properties:
uxProfileId:
type: string
description: profile id
example: c8c2909d-75e9-484a-94c0-b7e8d30771ee
uxProfileName:
type: string
description: profile Name
example: UX Profile
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
nullable: true
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
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
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
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
AuditSearchFilter:
type: object
description: 'The filter to be applied when searching for audit records.
'
required:
- startDate
- endDate
- type
properties:
startDate:
type: string
format: date-time
description: 'The starting datetime to use when searching for audit records (in ISO 8601 format including timezone,
''yyyy-MM-dd''T''HH:mm:ss[.SSS]Z'').
'
example: '2021-11-13T20:25:39.534Z'
endDate:
type: string
format: date-time
description: 'The ending datetime to use when searching for audit records (in ISO 8601 format including timezone,
''yyyy-MM-dd''T''HH:mm:ss[.SSS]Z'').
'
example: '2021-11-15T16:07:12.723Z'
author:
type: string
description: 'The ID of the author who changed the auditable object. This can be a user within the system or an
automated app.
'
maxLength: 255
pattern: ^[a-zA-Z0-9@._-]+$
example: jsmith@example.com
event:
type: string
description: "This field indicates the type of event that occurred on the auditable object.\n\nAn explanation of\
\ the values is listed below:\n * CREATED - A new auditable object was created.\n * UPDATED - An existing auditable\
\ object was updated.\n * DELETED - An existing auditable object was deleted.\n"
enum:
- CREATED
- UPDATED
- DELETED
type:
description: "The type of auditable object.\n\nAccepted values:\n* PROFILE\n* USER\n* RESOURCE_PARTITION \n* USERS_DEFAULT_RESOURCE\n"
type: string
enum:
- PROFILE
- USER
- RESOURCE_PARTITION
- USERS_DEFAULT_RESOURCE
example: PROFILE
ipAddress:
description: 'The originating IP Address of the author who changed the auditable object.
'
type: string
maxLength: 15
example: 165.225.72.60
searchKeyword:
description: 'Keyword to search for across all the audit records.
'
type: string
maxLength: 255
AuditRecords:
description: 'A collection of audit records.
'
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
auditRecords:
type: array
items:
$ref: '#/components/schemas/AuditRecord'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ASDJGE/audit-records:search?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/audit-records:search?pageNumber=3&pageSize=10
AuditRecord:
type: object
description: 'An audit record. Captures who, what, and when an auditable object changed within the system.
'
properties:
date:
type: string
description: 'The date and time of when the audit record was created.
'
example: '2021-06-24T19:03:01.463+00:00'
event:
type: string
description: "This field indicates the type of event that occurred on the auditable object.\n\nAn explanation of\
\ the values is listed below:\n * CREATED - A new auditable object was created.\n * UPDATED - An existing auditable\
\ object was updated.\n * DELETED - An existing auditable object was deleted.\n"
enum:
- CREATED
- UPDATED
- DELETED
author:
type: string
example: jsmith@example.com
description: 'The ID of the author who changed the auditable object. This can be a user within the system or an
automated app.
'
type:
description: "The type of auditable object.\n\nAccepted values:\n* PROFILE\n* USER\n* RESOURCE_PARTITION \n* USERS_DEFAULT_RESOURCE\n"
enum:
- PROFILE
- USER
- RESOURCE_PARTITION
- USERS_DEFAULT_RESOURCE
type: string
example: PROFILE
ipAddress:
description: 'The originating IP Address of the author who changed the auditable object.
'
type: string
example: 165.225.72.60
auditData:
$ref: '#/components/schemas/JsonNode'
previousData:
$ref: '#/components/schemas/JsonNode'
JsonNode:
type: object
title: JsonNode
description: 'Contains the state of the auditable object at the time the audit record was created.
'
operation:
type: string
description: Operation performed during import
enum:
- ADD
- UPDATE
- DELETE
- NO_CHANGE
- EXPORT
example: ADD
status:
description: Operation result
type: string
enum:
- IN_PROGRESS
- FAILED
- COMPLETED
- PENDING
- ABORT_IN_PROGRESS
- ABORTED
- NO_CHANGE
example: COMPLETED
statusAndOperations:
description: Operation result
type: string
enum:
- ADD
- UPDATE
- DELETE
- NO_CHANGE
- IN_PROGRESS
- FAILED
- COMPLETED
- ABORT_IN_PROGRESS
- ABORTED
- PENDING
example: COMPLETED
JobStopResponse:
type: object
description: Job stop response
properties:
url:
type: string
example: /api/admin/user/v1/accounts/ABCDEF/jobs/{jobId}
UsersImportResponse:
description: User import response to notify that user import accepted.
type: object
properties:
jobId:
description: An unique id mapped to each user import job.
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}$
url:
description: Details of users import job
type: string
example: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe
maxLength: 2048
title: UsersImportResponse
UserDetails:
description: User details of each imported user
type: object
properties:
loginId:
description: User login Id
type: string
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,6}$
example: something@domain.com
userId:
description: User unique Id
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d30771ee
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}$
status:
$ref: '#/components/schemas/status'
operation:
$ref: '#/components/schemas/operation'
message:
description: Message explaining operation result
type: string
example: User successfully added
title: UserDetails
UserImportJobStatus:
description: User import job status response to know number of user imported with status.
type: object
properties:
operation:
$ref: '#/components/schemas/operation'
status:
$ref: '#/components/schemas/status'
message:
type: string
description: Success or failure message of import
example: import completed
details:
type: array
items:
$ref: '#/components/schemas/UserImportDetails'
url:
description: URL to get the details of user import job
type: string
example: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe/users
maxLength: 2048
totalCount:
description: Total number of users
type: integer
format: int64
example: 40
startTime:
description: Start time of job
type: string
format: date-time
example: 2020-04-21T17:32:28z
endTime:
description: End time of job
type: string
format: date-time
example: 2020-04-21T17:40:28z
title: UserImportJobStatus
UserImportDetails:
description: User import job details.
type: object
properties:
count:
type: integer
format: int64
description: Total number of entities per element is imported
example: 1300
status:
$ref: '#/components/schemas/statusAndOperations'
UserDetailsPage:
description: User import details to know each user status
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
users:
type: array
items:
$ref: '#/components/schemas/UserDetails'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ABCDEF/jobs/importUserList1/users?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ABCDEF/jobs/importUserList1/users?pageNumber=3&pageSize=10
title: UserDetailsPage
JobImportDetailsPage:
description: List of all imported jobs
type: object
properties:
pagination:
$ref: '#/components/schemas/Pagination'
jobs:
type: array
items:
$ref: '#/components/schemas/JobImportDetails'
links:
allOf:
- $ref: '#/components/schemas/Links'
example:
prev: /api/admin/user/v1/accounts/ASDJGE/jobs?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/jobs?pageNumber=3&pageSize=10
title: JobImportDetailsPage
JobImportDetails:
description: User import jobs detail
type: object
properties:
jobId:
description: JobId an unique id mapped with each user import job.
type: string
example: c8c2909d-75e9-484a-94c0-b7e8d30771ee
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}$
status:
$ref: '#/components/schemas/status'
name:
description: Name of job
type: string
example: deleteJobForOrganization
operation:
$ref: '#/components/schemas/operation'
startTime:
description: Start time of job
type: string
format: date-time
example: 2020-04-21T17:32:28z
endTime:
description: End time of job
type: string
format: date-time
example: 2020-04-21T17:40:28z
title: JobImportDetails
UserImportJobsId:
description: List of all imported job Ids to delete the jobs.
type: object
properties:
jobIds:
type: array
maxItems: 50
items:
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:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
- 04803a3a-3dfb-4606-ae79-fd0fe0be3e64
description: List of job Ids to delete the jobs
title: UserImportJobsId
UsersExportResponse:
description: Bulk user export response to notify that user export request accepted.
type: object
properties:
jobId:
description: An unique id mapped to each user bulk export job.
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}$
url:
description: URL to download exported user file
type: string
example: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe:downloadExportedUsers
maxLength: 2048
title: UsersExportResponse
Workspaces:
description: Workspaces server details
type: object
properties:
hostname:
type: string
example: uk.prod.ws.avayacloud.com
description: The hostname of Workspaces server
AdvancedCMVoiceUserFeature:
description: This model is used to populate Advanced CM voice feature data in user
type: object
AdvancedCMVoiceProfileFeature:
type: object
description: This model represent Advanced CM voice profile feature data.
PasswordPolicy:
description: This model represent the password policy rules
type: object
properties:
accountId:
type: string
description: The unique 6 character internal id that represents the account.
readOnly: true
example: FSADSJ
length:
description: Length of the password
type: integer
format: int32
minimum: 8
default: 14
example: 8
specialChars:
description: Number of special characters required in the password
type: integer
format: int32
minimum: 0
default: 0
example: 1
upperCase:
description: Number of uppercase characters required in the password
type: integer
format: int32
minimum: 0
default: 0
example: 1
lowerCase:
description: Number of lowercase characters required in the password
type: integer
format: int32
minimum: 0
default: 0
example: 1
digits:
description: Number of digits required in the password
type: integer
format: int32
minimum: 0
default: 0
example: 1
maxNoOfConsecutiveChars:
description: Number of repeated consecutive characters in the password
type: integer
format: int32
minimum: 0
default: 2
example: 2
maxNoOfConsecutiveCharSets:
description: Number of consecutive characters from the same character classs in the password
type: integer
format: int32
minimum: 0
default: 4
example: 4
passwordHistory:
description: Number of last passwords to be checked in the passwordHistory
type: integer
format: int32
minimum: 0
maximum: 24
default: 10
example: 1
notUsername:
type: boolean
default: true
example: true
description: Password should not be same as username
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
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
profileId:
name: profileId
in: path
description: The unique 6 character internal id (uuid) that represents the profile.
required: true
schema:
type: string
example: FSADSJ
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z0-9\-\_\.\ ]+$
resourcePartitionId:
name: resourcePartitionId
in: path
description: The unique id (uuid) that represents the resource partition.
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}$
resourceType:
name: resourceType
required: true
in: path
description: Resource Type
example: CALLER_ID
schema:
type: string
enum:
- CALLER_ID
example: CALLER_ID
resourceId:
name: resourceId
in: path
description: The unique id that represents the resource.
required: true
schema:
type: string
example: 620bbb28-7112-433a-af59-17ee0f15a247
minLength: 3
maxLength: 1024
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}$
jobId:
name: jobId
in: path
description: The unique 36 character internal id that represents the job.
required: true
schema:
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: 1235a3aa-3dfb-4606-ae79-fd0fe0be3e64
jobName:
name: jobName
in: query
description: Optional, job name that can be provided to uniquely identify the job.
required: false
schema:
type: string
minLength: 1
maxLength: 255
pattern: ^[\p{L}\p{M}\p{N}\p{IsKatakana}0-9]+[\s\p{L}\p{M}\p{N}\p{IsKatakana}0-9\-\[\]\\_\.\+\*\'\"\!\|\(\)\{\}\;\:\,\^\+\<\>\&\£\@\$\¥\€\`\~\?\#\%\=]*$
example: Bulk Job
examples:
WorkspacesResponse:
description: Workspaces server details
value:
hostname: uk.prod.ws.avayacloud.com
ProfilePage:
description: Paginated Profile Data
value:
pagination:
pageNumber: 2
pageSize: 10
total: 45
profiles:
- profileId: W6D1JQ
profileName: Advanced
description: A profile with all the features
uxProfileId: 6f482dcd-54a9-445f-ba6d-8ca5ebd5261a
url: /api/admin/user/v1/accounts/ASDJGE/profiles/W6D1JQ
roles:
- Agent
memberOfGroups:
- c8c2909d-75e9-484a-94c0-b7e8d29771fe
resourcePartitions:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
resourcePartitionDefaultResources:
- resourcePartitionId: a8b6d39c-53c5-4d94-a640-c28bee987ed7
defaultResourceId: 620bbb28-7112-433a-af59-17ee0f15a247
type: CALLER_ID
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: 5
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 5
afterContactWork: false
email:
autoAnswer: false
multiplicity: 5
afterContactWork: false
voice:
voicePriority: false
autoAnswer: false
afterContactWork: false
cmvoice:
autoAssignExtension: false
locationProfileId: 41c6ef0d-5470-406e-ace2-6dc442b99318
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
links:
prev: /api/admin/user/v1/accounts/ASDJGE/profiles?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/profiles?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
ProfileWrite:
description: A Profile
value:
profileName: Advanced
description: A profile with all the features
uxProfileId: 6f482dcd-54a9-445f-ba6d-8ca5ebd5261a
roles:
- Agent
memberOfGroups:
- c8c2909d-75e9-484a-94c0-b7e8d29771fe
resourcePartitions:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
resourcePartitionDefaultResources:
- resourcePartitionId: a8b6d39c-53c5-4d94-a640-c28bee987ed7
defaultResourceId: 620bbb28-7112-433a-af59-17ee0f15a247
type: CALLER_ID
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: 5
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 5
afterContactWork: false
email:
autoAnswer: false
multiplicity: 5
afterContactWork: false
voice:
voicePriority: false
autoAnswer: false
afterContactWork: false
cmvoice:
autoAssignExtension: false
locationProfileId: 41c6ef0d-5470-406e-ace2-6dc442b99318
aci: {}
recorder: {}
outbound: {}
ProfileRead:
description: A Profile with readonly properties included
value:
profileId: TELHGZ
profileName: Advanced
description: A profile with all the features
uxProfileId: 6f482dcd-54a9-445f-ba6d-8ca5ebd5261a
roles:
- Agent
memberOfGroups:
- c8c2909d-75e9-484a-94c0-b7e8d29771fe
resourcePartitions:
- a8b6d39c-53c5-4d94-a640-c28bee987ed7
- opl6d39c-78ui-4d94-qqqq-c28bee987ed7
resourcePartitionDefaultResources:
- resourcePartitionId: a8b6d39c-53c5-4d94-a640-c28bee987ed7
defaultResourceId: 620bbb28-7112-433a-af59-17ee0f15a247
type: CALLER_ID
isDefault: true
features:
matching:
attributes:
- Language.English
- Language.French
queues:
- queueId: c8c2909d-75e9-484a-94c0-b7e8d29771fe
proficiency: 10
- queueId: 07d2c0a3-f05c-47e7-a86e-51148d3d4fd4
proficiency: 6
chat:
autoAnswer: false
multiplicity: 5
afterContactWork: false
messaging:
autoAnswer: false
multiplicity: 5
afterContactWork: false
email:
autoAnswer: false
multiplicity: 5
afterContactWork: false
voice:
voicePriority: false
autoAnswer: false
afterContactWork: false
cmvoice:
autoAssignExtension: false
locationProfileId: 41c6ef0d-5470-406e-ace2-6dc442b99318
aci: {}
recorder: {}
outbound: {}
advancedcmvoice: {}
UXProfiles:
description: List of UX Profiles
value:
- uxProfileId: c8c2909d-75e9-484a-94c0-b7e8d30771ee
uxProfileName: UX Profile
ProfileStatusesRequest:
description: Request for Profile Statuses
value:
profileIds:
- ABDCEF
- OKIJTH
ProfileStatuses:
description: Status of profile and features
value:
- action: ADD
status: COMPLETED
message: Feature added successfully
profileId: ABCDEF
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
FailedProfileStatuses:
description: Status of profile and features
value:
- action: ADD
status: FAILED
message: Operation failed
profileId: ABCDEF
features:
matching:
action: ADD
status: FAILED
message: Feature could not be enabled
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 could not be enabled
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 could not be enabled
InProgressProfileStatuses:
description: Status of profile and features
value:
- action: ADD
status: IN_PROGRESS
message: Operation is in progress
profileId: ABCDEF
features:
matching:
action: ADD
status: IN_PROGRESS
message: Operation is in progress
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
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
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
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
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
UserStatusesRequest:
description: Request for User Statuses
value:
userIds:
- 4ffcec98-2206-44b1-94e3-e253abf6a4d2
- 4a83190d-b288-4efe-b3bf-96d5c5c5ae44
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
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
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
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
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
BasicUserInput:
description: Basic user
value:
organizationNodeId: EXMPLE
loginId: stevens@avaya.com
lastName: Stevens
firstName: Alex
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
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: {}
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: {}
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: {}
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: {}
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
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: {}
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
ResourcePartitionsPage:
description: Paginated resource partition Data
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
links:
- prev: /api/admin/user/v1/accounts/ASDJGE/resource-partitions?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/resource-partitions?pageNumber=3&pageSize=10
ResourcePartitionWrite:
description: resource partition
value:
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
ResourcePartitionRead:
description: resource partition
value:
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
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
SearchAuditRecordsRequest:
value:
startDate: '2021-11-13T20:25:39.534Z'
endDate: '2021-11-15T16:07:12.723Z'
event: CREATED
author: jsmith@example.com
type: PROFILE
ipAddress: 165.225.72.60
searchKeyword: Chris Dunbar
SearchAuditRecordsResponse:
value:
pagination:
pageNumber: 2
pageSize: 5
total: 30
auditRecords:
- date: '2021-11-14T09:24:05.234Z'
event: CREATED
author: jsmith@example.com
ipAddress: 165.225.72.60
type: PROFILE
auditData:
profileId: W6D1JQ
profileName: Advanced
description: A profile with all the features
uxProfileId: 6f482dcd-54a9-445f-ba6d-8ca5ebd5261a
roles:
- Agent
memberOfGroups:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
links:
next: /api/admin/user/v1/accounts/ASDJGE/audit-records:search?pageNumber=1&pageSize=5
prev: /api/admin/user/v1/accounts/ASDJGE/audit-records:search?pageNumber=3&pageSize=5
FirstNameStartWithInput:
value:
filter:
- discriminator: AND
key: firstName
operator: STARTS_WITH
value: Steven
orderBy: firstName desc
FirstNameStartWithANDLastNameEndsWithInput:
value:
filter:
- discriminator: OR
key: firstName
operator: STARTS_WITH
value: Steven
- discriminator: AND
key: lastName
operator: ENDS_WITH
value: Smith
orderBy: firstName desc
FirstNameContainsInput:
value:
filter:
- discriminator: OR
key: firstName
operator: CONTAINS
value: tev
orderBy: firstName desc
EmailIdEqualsInput:
value:
filter:
- discriminator: OR
key: emailId
operator: EQUALS
value: Steven@avaya.com
orderBy: firstName desc
LastNameNotEqualsInput:
value:
filter:
- discriminator: OR
key: lastName
operator: NOT_EQUALS
value: Steff
orderBy: firstName desc
PasswordPolicyRule:
value:
accountId: CJRKXW
length: 8
specialChars: 1
upperCase: 1
lowerCase: 1
digits: 1
repeatConsecutiveChars: 2
consecutiveChars: 4
passwordHistory: 1
notUsername: true
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
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
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.
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.
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.
ErrorTooManyRecords:
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: interval
message: Too many records within the requested time interval.
code: 20007
ErrorProfileNameExists:
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: profileName
message: A profile with this name already exists
ErrorResourcePartitionNameExists:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#conflict
title: Conflict
status: 409
detail: A resource with the same unique constraint values already exists.
violations:
- field: name
message: A resource partition with this name already exists
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
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
BulkAddedUsers:
description: Bulk Users Response
value:
jobId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
url: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe
JobImportDetailsPage:
description: User Jobs
value:
pagination:
pageNumber: 2
pageSize: 10
total: 45
jobs:
- jobId: c8c2909d-75e9-484a-94c0-b7e8d30771ee
status: COMPLETED
name: deleteJobForOrganization
operation: DELETE
startTime: 2020-04-21T17:32:28z
endTime: 2020-04-21T17:40:28z
links:
prev: /api/admin/user/v1/accounts/ASDJGE/jobs?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ASDJGE/jobs?pageNumber=3&pageSize=10
UserImportJobResponse:
description: User Job
value:
operation: ADD
status: COMPLETED
message: import completed
details:
- count: 1300
status: COMPLETED
url: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe/users
totalCount: 1300
startTime: 2020-04-21T17:32:28z
endTime: 2020-04-21T17:40:28z
UserImportFailedJobResponse:
description: User Failed Job
value:
operation: ADD
status: FAILED
message: Import failed
details:
- count: 500
status: COMPLETED
- count: 300
status: FAILED
url: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe/users
totalCount: 800
startTime: 2020-04-21T17:32:28z
endTime: 2020-04-21T17:40:28z
UserImportAbortedJobResponse:
description: User Aborted Job
value:
operation: ADD
status: ABORTED
message: Import aborted
details:
- count: 100
status: ABORTED
- count: 300
status: COMPLETED
url: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe/users
totalCount: 400
startTime: 2020-04-21T17:32:28z
endTime: 2020-04-21T17:40:28z
UserDetailsPage:
description: User import details
value:
pagination:
pageNumber: 2
pageSize: 10
total: 45
users:
- loginId: something@domain.com
userId: c8c2909d-75e9-484a-94c0-b7e8d30771ee
operation: ADD
status: COMPLETED
message: User successfully added
- loginId: steves@domain.com
userId: c7c2909d-75e9-484a-94c0-b7e8d30772dd
operation: ADD
status: IN_PROGRESS
message: Operation is in progress
- loginId: steven@domain.com
userId: b7c2909d-75e9-484a-94c0-b7e8d30771cc
operation: ADD
status: FAILED
message: Invalid member of group provided
links:
prev: /api/admin/user/v1/accounts/ABCDEF/jobs/importUserList1/users?pageNumber=1&pageSize=10
next: /api/admin/user/v1/accounts/ABCDEF/jobs/importUserList1/users?pageNumber=3&pageSize=10
UserJobsIdsToDelete:
description: User Job ids to delete
value:
jobIds:
- 04703a3a-3dfb-4606-ae79-fd0fe0be3e64
- 03703a3a-3dfb-4606-ae79-fd0fe0be3e53
UsersExportResponse:
description: User export
value:
jobId: c8c2909d-75e9-484a-94c0-b7e8d30771fe
url: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe:downloadExportedUsers
JobStopResponse:
description: Job stop response
value:
url: /api/admin/user/v1/accounts/ABCDEF/jobs/c8c2909d-75e9-484a-94c0-b7e8d30771fe
ErrorJobNameExists:
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: jobName
message: A job with this name already exists