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.

You can’t create or update users with roles that have greater permissions than those of your role. If, for example, your role is Supervisor, you cannot add a new user with the Administrator role.

email 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 Skylight 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.

email 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 Skylight 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.