Skip to content

Dixa API (beta)

Download OpenAPI description
Languages
Servers
Mock server
https://docs.dixa.io/_mock/openapi/dixa-api/beta
https://dev.dixa.io

Analytics

Operations

Agents

Operations

End Users

Operations

List end users

Request

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

Security
ApiKeyAuth
Query
pageLimitinteger(int32)

Maximum number of results per page. May be used in combination with pageKey to change the number of results in between page requests.

pageKeystring

Base64 encoded form of pagination query parameters. Do not try to construct or change programmatically as the internal structure may change without notice.

emailstring

Filter by the contact's email

phonestring

Filter by the contact's phone number

externalIdstring

Filter by the contact's external id

curl -i -X GET \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers?pageLimit=0&pageKey=string&email=string&phone=string&externalId=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

The list of end users

Bodyapplication/json
dataArray of objects(EndUser)
metaobject(PaginationLinks)
Response
application/json
{ "data": [ { … }, { … }, { … }, { … } ] }

Update end users

Request

Bulk update end users.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

List of end user update actions

dataArray of objects(BulkUpdateEndUserInput)
curl -i -X PUT \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -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"
      }
    ]
  }'

Responses

The updated end users

Bodyapplication/json
dataArray of BulkActionFailure_BulkError_EndUser (object) or BulkActionSuccess_BulkError_EndUser (object)(BulkActionOutcome_BulkError_EndUser)
Response
application/json
{ "data": [ { … }, { … } ] }

Create end user

Request

Create an end user.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

The end user's details

displayNamestring

The contact's display name

emailstring

The contact's primary email address

phoneNumberstring

The contact's primary phone number

additionalEmailsArray of stringsunique

Additional email addresses for the contact

additionalPhoneNumbersArray of stringsunique

Additional phone numbers for the contact

firstNamestring

The contact's first name

lastNamestring

The contact's last name

middleNamesArray of strings

The contact's middle names

avatarUrlstring

The url from which to load the contact's avatar

externalIdstring

Custom external identifier for the contact

curl -i -X POST \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -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"
  }'

Responses

The created end user

Bodyapplication/json
dataobject(EndUser)required
data.​idstring(uuid)required

Unique identifier for the contact

data.​createdAtstring(date-time)required

Time when the contact was created

data.​displayNamestring

The contact's display name

data.​emailstring

The contact's primary email address

data.​phoneNumberstring

The contact's primary phone number

data.​additionalEmailsArray of stringsunique

Additional email addresses for the contact

data.​additionalPhoneNumbersArray of stringsunique

Additional phone numbers for the contact

data.​firstNamestring

The contact's first name

data.​lastNamestring

The contact's last name

data.​middleNamesArray of strings

The contact's middle names

data.​avatarUrlstring

The url from which to load the contact's avatar

data.​externalIdstring

Custom external identifier for the contact

data.​customAttributesArray of objects(CustomAttribute)

Custom attributes for the contact

Response
application/json
{ "data": { "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b", "createdAt": "2020-12-16T09:41:43Z", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ … ], "additionalPhoneNumbers": [ … ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "https://files.dixa.io/public/image_id", "externalId": "#12345678", "customAttributes": [ … ] } }

Patch end users

Request

Bulk patch end users.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

List of end user patch actions

dataArray of objects(BulkPatchEndUserInput)
curl -i -X PATCH \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -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"
      }
    ]
  }'

Responses

The patched end users

Bodyapplication/json
dataArray of BulkActionFailure_BulkError_EndUser (object) or BulkActionSuccess_BulkError_EndUser (object)(BulkActionOutcome_BulkError_EndUser)
Response
application/json
{ "data": [ { … }, { … } ] }

Create end users

Request

Create multiple end users in a single bulk action

Security
ApiKeyAuth
Bodyapplication/jsonrequired

The list of end user details

dataArray of objects(CreateEndUserInput)
curl -i -X POST \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/bulk \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -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"
      }
    ]
  }'

Responses

The created end users

Bodyapplication/json
dataArray of BulkActionFailure_BulkError_EndUser (object) or BulkActionSuccess_BulkError_EndUser (object)(BulkActionOutcome_BulkError_EndUser)
Response
application/json
{ "data": [ { … }, { … }, { … }, { … }, { … } ] }

Get end user

Request

Get an end user by id.

Security
ApiKeyAuth
Path
userIdstring(uuid)required

The end user id

curl -i -X GET \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/{userId}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

The end user

Bodyapplication/json
dataobject(EndUser)required
data.​idstring(uuid)required

Unique identifier for the contact

data.​createdAtstring(date-time)required

Time when the contact was created

data.​displayNamestring

The contact's display name

data.​emailstring

The contact's primary email address

data.​phoneNumberstring

The contact's primary phone number

data.​additionalEmailsArray of stringsunique

Additional email addresses for the contact

data.​additionalPhoneNumbersArray of stringsunique

Additional phone numbers for the contact

data.​firstNamestring

The contact's first name

data.​lastNamestring

The contact's last name

data.​middleNamesArray of strings

The contact's middle names

data.​avatarUrlstring

The url from which to load the contact's avatar

data.​externalIdstring

Custom external identifier for the contact

data.​customAttributesArray of objects(CustomAttribute)

Custom attributes for the contact

Response
application/json
{ "data": { "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b", "createdAt": "2020-12-16T09:41:43Z", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ … ], "additionalPhoneNumbers": [ … ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "https://files.dixa.io/public/image_id", "externalId": "#12345678", "customAttributes": [ … ] } }

Update end user

Request

Update an end user.

Security
ApiKeyAuth
Path
userIdstring(uuid)required

The end user id

Bodyapplication/jsonrequired

The updated details for an end user

displayNamestringrequired
emailstring
phoneNumberstring
additionalEmailsArray of stringsunique
additionalPhoneNumbersArray of stringsunique
firstNamestring
lastNamestring
middleNamesArray of strings
avatarUrlstring
externalIdstring
curl -i -X PUT \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/{userId}' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -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"
  }'

Responses

The updated end user

Bodyapplication/json
dataobject(EndUser)required
data.​idstring(uuid)required

Unique identifier for the contact

data.​createdAtstring(date-time)required

Time when the contact was created

data.​displayNamestring

The contact's display name

data.​emailstring

The contact's primary email address

data.​phoneNumberstring

The contact's primary phone number

data.​additionalEmailsArray of stringsunique

Additional email addresses for the contact

data.​additionalPhoneNumbersArray of stringsunique

Additional phone numbers for the contact

data.​firstNamestring

The contact's first name

data.​lastNamestring

The contact's last name

data.​middleNamesArray of strings

The contact's middle names

data.​avatarUrlstring

The url from which to load the contact's avatar

data.​externalIdstring

Custom external identifier for the contact

data.​customAttributesArray of objects(CustomAttribute)

Custom attributes for the contact

Response
application/json
{ "data": { "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b", "createdAt": "2020-12-16T09:41:43Z", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ … ], "additionalPhoneNumbers": [ … ], "firstName": "Alice", "lastName": "Brown", "middleNames": [ … ], "avatarUrl": "https://files.dixa.io/public/image_id", "externalId": "#12345678", "customAttributes": [ … ] } }

Patch end user

Request

Patch an end user.

Security
ApiKeyAuth
Path
userIdstring(uuid)required

The end user id to be patched

Bodyapplication/jsonrequired

The end user patch

displayNamestring
emailstring
phoneNumberstring
additionalEmailsArray of stringsunique
additionalPhoneNumbersArray of stringsunique
firstNamestring
lastNamestring
middleNamesArray of strings
avatarUrlstring
externalIdstring
curl -i -X PATCH \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/{userId}' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -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"
  }'

Responses

The patched end user

Bodyapplication/json
dataobject(EndUser)required
data.​idstring(uuid)required

Unique identifier for the contact

data.​createdAtstring(date-time)required

Time when the contact was created

data.​displayNamestring

The contact's display name

data.​emailstring

The contact's primary email address

data.​phoneNumberstring

The contact's primary phone number

data.​additionalEmailsArray of stringsunique

Additional email addresses for the contact

data.​additionalPhoneNumbersArray of stringsunique

Additional phone numbers for the contact

data.​firstNamestring

The contact's first name

data.​lastNamestring

The contact's last name

data.​middleNamesArray of strings

The contact's middle names

data.​avatarUrlstring

The url from which to load the contact's avatar

data.​externalIdstring

Custom external identifier for the contact

data.​customAttributesArray of objects(CustomAttribute)

Custom attributes for the contact

Response
application/json
{ "data": { "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b", "createdAt": "2020-12-16T09:41:43Z", "displayName": "Alice Brown", "email": "alice@brown.com", "phoneNumber": "+551155256325", "additionalEmails": [ … ], "additionalPhoneNumbers": [ … ], "firstName": "Alice", "lastName": "Brown", "middleNames": [], "avatarUrl": "https://files.dixa.io/public/image_id", "externalId": "#12345678", "customAttributes": [ … ] } }

Anonymize end user

Request

Request the anonymization of an end user.

Security
ApiKeyAuth
Path
userIdstring(uuid)required

The id of the end user to anonymize

Query
forceboolean

Whether to force close all the conversations initiated by the end user, if any are found in a non closed state.

Default false
curl -i -X PATCH \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/{userId}/anonymize?force=false' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

The end user's anonymization request status

Bodyapplication/json
dataobject(AnonymizationRequestStatus)required
data.​idstring(uuid)required
data.​_typestringrequired

values: [Conversation, Message, User]

data.​initiatedAtstring(date-time)required
data.​targetEntityIdstringrequired
data.​requestedBystring(uuid)required
data.​processedAtstring(date-time)
data.​entityTypeConversationAnonymizationType (object) or MessageAnonymizationType (object) or UnknownAnonymizationType (object) or UserAnonymizationType (object)(DeprecatedAnonymizationType)Deprecatedrequired

Replaced by _type field

One of:
Deprecated

Replaced by _type field

object(ConversationAnonymizationType)
Response
application/json
{ "data": { "id": "6bf55369-a670-4e6b-9f70-ecdb9913549f", "entityType": "UserAnonymizationType", "_type": "User", "initiatedAt": "2021-12-01T12:46:36.581Z[GMT]", "targetEntityId": "f28fafd6-2e42-4441-943c-388a8e0ef433", "requestedBy": "2b01e4c9-0c3a-47d4-9462-cd5a1a4687f5" } }

Patch end user custom attributes

Request

Patch custom attributes of an end user

Security
ApiKeyAuth
Path
userIdstring(uuid)required
Bodyapplication/jsonrequired

The 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].

property name*Array of strings or stringadditional property

AttributeValue values: String[] if the type of the custom attribute is Select or String if the type of the custom attribute is Text

One of:

AttributeValue values: String[] if the type of the custom attribute is Select or String if the type of the custom attribute is Text

curl -i -X PATCH \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/{userId}/custom-attributes' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "274e5a2c-be0d-42c0-b725-3dd533729f68": "abcdef",
    "befae0d9-9679-42b9-af76-e76f64e28429": [
      "example1",
      "example2"
    ]
  }'

Responses

The patched end user attributes

Bodyapplication/json
dataArray of objects(CustomAttribute)
Response
application/json
{ "data": [ { … }, { … } ] }

List end user conversations

Request

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

Security
ApiKeyAuth
Path
userIdstring(uuid)required
Query
pageLimitinteger(int32)

Maximum number of results per page. May be used in combination with pageKey to change the number of results in between page requests.

pageKeystring

Base64 encoded form of pagination query parameters. Do not try to construct or change programmatically as the internal structure may change without notice.

curl -i -X GET \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/endusers/{userId}/conversations?pageLimit=0&pageKey=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

The list of conversations requested by an EndUser

Bodyapplication/json
dataArray of AnonymizedConversation (object) or ChatConversation (object) or ContactFormConversation (object) or EmailConversation (object) or FacebookMessengerConversation (object) or GenericConversation (object) or MessengerConversation (object) or PstnPhoneConversation (object) or SmsConversation (object) or TwitterConversation (object) or WhatsAppConversation (object)(Conversation)
metaobject(PaginationLinks)
Response
application/json
{ "data": [ { … } ] }

Chatbots

Operations

Anonymization

Operations

Custom Attributes

Operations

Teams

Operations

Conversations

Operations

Messages

Operations

Internal Notes

Operations

Ratings

Operations

Tags

Operations

Queues

Operations

Contact Endpoints

Operations

Webhooks

Operations

Templates

Operations

Business Hours

Operations

Knowledge

Operations

Organization

Operations