openapi: 3.2.0 info: title: Admin - User Profile API description: 'The User APIs are use to create, update and retrieve information about User and Profiles. The Bulk User APIs are use to perform operations on users and jobs in bulk. User Services support add, update, delete users in bulk and delete multiple jobs. User Services will support multiple ways to provision Users/Agents 1. Programmatic Interface (Rest APIs) 2. User Interface' 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 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 security: - {} - BearerAuth: [] AppKey: [] tags: - 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. paths: /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.** Creates a profile. Profiles can be created with single or multiple features. The following fields must be unique otherwise a `HTTP 409 Conflcit` will be returned: * `profileName` Changes to the fields: * `features` Will trigger asynchronous updates, the status of which should be monitored via `/profiles:listStatuses`.' 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.** Updates a profile. The following fields must be unique otherwise a `HTTP 409 Conflcit` will be returned: * `profileName` This operation will clear the value stored for any fields not present in the request. For example, to remove a feature such as `voice` from a user you should omit the `voice` field in the request. The same behavior applies to every field in the request. Changes to the fields: * `features` Will trigger asynchronous updates, the status of which should be monitored via `/profiles:listStatuses`.' 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' components: schemas: 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: type: - integer - 'null' minimum: 1 maximum: 3600 description: 'The ACW timer expiry in terms of the specified units. ' example: 10 afterContactWorkOverrideQueue: type: boolean description: user afterContactWork overrides queue setting example: false 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 Role: description: User Role type: string maxLength: 40 example: Agent 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' 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. 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 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 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: type: - integer - 'null' minimum: 1 maximum: 3600 description: 'The ACW timer expiry in terms of the specified units. ' example: 10 afterContactWorkOverrideQueue: type: boolean description: user afterContactWork overrides queue setting example: false Problem: type: object description: 'Problem Detail as a way to carry machine-readable details of errors in a HTTP response to avoid the need to define new error response formats for HTTP APIs RFC 7807 ' properties: type: type: string format: uri description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ' default: about:blank example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation title: type: - string - 'null' description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized). ' example: Service Unavailable status: type: - integer - 'null' format: int32 description: 'The HTTP status code generated by the origin server for this occurrence of the problem. ' minimum: 100 example: 503 exclusiveMaximum: 600 detail: type: - string - 'null' description: 'A human readable explanation specific to this occurrence of the problem. ' example: Connection to database timed out instance: type: - string - 'null' format: uri description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ' violations: type: - array - 'null' description: 'A list of violations that occurred as a result of invalid data provided as part of a request. ' items: type: object properties: field: type: string description: 'The name of the field in the request that caused the violation. This can be the name of a path parameter, query parameter, or a field within the request body. ' example: accountId message: type: string description: 'A human readable explanation specific to this occurrence of the violation. ' example: must match "^[a-zA-Z]{6}$" code: type: integer format: int32 description: 'The violation code generated by the server for this occurrence of the violation. Use this code when implementing any error handling logic instead of the message, as the message can change. ' example: 20006 example: - field: emailAddress message: must not be null code: 20002 - field: accountId message: must match "^[a-zA-Z]{6}$" code: 20006 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 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 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 `{}`. ' 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 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: type: - integer - 'null' minimum: 1 maximum: 3600 description: 'The ACW timer expiry in terms of the specified units. ' example: 10 afterContactWorkOverrideQueue: type: boolean description: user afterContactWork overrides queue setting example: false 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 `{}`. ' AdvancedCMVoiceProfileFeature: type: object description: This model represent Advanced CM voice profile feature data. 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: type: - integer - 'null' minimum: 1 maximum: 3600 description: 'The ACW timer expiry in terms of the specified units. ' example: 10 afterContactWorkOverrideQueue: type: boolean description: user afterContactWork overrides queue setting example: false 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 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' 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. 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' 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' 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' ProfileNameExists: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorProfileNameExists' InternalServer: description: Request processing failed content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorInternalServerError' NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorNotFound' Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/Problem' examples: default: $ref: '#/components/examples/ErrorForbidden' examples: 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 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 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. 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 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. 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: {} 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 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 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 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 ProfileStatusesRequest: description: Request for Profile Statuses value: profileIds: - ABDCEF - OKIJTH 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. parameters: 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\-\_\.\ ]+$ 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 securitySchemes: BearerAuth: type: http scheme: bearer description: This API uses Bearer Token Authorization Flow bearerFormat: JWT AppKey: type: apiKey in: header name: appkey description: This API needs an appKey as header x-explorer-enabled: false x-samples-languages: - curl - node - java - javascript - python - go