Create a User on the Platform
You can make a POST request to create a user account on the CxEngage platform. You can also use this request to bulk load multiple users. This user account includes platform-level user information that is not specific to a tenant. If the user already has a platform account and you want to invite the user to a tenant, refer to the instructions to Invite a User to a Tenant.
You'll need MANAGE_ALL_USERS permission permissions to perform this operation.
Request
Sample request
The request below creates a user on the platform:
curl -X POST https://api.cxengage.net/v1/users -d '
{
"email": "bjones@email.com",
"roleId": "d68381b0-c8fa-11e5-b38c-5347eb4882ad",
"firstName": "Bob",
"lastName": "Jones",
"externalId": "",
"status": "enabled",
"personalTelephone": null,
"additionalRoleIds": []
}
Request parameters
The table below lists the parameters you can include in a request:
| Parameter | Required? | Type | Description | ||
|---|---|---|---|---|---|
| roleId | yes | UUID |
The unique identifier of the platform role for the user. To get a list of platform user roles, use the Get a list of all platform roles.
|
||
| yes | string | The user's email address. | |||
| firstName | no | string |
The user’s first name. |
||
| lastName | no | string |
The user’s last name. |
||
| externalId | no | string |
The agent’s ID from a third-party system like Salesforce. Only include the externalID if you’re using CxEngage with a third-party system. |
||
| status | no | boolean | The current state of the invitation — pending, invited, or accepted. | ||
| personalTelephone | no | UUID |
The user’s personal telephone number. This is not their extension for taking calls in the agent experience tools. All telephone numbers must be E.164 format — for example, +14162221122. |
||
| additionalRoleIds | no | array | An array of unique identifier for all the role IDs that are configured for the user. |
Response
Sample response
The request returns JSON structured like the example below:
{
"result": {
"aliasPlatformUserId": "533",
"email": "bjones@email.com",
"defaultTenant": null,
"createdBy": "22b27350-fad0-11e5-aed6-5347eb4882ad",
"additionalRoleIds": [],
"personalTelephone": null,
"updated": "2018-06-12T03:55:09Z",
"resetPasswordExpiryDate": "2016-08-19T19:57:08Z",
"firstName": "Bob",
"created": "2016-06-16T13:10:32Z",
"hasPassword": true,
"externalId": "",
"updatedBy": "b4aaa3a0-33c3-11e6-af8f-5347eb4882ad",
"status": "enabled",
"id": "b4aaa3a0-33c3-11e6-af8f-5347eb4882ad",
"lastName": "Jones",
"roleId": "d68381b0-c8fa-11e5-b38c-5347eb4882ad"
}
}
Response parameters
The response includes the following parameters:
| Parameter | Type | Description |
|---|---|---|
| aliasPlatformUserId | string |
A unique integer that identifies the user for third-party integrations and reporting services. |
| string |
The user’s email address. |
|
| defaultTenant | UUID |
The unique identifier of the default platform tenant. |
| createdBy | UUID | The unique identifier of the user who created this user. |
| additionalRoleIds | UUID | An array of unique identifier for all the role IDs that are configured for the user. |
| personalTelephone | string | The user’s personal telephone number. This is not their extension for taking calls in the agent experience tools. All telephone numbers must be E.164 format — for example, +14162221122. |
| updated | string | The date and time, in UTC format, when the user was last updated. |
| resetPasswordExpiryDate | string | The date and time (in UTC) when the user invitation expires if the user doesn't accept the invitation. |
| firstName | string | The user’s first name. |
| created | string | The date and time, in UTC format, when the user record was created. |
| externalId | UUID | The user’s ID from an external system, like a payroll or human resource management system. |
| updatedBy | UUID | The ID of the user who last updated the invitation. |
| status | boolean | The current state of the invitation — pending, invited, or accepted. |
| id | UUID | The user's unique identifier. |
| lastName | string | The user’s last name. |
| roleId | UUID | The unique identifier of the platform role for the user. |
What to Do Next
This request adds an account for the user but doesn't assign the user to a tenant. After adding the user account, you must assign the user to a tenant by using the Invite a user to a tenant request with the status parameter set to accept.
Copyright © 2025 Enghouse Interactive. All Rights Reserved.