Operations related to profile management: Create, Get, Update, Delete, List profiles.
Developer Guide
For detailed implementation instructions, core concepts, and best practices, see the Profiles Developer Guide.
Create and manage profiles that define baseline permissions, queues, spaces, and configuration for the users assigned to them, keeping large groups of agents consistent without configuring each one individually.
Endpoints
Create Profile
POST /profiles
Creates a new profile with a license type and baseline configuration. Any block you omit (permissions, queues, spaces, attributes) is filled in with the license type's defaults.
List Profiles
GET /profiles
Lists profiles in the account, with pagination, filtering, sorting, folder scoping, and date-range filtering.
Get Profile
GET /profiles/{profileId}
Retrieves the full configuration of a single profile, including permissions, queues, spaces, attributes, and CRM configuration.
Delete Profile
DELETE /profiles/{profileId}
Permanently deletes a profile. The profile must have no users currently assigned to it.
Update Profile
PATCH /profiles/{profileId}
Updates one or more fields on a profile. Changes are propagated to assigned users through a background sync job that preserves each user's individual overrides.
Get Profile Users with Override Status
GET /profiles/{profileId}/users
Lists the users assigned to a profile, including which fields each user has overridden from the profile's defaults.
Getting Started
Find Your Customer Subdomain
Your subdomain is found in your Infinity portal URL and is required for all API calls.
Example: If your portal URL is:
https://core.avaya1234.ec.avayacloud.com/app/core-config-ui/
Your subdomain is: avaya1234
All API requests use this format:
https://core.{customer-subdomain}.ec.avayacloud.com/api/config/v1/...
Authentication
All endpoints require Bearer token authentication. Generate your access token using the Access Token API. Profile endpoints require the Account Administrator role.
License Types and Overrides
Every profile has a license type (for example omniChannelAgent) that determines its starting permissions, interaction-space counts, and queue configuration. Once a user is created from a profile, any change made directly on that user is tracked as an override rather than a profile edit — the profile exposes both an aggregate count (numUsersWithOverrides) and a per-user breakdown (overriddenFields) so you can see exactly where reality has diverged from the template.
A profile supports at most 500 assigned users. Creating or moving a 501st user onto a profile is rejected with a 422.
Common Integration Patterns
Template and Assign - Create a profile once with the configuration you want, then create every user against it so they inherit a consistent baseline instead of being configured one field at a time.
Update and Propagate - PATCH the profile, then poll the returned sync job until it reaches SYNCED. Fields a user has personally overridden are left untouched during this sync.
Audit and Reconcile - Call GET /profiles/{profileId}/users with hasOverrides=true to find users who've drifted from the profile's defaults, then decide whether to leave their overrides in place or force-sync them back to the template.
