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

Clear filters

Agents 2 endpoints

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
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

Analytics 2 endpoints

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
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

Conversations 4 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
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
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

Endusers 2 endpoints

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
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

Queues 1 endpoints

POST /v1/queues

Create a queue.

operationId: Queues_createQueue

Request Body

required

The details for creating a queue

application/json
schema CreateQueueInput
Property Type Required
request object required
name string required
priority integer optional
isDefault boolean required
offerTimeout integer optional
wrapupTimeout integer optional
offerAlgorithm string optional
queueThresholds object optional
callFunctionality boolean required
doNotOfferTimeouts object optional
isDoNotOfferEnabled boolean required
preferredAgentTimeouts object optional
isPreferredAgentEnabled boolean optional
offerAbandonedConversations boolean optional
personalAgentOfflineTimeout integer optional
preferredAgentOfflineTimeout integer optional

Responses

201

The created queue

400

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

500

Internal failure during request processing

POST /v1/queues

Tags 1 endpoints

POST /v1/tags

Create a tag.

operationId: Tags_createTag

Request Body

required

The tag details

application/json
schema CreateTagInput
Property Type Required
name string required
color string optional

Responses

200

The created tag or an existing tag with the same name. Note that the tag is not updated to match the input in case it already exists.

400

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

500

Internal failure during request processing

POST /v1/tags

Teams 1 endpoints

POST /v1/teams

Create a team.

operationId: Teams_createTeam

Request Body

required

The team name

application/json
schema CreateTeamInput
Property Type Required
name string required

Responses

201

The created team

400

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

500

Internal failure during request processing

POST /v1/teams

Webhooks 1 endpoints

POST /v1/webhooks

Create a Webhook Subscription.

operationId: Webhooks_createSubscription

Request Body

required

The Webhook Subscription to be created

application/json
schema CreateWebhookSubscriptionInput
Property Type Required
url string required
name string required
events array optional
enabled boolean optional
authorization object required

Responses

201

The created Webhook Subscription

400

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

500

Internal Server Error

POST /v1/webhooks

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"
    }
  }
}