Dixa

Customer service platform

docs.dixa.io ↗
Version
v1
OpenAPI
3.0.3
Endpoints
84
Schemas
299
87
Quality
Updated
3 days ago
Customer support customer-support messaging
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://dev.dixa.io

Endpoints

Agents 12 endpoints

GET /v1/agents

Lists all agents/admins 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.

operationId: Agents_list

Parameters

Name In Required Type Description
pageLimit query optional integer

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

pageKey query optional string

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

email query optional string

The agent/admin email filter

phone query optional string

The agent/admin phone number filter

Responses

200

The list of agents/admins

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey, Invalid value for: query parameter email, Invalid value for: query parameter phone, Duplicate phone number, Duplicate email address, Invalid filters: Cannot provide both phone number and email address

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/agents
PATCH /v1/agents

Bulk patch agents/admins.

operationId: Agents_bulkPatch

Request Body

List of agent/admin patch actions

application/json
schema AgentsBulkPatchRequest
array of object
Property Type Required
id string required
lastName string optional
avatarUrl string optional
firstName string optional
displayName string optional
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

200

The list of patch action outcomes

400

Invalid value extracted from request context, Invalid value for: body

500

Internal failure during request processing

PATCH /v1/agents
POST /v1/agents

Create an agent.

operationId: Agents_createAgent

Request Body

required

The agent’s details

application/json
schema CreateAgentInput
Property Type Required
email string required
lastName string optional
avatarUrl string optional
firstName string optional
displayName string required
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

201

The created agent

400

Invalid value extracted from request context, Invalid value for: body, Validation failure during agent creation

500

Internal failure during request processing

POST /v1/agents
PUT /v1/agents

Bulk update agents/admins.

operationId: Agents_updateBulk

Request Body

The list of agent/admin update actions

application/json
schema AgentsUpdateBulkRequest
array of object
Property Type Required
id string required
lastName string optional
avatarUrl string optional
firstName string optional
displayName string required
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

200

The list of update action outcomes

400

Invalid value extracted from request context, Invalid value for: body

500

Internal failure during request processing

PUT /v1/agents
POST /v1/agents/bulk

Create agents in bulk.

operationId: Agents_createBulk

Request Body

required

The list of agent’s details

application/json
schema CreateAgentsInput
Property Type Required
data array optional
email string required
lastName string optional
avatarUrl string optional
firstName string optional
displayName string required
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

201

The created agents

400

Invalid value extracted from request context, Invalid value for: body

500

Internal failure during request processing

POST /v1/agents/bulk
GET /v1/agents/presence

List the presence status for all agents/admins in an organization.

operationId: Agents_listPresence

Responses

200

The list of presence status for all agents/admins

400

Invalid value extracted from request context

500

Internal failure during request processing

GET /v1/agents/presence
DELETE /v1/agents/{agentId}

Downgrade an agent/admin to become an end user.

operationId: Agents_downgradeAgent

Parameters

Name In Required Type Description
agentId path required string

The agent/admin id

Responses

204

The agent/admin was successfully downgraded to end user

400

Invalid value for: path parameter agentId, Invalid value extracted from request context, Validation failure during delete processing

404

An entity in this request could not be found

DELETE /v1/agents/{agentId}
GET /v1/agents/{agentId}

Get an agent/admin by id.

operationId: Agents_getById

Parameters

Name In Required Type Description
agentId path required string

The agent/admin id

Responses

200

The agent/admin

400

Invalid value for: path parameter agentId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/agents/{agentId}
PATCH /v1/agents/{agentId}

Patch an agent/admin.

operationId: Agents_updateAdmin

Parameters

Name In Required Type Description
agentId path required string

The agent/admin id

Request Body

required

The agent/admin patch

application/json
schema PatchAgentInput
Property Type Required
lastName string optional
avatarUrl string optional
firstName string optional
displayName string optional
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

200

The patched agent/admin

400

Invalid value for: path parameter agentId, Invalid value extracted from request context, Invalid value for: body, Validation failure during update

404

An entity in this request could not be found

500

Internal failure during request processing

PATCH /v1/agents/{agentId}
PUT /v1/agents/{agentId}

Update an agent/admin.

operationId: Agents_updateAgentAdmin

Parameters

Name In Required Type Description
agentId path required string

The agent id

Request Body

required

The updated details for an agent/admin

application/json
schema UpdateAgentInput
Property Type Required
lastName string optional
avatarUrl string optional
firstName string optional
displayName string required
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

200

The updated agent/admin

400

Invalid value for: path parameter agentId, Invalid value extracted from request context, Invalid value for: body, Validation failure during update

404

An entity in this request could not be found

500

Internal failure during request processing

PUT /v1/agents/{agentId}
GET /v1/agents/{agentId}/presence

Get the presence status for an agent/admin.

operationId: Agents_getPresence

Parameters

Name In Required Type Description
agentId path required string

The agent/admin id

Responses

200

The agent/admin presence status

400

Invalid value for: path parameter agentId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/agents/{agentId}/presence
GET /v1/agents/{agentId}/teams

List the teams in which the agent/admin is a member.

operationId: Agents_listTeams

Parameters

Name In Required Type Description
agentId path required string

The agent/admin id

Responses

200

The list of teams in which the agent/admin is a member

400

Invalid value for: path parameter agentId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/agents/{agentId}/teams

Analytics 7 endpoints

GET /v1/analytics/filter/{filterAttribute}

Get possible values to be used with a given filter attribute. Filter attributes are not metric or record specific, so one filter attribute can be used with multiple metrics/records. When a filter value is not relevant for a specific metric/record, it is simply ignored.

operationId: Analytics_filterValues

Parameters

Name In Required Type Description
filterAttribute path required string
pageLimit query optional integer

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

pageKey query optional string

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

Responses

200

The possible filter values to be used when fetching metrics or records

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey

500

Internal Server Error

GET /v1/analytics/filter/{filterAttribute}
GET /v1/analytics/metrics

This endpoint lists all available metric IDs that can be used to fetch data in Get Metric Data

operationId: Analytics_listMetrics

Parameters

Name In Required Type Description
pageLimit query optional integer

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

pageKey query optional string

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

Responses

200

The catalogue of metrics

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey

500

Internal Server Error

GET /v1/analytics/metrics
POST /v1/analytics/metrics

Get data of a specific metric (aggregated)

operationId: Analytics_getMetricData

Request Body

required

The available request filters and aggregations for fetching the metric data

application/json
schema GetMetricDataInput
Property Type Required
id string required
filters array optional
values array optional
attribute string required
timezone string required
aggregations array optional
periodFilter object required

Responses

200

The metric data

400

Invalid value extracted from request context, Invalid value for: body

500

Internal Server Error

POST /v1/analytics/metrics
GET /v1/analytics/metrics/{metricId}

This endpoint lists all available properties of a metric to use for querying its data

operationId: Analytics_getMetricDescription

Parameters

Name In Required Type Description
metricId path required string

Responses

200

The metric properties

400

Invalid value extracted from request context

500

Internal Server Error

GET /v1/analytics/metrics/{metricId}
GET /v1/analytics/records

This endpoint lists all available record IDs that can be used to fetch data in Get Metric Records Data

operationId: Analytics_listRecords

Parameters

Name In Required Type Description
pageLimit query optional integer

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

pageKey query optional string

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

Responses

200

The catalogue of metric records

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey

500

Internal Server Error

GET /v1/analytics/records
POST /v1/analytics/records

Get data of specific metric records (unaggregated)

operationId: Analytics_getMetricRecordsData

Parameters

Name In Required Type Description
pageLimit query optional integer

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

pageKey query optional string

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

Request Body

required

The available request filters for fetching the metric records data

application/json
schema GetMetricRecordsDataInput
Property Type Required
id string required
filters array optional
values array optional
attribute string required
timezone string required
periodFilter object required

Responses

200

The metric records data

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey, Invalid value for: body

500

Internal Server Error

POST /v1/analytics/records
GET /v1/analytics/records/{recordId}

This endpoint lists all available properties of a record to use for querying its data

operationId: Analytics_getRecordProperties

Parameters

Name In Required Type Description
recordId path required string

Responses

200

The metric record properties

400

Invalid value extracted from request context

500

Internal Server Error

GET /v1/analytics/records/{recordId}

Anonymization 1 endpoints

GET /v1/anonymization/request/{requestId}

Retrieve an anonymization request submitted earlier (user or conversation).

operationId: Anonymization_getStatus

Parameters

Name In Required Type Description
requestId path required string

Responses

200

The anonymization request

400

Invalid value for: path parameter requestId, Invalid value extracted from request context

401

The user who issued the access token used in the request is not authorized to perform the operation

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/anonymization/request/{requestId}

Contactendpoints 2 endpoints

GET /v1/contact-endpoints

List all available contact endpoints in an organization.

operationId: ContactEndpoints_listAll

Parameters

Name In Required Type Description
_type query optional string

An optional contact type can be specified to filter the contact endpoints. If not provided, all types are listed. Possible values: [EmailEndpoint, TelephonyEndpoint]

Responses

200

The list of available contact endpoints

400

Invalid value extracted from request context, Invalid value for: query parameter _type

500

Internal failure during request processing

GET /v1/contact-endpoints
GET /v1/contact-endpoints/{contactEndpointId}

Get contact endpoint by id (email or phone number).

operationId: ContactEndpoints_getById

Parameters

Name In Required Type Description
contactEndpointId path required string

Responses

200

The requested contact endpoint

400

Invalid value extracted from request context, The contactEndpointId is neither a valid email nor a valid E.164 phone number

404

An entity in this request could not be found

GET /v1/contact-endpoints/{contactEndpointId}

Conversations 22 endpoints

POST /v1/conversations

Create a conversation. For inbound messages the author is assumed to be the requester of the conversation (end user). For outbound messages the author is specified using the agentId field.

operationId: Conversations_createNewConversation

Request Body

required

The conversation to create

application/json
schema CreateConversationInput

Responses

201

The id of the created conversation

400

Invalid value extracted from request context, Invalid value for: body, Invalid input for Message, Failure to download attachment, Duplicate externalId, Unsupported ConversationChannel

404

An entity in this request could not be found

500

Internal failure during request processing

POST /v1/conversations
GET /v1/conversations/activitylog

List all activity logs for an organization.

operationId: Conversations_listOrganizationActivityLog

Parameters

Name In Required Type Description
pageLimit query optional integer

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

pageKey query optional string

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

fromDatetime query optional string

Starting date-time filter with ISO 8601 format: yyyy-MM-dd’T’HH:mm:sss’Z’

toDatetime query optional string

Ending date-time filter with ISO 8601 format: yyyy-MM-dd’T’HH:mm:sss’Z’

Responses

200

The full list of activity logs for an organization with pagination

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey, Invalid value for: query parameter fromDatetime, Invalid value for: query parameter toDatetime, Validation failure when retrieving data

500

Internal failure during request processing

GET /v1/conversations/activitylog
GET /v1/conversations/flows

List all conversations flows in an organization.

operationId: Conversations_listFlows

Parameters

Name In Required Type Description
channel query optional string

An optional ConversationChannel can be specified to filter the flows. If not provided, the default channel is PstnPhone. Possible values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Email, ContactForm, Callback, PstnPhone, Messenger]

Responses

200

The list of conversation flows

400

Invalid value extracted from request context, Invalid value for: query parameter channel

500

Internal failure during request processing

GET /v1/conversations/flows
GET /v1/conversations/{conversationId}

Get a conversation by id.

operationId: Conversations_getById

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

The conversation

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/conversations/{conversationId}
GET /v1/conversations/{conversationId}/activitylog

Get the activity log for a conversation by providing the conversation id.

operationId: Conversations_getActivityLog

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

Activity log entries for a conversation

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

500

Internal failure during request processing

GET /v1/conversations/{conversationId}/activitylog
PATCH /v1/conversations/{conversationId}/anonymize

Request the anonymization of a conversation.

operationId: Conversations_anonymizeConversation

Parameters

Name In Required Type Description
conversationId path required integer

the id of the conversation to anonymize

force query optional boolean

Whether to force close the conversation if it is found in a non closed state.

Responses

202

The conversation’s anonymization request status

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: query parameter force

404
409
500
PATCH /v1/conversations/{conversationId}/anonymize
PUT /v1/conversations/{conversationId}/claim

Claim a conversation for a given agent. To avoid taking over assigned conversations, set the force paremeter to false

operationId: Conversations_claimConversation

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

required
application/json
schema ClaimConversationInput
Property Type Required
force boolean optional
agentId string required

Responses

204

The conversation was successfully claimed

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body

404

An entity in this request could not be found

500

Internal failure during request processing

PUT /v1/conversations/{conversationId}/claim
PUT /v1/conversations/{conversationId}/close

Mark a conversation as closed by providing its id.

operationId: Conversations_markClosed

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

An optional agent/admin to close the conversation

application/json
schema CloseConversationInput
Property Type Required
userId string optional

Responses

204

The conversation was successfully closed

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body, User not found, User is not agent/admin

404

An entity in this request could not be found

PUT /v1/conversations/{conversationId}/close
PATCH /v1/conversations/{conversationId}/custom-attributes

Patch custom attributes of a conversation

operationId: Conversations_updateCustomAttributes

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

required

The custom attributes of an conversation to be patched. This should map the custom attribute id to the desired attribute value. Format: Map[UUID, Option[AttributeValue].

application/json
schema Map_UUID_Option_AttributeValue

Responses

200

The patched conversation attributes

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body, Invalid input for patching

401

The user who issued the access token used in the request is not authorized to perform the operation

404

An entity in this request could not be found

PATCH /v1/conversations/{conversationId}/custom-attributes
GET /v1/conversations/{conversationId}/linked

Lists all linked child conversations for the given conversation ID, such as transcripts and side conversations.

operationId: Conversations_listLinked

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

The list of conversations requested by an EndUser

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/conversations/{conversationId}/linked
GET /v1/conversations/{conversationId}/messages

Get all messages for a particular conversation by providing the conversation id. Note that messages in ContactForm conversations can have attributes of "_type": "EmailAttributes" if they are created through a webform, or "_type": "ContactFormAttributes" when created through a chat widget.

operationId: Conversations_listMessages

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

List of messages for a conversation sorted from oldest to newest

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

404

An entity in this request could not be found

GET /v1/conversations/{conversationId}/messages
POST /v1/conversations/{conversationId}/messages

Add a message to a conversation. For inbound messages the author is assumed to be the requester of the conversation (end user). For outbound messages the author is specified using the agentId field. Currently Email, WidgetChat and Messenger channels are supported.

operationId: Conversations_addMessage

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

required

The message to be added to a conversation

application/json
schema CreateMessageInput

Responses

200

The added message

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body, Invalid input for Message, Failure to download attachment, Duplicate externalId, Unsupported ConversationChannel

404

An entity in this request could not be found

500

Internal failure during request processing

POST /v1/conversations/{conversationId}/messages
PATCH /v1/conversations/{conversationId}/messages/{messageId}/anonymize

Request the anonymization of a single message in a conversation.

operationId: Conversations_anonymizeMessage

Parameters

Name In Required Type Description
conversationId path required integer

the id of the conversation in which the message belongs

messageId path required string

the id of the message to anonymize

Responses

202

The message’s anonymization request status

400

Invalid value for: path parameter conversationId, Invalid value for: path parameter messageId, Invalid value extracted from request context

404
409
500
PATCH /v1/conversations/{conversationId}/messages/{messageId}/anonymize
GET /v1/conversations/{conversationId}/notes

Get all internal notes for a particular conversation by providing the conversation id.

operationId: Conversations_listInternalNotes

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

List of internal notes for a conversation sorted from oldest to newest

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/conversations/{conversationId}/notes
POST /v1/conversations/{conversationId}/notes

Create an internal note in a conversation by providing the conversation id.

operationId: Conversations_addInternalNote

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

required

The internal note to create for a conversation

application/json
schema CreateInternalNoteInput
Property Type Required
agentId string optional
message string required
createdAt string optional

Responses

200

The created internal note

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body, Agent was not found, Invalid date format

404

An entity in this request could not be found

500

Internal failure during request processing

POST /v1/conversations/{conversationId}/notes
POST /v1/conversations/{conversationId}/notes/bulk

Create internal notes in a conversation by providing the conversation id.

operationId: Conversations_addInternalNotes

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

required

The list of internal notes to create for a conversation

application/json
schema BulkCreateInternalNoteInput
Property Type Required
data array optional
agentId string optional
message string required
createdAt string optional

Responses

200

The created internal notes

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body

404

An entity in this request could not be found

500

Internal failure during request processing

POST /v1/conversations/{conversationId}/notes/bulk
GET /v1/conversations/{conversationId}/rating

Get the ratings for a particular conversation by providing the conversation id.

operationId: Conversations_listRating

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

List of ratings for a conversation

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/conversations/{conversationId}/rating
PUT /v1/conversations/{conversationId}/reopen

Reopen a conversation and offer it in the same queue. Falls back to the default organization queue if the conversation has no target queue.

operationId: Conversations_reopenConversation

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

An optional agent/admin to reopen the conversation

application/json
schema ReopenConversationInput
Property Type Required
userId string optional

Responses

204

The conversation was successfully reopened and offered in the same queue

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body, User not found, User is not agent/admin

404

An entity in this request could not be found

500

Internal failure during request processing

PUT /v1/conversations/{conversationId}/reopen
GET /v1/conversations/{conversationId}/tags

Get the tags for a particular conversation by providing the conversation id.

operationId: Conversations_listTags

Parameters

Name In Required Type Description
conversationId path required integer

Responses

200

List of tags for a conversation

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/conversations/{conversationId}/tags
DELETE /v1/conversations/{conversationId}/tags/{tagId}

Untag a conversation. You may remove active or inactive tags from a conversation.

operationId: Conversations_untagConversation

Parameters

Name In Required Type Description
conversationId path required integer
tagId path required string

Responses

204

The conversation was successfully untagged

400

Invalid value for: path parameter conversationId, Invalid value for: path parameter tagId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

DELETE /v1/conversations/{conversationId}/tags/{tagId}
PUT /v1/conversations/{conversationId}/tags/{tagId}

Tag a conversation. You may only use active tags to tag conversations.

operationId: Conversations_tagConversation

Parameters

Name In Required Type Description
conversationId path required integer
tagId path required string

Responses

204

The conversation was successfully tagged

400

Invalid value for: path parameter conversationId, Invalid value for: path parameter tagId, Invalid value extracted from request context

404

An entity in this request could not be found

500

Internal failure during request processing

PUT /v1/conversations/{conversationId}/tags/{tagId}
PUT /v1/conversations/{conversationId}/transfer/queue

Transfer a conversation to a target queue.

operationId: Conversations_transferQueue

Parameters

Name In Required Type Description
conversationId path required integer

Request Body

required

Transfer conversation request

application/json
schema TransferConversationInput
Property Type Required
userId string optional
queueId string required

Responses

204

The conversation was successfully transferred to the target queue

400

Invalid value for: path parameter conversationId, Invalid value extracted from request context, Invalid value for: body, User not found, User is not agent/admin, Queue does not exist

404

An entity in this request could not be found

500

Internal failure during request processing

PUT /v1/conversations/{conversationId}/transfer/queue

Customattributes 1 endpoints

GET /v1/custom-attributes

List all custom attributes in an organization.

operationId: CustomAttributes_listDefinitions

Responses

200

The list of configured custom attributes

400

Invalid value extracted from request context

500

Internal failure during request processing

GET /v1/custom-attributes

Endusers 5 endpoints

GET /v1/endusers

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.

operationId: EndUsers_list

Parameters

Name In Required Type Description
pageLimit query optional integer

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

pageKey query optional string

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

email query optional string

Filter by the contact’s email

phone query optional string

Filter by the contact’s phone number

externalId query optional string

Filter by the contact’s external id

Responses

200

The list of end users

400

Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey, Invalid value for: query parameter email, Invalid value for: query parameter phone, Invalid value for: query parameter externalId, Duplicate phone number, Duplicate email address, Invalid filters: Cannot provide more than one filter

404

An entity in this request could not be found

500

Internal failure during request processing

GET /v1/endusers
PATCH /v1/endusers

Bulk patch end users.

operationId: EndUsers_bulkPatch

Request Body

required

List of end user patch actions

application/json
schema BulkPatchEndUsersInput
Property Type Required
data array optional
id string required
email string optional
lastName string optional
avatarUrl string optional
firstName string optional
externalId string optional
displayName string optional
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

200

The patched end users

400

Invalid value extracted from request context, Invalid value for: body

500

Internal failure during request processing

PATCH /v1/endusers
POST /v1/endusers

Create an end user.

operationId: EndUsers_createUser

Request Body

required

The end user’s details

application/json
schema CreateEndUserInput
Property Type Required
email string optional
lastName string optional
avatarUrl string optional
firstName string optional
externalId string optional
displayName string optional
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

201

The created end user

400

Invalid value extracted from request context, Invalid value for: body, Validation failure during enduser creation

500

Internal failure during request processing

POST /v1/endusers
PUT /v1/endusers

Bulk update end users.

operationId: EndUsers_bulkUpdate

Request Body

required

List of end user update actions

application/json
schema BulkUpdateEndUsersInput
Property Type Required
data array optional
id string required
email string optional
lastName string optional
avatarUrl string optional
firstName string optional
externalId string optional
displayName string required
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

200

The updated end users

400

Invalid value extracted from request context, Invalid value for: body

500

Internal failure during request processing

PUT /v1/endusers
POST /v1/endusers/bulk

Create end users.

operationId: EndUsers_createBulkUser

Request Body

required

The list of end user details

application/json
schema CreateEndUsersInput
Property Type Required
data array optional
email string optional
lastName string optional
avatarUrl string optional
firstName string optional
externalId string optional
displayName string optional
middleNames array optional
phoneNumber string optional
additionalEmails array optional
additionalPhoneNumbers array optional

Responses

201

The created end users

400

Invalid value extracted from request context, Invalid value for: body

500

Internal failure during request processing

POST /v1/endusers/bulk

Schemas

object ActivityLogAttribute
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/ConversationAssignedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationAutoReplySentAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationClaimedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationCreatedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationEndUserReplacedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationLanguageUpdatedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationOfferedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationRatedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationRatingOfferedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationRatingScheduledAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationReservedAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationTransferredAttribute"
    },
    {
      "$ref": "#/components/schemas/ConversationUnassignedAttribute"
    },
    {
      "$ref": "#/components/schemas/MessageAddedAttribute"
    },
    {
      "$ref": "#/components/schemas/NoteAddedAttribute"
    },
    {
      "$ref": "#/components/schemas/TagAddedAttribute"
    },
    {
      "$ref": "#/components/schemas/TagRemovedAttribute"
    }
  ]
}
object ActivityLogEntry
{
  "type": "object",
  "required": [
    "id",
    "conversationId",
    "activityTimestamp",
    "activityType",
    "_type"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "_type": {
      "type": "string",
      "description": "values: [ConversationRatingScheduled, ConversationOfferAccepted, ConversationPending, ConversationRatingUnscheduled, ConversationOfferRejected, ConversationEndUserReplaced, NoteAdded, FollowupExpired, ConversationRated, TagAdded, ConversationOfferTimeout, MessageAddedByCustomer, ConversationCreatedByCustomer, ConversationCreatedByAgent, TransferFailed, TransferSuccessful, ConversationOffered, ConversationUnassigned, TagRemoved, TransferInitiated, ConversationClaimed, ConversationReopened, ConversationClosed, ConversationLanguageUpdated, FollowupAdded, ConversationAutoreplySent, ConversationReserved, ConversationAssigned, ConversationRatingOffered, ConversationRatingCancelled, MessageAddedByAgent, FollowupRemoved]"
    },
    "author": {
      "$ref": "#/components/schemas/ActivityLogUser"
    },
    "attributes": {
      "$ref": "#/components/schemas/ActivityLogAttribute"
    },
    "activityType": {
      "$ref": "#/components/schemas/DeprecatedActivityLogType"
    },
    "conversationId": {
      "type": "integer",
      "format": "int32"
    },
    "activityTimestamp": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object ActivityLogUser
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phoneNumber": {
      "type": "string"
    }
  }
}
object Agent
{
  "type": "object",
  "required": [
    "id",
    "createdAt",
    "displayName",
    "email"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the agent"
    },
    "email": {
      "type": "string",
      "description": "The agent's primary email address"
    },
    "roles": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [Agent, SystemAdmin, TeamLead, Admin]"
      },
      "description": "The agent's roles"
    },
    "lastName": {
      "type": "string",
      "description": "The agent's last name"
    },
    "avatarUrl": {
      "type": "string",
      "description": "The url from which to load the agent's avatar"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Time when the agent was created"
    },
    "firstName": {
      "type": "string",
      "description": "The agent's first name"
    },
    "displayName": {
      "type": "string",
      "description": "The agent's display name"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The agent's middle names"
    },
    "phoneNumber": {
      "type": "string",
      "description": "The agent's primary phone number"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional email addresses for the agent"
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional phone numbers for the agent"
    }
  }
}
object AgentOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Agent"
    }
  }
}
object AgentTeamsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Team"
      }
    }
  }
}
array AgentsBulkPatchRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/BulkPatchAgentInput"
  }
}
array AgentsListPresenceResponse
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/UserPresence"
  }
}
object AgentsToTeamInput
{
  "type": "object",
  "properties": {
    "agentIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  }
}
array AgentsUpdateBulkRequest
{
  "type": "array",
  "items": {
    "$ref": "#/components/schemas/BulkUpdateAgentInput"
  }
}
object AggregateMetadata
{
  "type": "object",
  "required": [
    "measure"
  ],
  "properties": {
    "measure": {
      "type": "string",
      "description": "values: [Min, Max, Sum, Count, Percentage, StdDev, Average]"
    },
    "description": {
      "type": "string"
    }
  }
}
object AggregateValue
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/DoubleAggregateValue"
    },
    {
      "$ref": "#/components/schemas/LongAggregateValue"
    }
  ]
}
object AnonymizationRequestStatus
{
  "type": "object",
  "required": [
    "id",
    "entityType",
    "_type",
    "initiatedAt",
    "targetEntityId",
    "requestedBy"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "_type": {
      "type": "string",
      "description": "values: [Conversation, Message, User]"
    },
    "entityType": {
      "$ref": "#/components/schemas/DeprecatedAnonymizationType"
    },
    "initiatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "processedAt": {
      "type": "string",
      "format": "date-time"
    },
    "requestedBy": {
      "type": "string",
      "format": "uuid"
    },
    "targetEntityId": {
      "type": "string"
    }
  }
}
object AnonymizeEntityInput
{
  "type": "object",
  "required": [
    "entityId"
  ],
  "properties": {
    "_type": {
      "type": "string",
      "description": "values: [Conversation, Message, User]"
    },
    "entityId": {
      "type": "string"
    },
    "entityType": {
      "$ref": "#/components/schemas/DeprecatedAnonymizationType"
    },
    "forceAnonymization": {
      "type": "boolean"
    }
  }
}
object AnonymizeEntityOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/AnonymizationRequestStatus"
    }
  }
}
object AnonymizedConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt",
    "anonymizedAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "state": {
      "type": "string",
      "description": "values: [AwaitingPending, Closed, Open, Pending]"
    },
    "channel": {
      "type": "string",
      "description": "values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Twitter, Email, ContactForm, Callback, PstnPhone, Sms, Messenger]"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "anonymizedAt": {
      "type": "string",
      "format": "date-time"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object Assignment
{
  "type": "object",
  "required": [
    "agentId",
    "assignedAt"
  ],
  "properties": {
    "agentId": {
      "type": "string",
      "format": "uuid"
    },
    "assignedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object Attributes
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/CallRecordingAttributes"
    },
    {
      "$ref": "#/components/schemas/ChatAttributes"
    },
    {
      "$ref": "#/components/schemas/ContactFormAttributes"
    },
    {
      "$ref": "#/components/schemas/EmailAttributes"
    },
    {
      "$ref": "#/components/schemas/FacebookMessengerAttributes"
    },
    {
      "$ref": "#/components/schemas/GenericAttributes"
    },
    {
      "$ref": "#/components/schemas/PhoneAttributes"
    },
    {
      "$ref": "#/components/schemas/SmsAttributes"
    },
    {
      "$ref": "#/components/schemas/TwitterAttributes"
    },
    {
      "$ref": "#/components/schemas/WhatsAppAttributes"
    }
  ]
}
object BadRequest
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object BasicAuth
{
  "type": "object",
  "required": [
    "username",
    "password"
  ],
  "properties": {
    "password": {
      "type": "string"
    },
    "username": {
      "type": "string"
    }
  }
}
object BooleanField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "boolean"
    }
  }
}
object BrowserInfo
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "ipAddress": {
      "type": "string"
    },
    "originatingUrl": {
      "type": "string"
    }
  }
}
object BulkActionFailure_BulkError_Agent
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "$ref": "#/components/schemas/BulkError"
    }
  }
}
object BulkActionFailure_BulkError_EndUser
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "$ref": "#/components/schemas/BulkError"
    }
  }
}
object BulkActionFailure_BulkError_UUID
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "$ref": "#/components/schemas/BulkError"
    }
  }
}
object BulkActionFailure_ErrorResponse_InternalNoteData
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "$ref": "#/components/schemas/ErrorResponse"
    }
  }
}
object BulkActionOutcome_BulkError_Agent
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BulkActionFailure_BulkError_Agent"
    },
    {
      "$ref": "#/components/schemas/BulkActionSuccess_BulkError_Agent"
    }
  ]
}
object BulkActionOutcome_BulkError_EndUser
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BulkActionFailure_BulkError_EndUser"
    },
    {
      "$ref": "#/components/schemas/BulkActionSuccess_BulkError_EndUser"
    }
  ]
}
object BulkActionOutcome_BulkError_UUID
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BulkActionFailure_BulkError_UUID"
    },
    {
      "$ref": "#/components/schemas/BulkActionSuccess_BulkError_UUID"
    }
  ]
}
object BulkActionOutcome_ErrorResponse_InternalNoteData
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BulkActionFailure_ErrorResponse_InternalNoteData"
    },
    {
      "$ref": "#/components/schemas/BulkActionSuccess_ErrorResponse_InternalNoteData"
    }
  ]
}
object BulkActionSuccess_BulkError_Agent
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Agent"
    }
  }
}
object BulkActionSuccess_BulkError_EndUser
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/EndUser"
    }
  }
}
object BulkActionSuccess_BulkError_UUID
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "string",
      "format": "uuid"
    }
  }
}
object BulkActionSuccess_ErrorResponse_InternalNoteData
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/InternalNoteData"
    }
  }
}
object BulkCreateInternalNoteInput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateInternalNoteInput"
      }
    }
  }
}
object BulkCreateNoteOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_ErrorResponse_InternalNoteData"
      }
    }
  }
}
object BulkError
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/EmptyPatchSet"
    },
    {
      "$ref": "#/components/schemas/ErrorResponse"
    },
    {
      "$ref": "#/components/schemas/Infrastructure"
    },
    {
      "$ref": "#/components/schemas/Integrity"
    },
    {
      "$ref": "#/components/schemas/NotFound1"
    },
    {
      "$ref": "#/components/schemas/Validation"
    }
  ]
}
object BulkPatchAgentInput
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the agent"
    },
    "lastName": {
      "type": "string",
      "description": "The agent's last name"
    },
    "avatarUrl": {
      "type": "string",
      "description": "The url from which to load the agent's avatar"
    },
    "firstName": {
      "type": "string",
      "description": "The agent's first name"
    },
    "displayName": {
      "type": "string",
      "description": "The agent's display name"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The agent's middle names"
    },
    "phoneNumber": {
      "type": "string",
      "description": "The agent's primary phone number"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional email addresses for the agent"
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional phone numbers for the agent"
    }
  }
}
object BulkPatchEndUserInput
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    },
    "avatarUrl": {
      "type": "string"
    },
    "firstName": {
      "type": "string"
    },
    "externalId": {
      "type": "string"
    },
    "displayName": {
      "type": "string"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phoneNumber": {
      "type": "string"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
object BulkPatchEndUsersInput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkPatchEndUserInput"
      }
    }
  }
}
object BulkPatchEndUsersOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_BulkError_EndUser"
      }
    }
  }
}
object BulkQueueEndpointInput
{
  "type": "object",
  "properties": {
    "agentIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  }
}
object BulkQueueEndpointOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_BulkError_UUID"
      }
    }
  }
}
object BulkUpdateAgentInput
{
  "type": "object",
  "required": [
    "id",
    "displayName"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the agent"
    },
    "lastName": {
      "type": "string",
      "description": "The agent's last name"
    },
    "avatarUrl": {
      "type": "string",
      "description": "The url from which to load the agent's avatar"
    },
    "firstName": {
      "type": "string",
      "description": "The agent's first name"
    },
    "displayName": {
      "type": "string",
      "description": "The agent's display name"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The agent's middle names"
    },
    "phoneNumber": {
      "type": "string",
      "description": "The agent's primary phone number"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional email addresses for the agent"
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional phone numbers for the agent"
    }
  }
}
object BulkUpdateAgentOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_BulkError_Agent"
      }
    }
  }
}
object BulkUpdateEndUserInput
{
  "type": "object",
  "required": [
    "id",
    "displayName"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    },
    "avatarUrl": {
      "type": "string"
    },
    "firstName": {
      "type": "string"
    },
    "externalId": {
      "type": "string"
    },
    "displayName": {
      "type": "string"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phoneNumber": {
      "type": "string"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  }
}
object BulkUpdateEndUsersInput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkUpdateEndUserInput"
      }
    }
  }
}
object BulkUpdateEndUsersOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_BulkError_EndUser"
      }
    }
  }
}
object CallRecordingAttributes
{
  "type": "object",
  "required": [
    "recording"
  ],
  "properties": {
    "duration": {
      "type": "integer",
      "format": "int32"
    },
    "recording": {
      "type": "string"
    }
  }
}
object Callback
{
  "type": "object",
  "required": [
    "requesterId",
    "direction",
    "contactEndpointId",
    "queueId"
  ],
  "properties": {
    "queueId": {
      "type": "string",
      "format": "uuid"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Outbound]"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "contactEndpointId": {
      "type": "string"
    }
  }
}