End Users
Lists all end users in an organization. It is possible to filter by one of the mutually exclusive parameters: email or phone number. In case both are provided, an error is returned.
Note: Custom attributes are not part of the response at this point. If you need to get custom attributes for a user use the GET /endusers/{userId} endpoint
ApiKeyAuthAuthorization<token>pageLimit?integerMaximum number of results per page. May be used in combination with pageKey to change the number of results in between page requests.
int32pageKey?stringBase64 encoded form of pagination query parameters. Do not try to construct or change programmatically as the internal structure may change without notice.
email?stringFilter by the contact's email
phone?stringFilter by the contact's phone number
externalId?stringFilter by the contact's external id
The list of end users
application/json- response
data?array<>meta?curl -X GET 'https://dev.dixa.io/beta/endusers' \ -H 'Authorization: <API token>'Bulk update end users.
ApiKeyAuth organization.memberAuthorization<token>Scope: organization.member
List of end user update actions
application/json- body
data?array<>The updated end users
application/json- response
data?array<|>curl -X PUT 'https://dev.dixa.io/beta/endusers' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "data": [ { "id": "d4826125-559f-496f-ad71-a0340f0cae06", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ "alice@secondary.email" ], "additionalPhoneNumbers": [ "+5566778899" ], "firstName": "Alice", "lastName": "Brown", "middleNames": [ "J." ], "avatarUrl": "http://avatar.url", "externalId": "#12345678" } ]}'Create an end user.
ApiKeyAuth organization.memberAuthorization<token>Scope: organization.member
The end user's details
application/json- body
displayName?stringThe contact's display name
email?stringThe contact's primary email address
phoneNumber?stringThe contact's primary phone number
additionalEmails?array<string>Additional email addresses for the contact
additionalPhoneNumbers?array<string>Additional phone numbers for the contact
firstName?stringThe contact's first name
lastName?stringThe contact's last name
middleNames?array<string>The contact's middle names
avatarUrl?stringThe url from which to load the contact's avatar
externalId?stringCustom external identifier for the contact
The created end user
application/json- response
data*curl -X POST 'https://dev.dixa.io/beta/endusers' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ "alice@secondary.email" ], "additionalPhoneNumbers": [ "+5566778899" ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "http://avatar.url", "externalId": "#12345678"}'Bulk patch end users.
ApiKeyAuth organization.memberAuthorization<token>Scope: organization.member
List of end user patch actions
application/json- body
data?array<>The patched end users
application/json- response
data?array<|>curl -X PATCH 'https://dev.dixa.io/beta/endusers' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "data": [ { "id": "43b1fe06-a7c4-4f34-8e48-b0559e6acdb9", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ "alice@secondary.email" ], "additionalPhoneNumbers": [ "+5566778899" ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "http://avatar.url", "externalId": "#12345678" } ]}'Create multiple end users in a single bulk action
ApiKeyAuth organization.memberAuthorization<token>Scope: organization.member
The list of end user details
application/json- body
data?array<>The created end users
application/json- response
data?array<|>curl -X POST 'https://dev.dixa.io/beta/endusers/bulk' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "data": [ { "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [], "additionalPhoneNumbers": [], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "http://avatar.url", "externalId": "#12345678" } ]}'Get an end user by id.
ApiKeyAuthAuthorization<token>userId*stringThe end user id
uuidThe end user
application/json- response
data*curl -X GET 'https://dev.dixa.io/beta/endusers/{userId}' \ -H 'Authorization: <API token>'Update an end user.
ApiKeyAuth organization.memberAuthorization<token>Scope: organization.member
userId*stringThe end user id
uuidThe updated details for an end user
application/json- body
displayName*stringemail?stringphoneNumber?stringadditionalEmails?array<string>additionalPhoneNumbers?array<string>firstName?stringlastName?stringmiddleNames?array<string>avatarUrl?stringexternalId?stringThe updated end user
application/json- response
data*curl -X PUT 'https://dev.dixa.io/beta/endusers/{userId}' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ "alice@secondary.email" ], "additionalPhoneNumbers": [ "+5566778899" ], "firstName": "Alice", "lastName": "Brown", "middleNames": [ "J." ], "avatarUrl": "http://avatar.url", "externalId": "#12345678"}'Patch an end user.
ApiKeyAuth organization.memberAuthorization<token>Scope: organization.member
userId*stringThe end user id to be patched
uuidThe end user patch
application/json- body
displayName?stringemail?stringphoneNumber?stringadditionalEmails?array<string>additionalPhoneNumbers?array<string>firstName?stringlastName?stringmiddleNames?array<string>avatarUrl?stringexternalId?stringThe patched end user
application/json- response
data*curl -X PATCH 'https://dev.dixa.io/beta/endusers/{userId}' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ "alice@secondary.email" ], "additionalPhoneNumbers": [ "+5566778899" ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "http://avatar.url", "externalId": "#12345678"}'Request the anonymization of an end user.
ApiKeyAuth anonymizationAuthorization<token>Scope: anonymization
userId*stringThe id of the end user to anonymize
uuidforce?booleanWhether to force close all the conversations initiated by the end user, if any are found in a non closed state.
falseThe end user's anonymization request status
application/json- response
data*curl -X PATCH 'https://dev.dixa.io/beta/endusers/{userId}/anonymize' \ -H 'Authorization: <API token>'Patch custom attributes of an end user
ApiKeyAuth contact.custom_attributeAuthorization<token>Scope: contact.custom_attribute
userId*stringuuidThe custom attributes of an end user to be patched. This should map the custom attribute id to the desired attribute value. Format: Map[UUID, Option[AttributeValue].
application/json- body
[key: string]?array<string>|AttributeValue values: String[] if the type of the custom attribute is Select or String if the type of the custom attribute is Text
The patched end user attributes
application/json- response
data?array<>curl -X PATCH 'https://dev.dixa.io/beta/endusers/{userId}/custom-attributes' \ -H 'Authorization: <API token>' \ -H 'Content-Type: application/json' \ -d '{ "274e5a2c-be0d-42c0-b725-3dd533729f68": "abcdef", "befae0d9-9679-42b9-af76-e76f64e28429": [ "example1", "example2" ]}'Lists conversations requested by an end user.
Note: Custom attributes are not part of the response at this point. If you need to get custom attributes for a conversation use the GET /conversations/{conversationId} endpoint
ApiKeyAuthAuthorization<token>userId*stringuuidpageLimit?integerMaximum number of results per page. May be used in combination with pageKey to change the number of results in between page requests.
int32pageKey?stringBase64 encoded form of pagination query parameters. Do not try to construct or change programmatically as the internal structure may change without notice.
The list of conversations requested by an EndUser
application/json- response
data?array<||||||||||>meta?curl -X GET 'https://dev.dixa.io/beta/endusers/{userId}/conversations' \ -H 'Authorization: <API token>'