Dixa

Customer service platform

docs.dixa.io ↗
Version
v1
OpenAPI
3.0.3
Endpoints
84
Schemas
299
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

Authentication

apiKey

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AgentsBulkPatchRequest"
      },
      "example": [
        {
          "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9bX",
          "displayName": "AB",
          "middleNames": [],
          "additionalEmails": [],
          "additionalPhoneNumbers": []
        },
        {
          "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9c",
          "displayName": "JB",
          "middleNames": [],
          "additionalEmails": [],
          "additionalPhoneNumbers": []
        }
      ]
    }
  },
  "required": false,
  "description": "List of agent/admin patch actions"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateAgentInput"
      },
      "example": {
        "email": "alice@brown.com",
        "lastName": "Brown",
        "avatarUrl": "http://avatar.url",
        "firstName": "Alice",
        "displayName": "Alice Brown",
        "middleNames": [],
        "phoneNumber": "+551155256325",
        "additionalEmails": [
          "alice@secondary.email"
        ],
        "additionalPhoneNumbers": [
          "+5566778899"
        ]
      }
    }
  },
  "required": true,
  "description": "The agent's details"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AgentsUpdateBulkRequest"
      },
      "example": [
        {
          "id": "434ce9f5-14c8-4be1-a0a8-f755010deb9b",
          "lastName": "Brown",
          "avatarUrl": "http://avatar.url",
          "firstName": "Alice",
          "displayName": "Alice Brown",
          "middleNames": [],
          "phoneNumber": "+551155256325",
          "additionalEmails": [],
          "additionalPhoneNumbers": []
        }
      ]
    }
  },
  "required": false,
  "description": "The list of agent/admin update actions"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateAgentsInput"
      },
      "example": {
        "data": [
          {
            "email": "alice@brown.com",
            "lastName": "Brown",
            "avatarUrl": "http://avatar.url",
            "firstName": "Alice",
            "displayName": "Alice Brown",
            "middleNames": [],
            "phoneNumber": "+551155256325",
            "additionalEmails": [],
            "additionalPhoneNumbers": []
          }
        ]
      }
    }
  },
  "required": true,
  "description": "The list of agent's details"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PatchAgentInput"
      },
      "example": {
        "lastName": "Brown",
        "avatarUrl": "http://avatar.url",
        "firstName": "Alice",
        "displayName": "Alice Brown",
        "middleNames": [],
        "additionalEmails": [],
        "additionalPhoneNumbers": []
      }
    }
  },
  "required": true,
  "description": "The agent/admin patch"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateAgentInput"
      },
      "example": {
        "lastName": "Brown",
        "avatarUrl": "http://avatar.url",
        "firstName": "Alice",
        "displayName": "Alice Brown",
        "middleNames": [
          "Julia"
        ],
        "phoneNumber": "+551155256325",
        "additionalEmails": [],
        "additionalPhoneNumbers": []
      }
    }
  },
  "required": true,
  "description": "The updated details for an agent/admin"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/GetMetricDataInput"
      },
      "example": {
        "id": "closed_conversationsX",
        "filters": [
          {
            "values": [
              "email"
            ],
            "attribute": "channel"
          }
        ],
        "timezone": "Europe/Copenhagen",
        "aggregations": [
          "Count"
        ],
        "periodFilter": {
          "_type": "Preset",
          "value": {
            "_type": "PreviousWeek"
          }
        }
      }
    }
  },
  "required": true,
  "description": "The available request filters and aggregations for fetching the metric data"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/GetMetricRecordsDataInput"
      },
      "example": {
        "id": "closed_conversationsX",
        "filters": [
          {
            "values": [
              "INBOUND"
            ],
            "attribute": "initial_direction"
          }
        ],
        "timezone": "Europe/Copenhagen",
        "periodFilter": {
          "_type": "Preset",
          "value": {
            "_type": "PreviousWeek"
          }
        }
      }
    }
  },
  "required": true,
  "description": "The available request filters for fetching the metric records data"
}

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}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateConversationInput"
      },
      "example": {
        "_type": "Email",
        "message": {
          "_type": "Inbound",
          "content": {
            "_type": "Text",
            "value": "My order hasn't shipped"
          },
          "attachments": []
        },
        "subject": "order #123",
        "language": "en",
        "requesterId": "9c2a2cce-699f-4a72-89d9-fda5bc8dec8b",
        "emailIntegrationId": "my-integration@email.dixa.io"
      }
    }
  },
  "required": true,
  "description": "The conversation to create"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ClaimConversationInput"
      },
      "example": {
        "force": false,
        "agentId": "5a556159-9c21-4f3e-a44f-d323deb80d16"
      }
    }
  },
  "required": true
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CloseConversationInput"
      },
      "example": {
        "userId": "5a556159-9c21-4f3e-a44f-d323deb80d16"
      }
    }
  },
  "required": false,
  "description": "An optional agent/admin to close the conversation"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateMessageInput"
      },
      "example": {
        "_type": "Inbound",
        "content": {
          "_type": "Html",
          "value": "I need some help!"
        },
        "attachments": [
          {
            "url": "http://attachment.url",
            "prettyName": "Filename"
          }
        ]
      }
    }
  },
  "required": true,
  "description": "The message to be added to a conversation"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/ReopenConversationInput"
      },
      "example": {
        "userId": "a53b25da-f676-4c52-acac-58c9280aa23d"
      }
    }
  },
  "required": false,
  "description": "An optional agent/admin to reopen the conversation"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/TransferConversationInput"
      },
      "example": {
        "userId": "a53b25da-f676-4c52-acac-58c9280aa23d",
        "queueId": "92f8d193-b26f-4a62-86a3-bb03ee0915e9"
      }
    }
  },
  "required": true,
  "description": "Transfer conversation request"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Map_UUID_Option_AttributeValue"
      },
      "example": {
        "2f5515b6-7e98-4f4d-9010-bfd2a27d4f35": "012345",
        "e14708a6-eed9-495c-9d88-c72331e9e247": [
          "str1",
          "str2"
        ]
      }
    }
  },
  "required": true,
  "description": "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]."
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateInternalNoteInput"
      },
      "examples": {
        "Input with createdAt": {
          "value": {
            "agentId": "a53b25da-f676-4c52-acac-58c9280aa23d",
            "message": "A sample note",
            "createdAt": "2021-12-01T12:46:36.581Z[GMT]"
          }
        },
        "Input without createdAt": {
          "value": {
            "message": "Another sample note"
          }
        }
      }
    }
  },
  "required": true,
  "description": "The internal note to create for a conversation"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BulkCreateInternalNoteInput"
      },
      "examples": {
        "Input with two internal notes created for the same conversation": {
          "value": {
            "data": [
              {
                "agentId": "a53b25da-f676-4c52-acac-58c9280aa23d",
                "message": "A sample note",
                "createdAt": "2021-12-01T12:46:36.581Z[GMT]"
              },
              {
                "message": "Another sample note"
              }
            ]
          }
        }
      }
    }
  },
  "required": true,
  "description": "The list of internal notes to create for a conversation"
}

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

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

End users 11 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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BulkPatchEndUsersInput"
      },
      "example": {
        "data": [
          {
            "id": "43b1fe06-a7c4-4f34-8e48-b0559e6acdb9",
            "email": "alice@brown.com",
            "lastName": "Brown",
            "avatarUrl": "http://avatar.url",
            "firstName": "Alice",
            "externalId": "#12345678",
            "displayName": "Alice Brown",
            "middleNames": [],
            "phoneNumber": "+551155256325",
            "additionalEmails": [
              "alice@secondary.email"
            ],
            "additionalPhoneNumbers": [
              "+5566778899"
            ]
          }
        ]
      }
    }
  },
  "required": true,
  "description": "List of end user patch actions"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateEndUserInput"
      },
      "example": {
        "email": "alice@brown.com",
        "lastName": "Brown",
        "avatarUrl": "http://avatar.url",
        "firstName": "Alice",
        "externalId": "#12345678",
        "displayName": "Alice Brown",
        "middleNames": [],
        "phoneNumber": "+551155256325",
        "additionalEmails": [
          "alice@secondary.email"
        ],
        "additionalPhoneNumbers": [
          "+5566778899"
        ]
      }
    }
  },
  "required": true,
  "description": "The end user's details"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BulkUpdateEndUsersInput"
      },
      "example": {
        "data": [
          {
            "id": "d4826125-559f-496f-ad71-a0340f0cae06",
            "email": "alice@brown.com",
            "lastName": "Brown",
            "avatarUrl": "http://avatar.url",
            "firstName": "Alice",
            "externalId": "#12345678",
            "displayName": "Alice Brown",
            "middleNames": [
              "J."
            ],
            "phoneNumber": "+551155256325",
            "additionalEmails": [
              "alice@secondary.email"
            ],
            "additionalPhoneNumbers": [
              "+5566778899"
            ]
          }
        ]
      }
    }
  },
  "required": true,
  "description": "List of end user update actions"
}

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

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateEndUsersInput"
      },
      "example": {
        "data": [
          {
            "email": "alice@brown.com",
            "lastName": "Brown",
            "avatarUrl": "http://avatar.url",
            "firstName": "Alice",
            "externalId": "#12345678",
            "displayName": "Alice Brown",
            "middleNames": [],
            "phoneNumber": "+551155256325",
            "additionalEmails": [],
            "additionalPhoneNumbers": []
          }
        ]
      }
    }
  },
  "required": true,
  "description": "The list of end user details"
}

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
GET /v1/endusers/{userId}

Get an end user by id.

operationId: EndUsers_getUserById

Parameters

Name In Required Type Description
userId path required string The end user id

Responses

200 The end user
400 Invalid value for: path parameter userId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal failure during request processing
GET /v1/endusers/{userId}
PATCH /v1/endusers/{userId}

Patch an end user.

operationId: EndUsers_updateUser

Parameters

Name In Required Type Description
userId path required string The end user id to be patched

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PatchEndUserInput"
      },
      "example": {
        "email": "alice@brown.com",
        "lastName": "Brown",
        "avatarUrl": "http://avatar.url",
        "firstName": "Alice",
        "externalId": "#12345678",
        "displayName": "Alice Brown",
        "middleNames": [],
        "phoneNumber": "+551155256325",
        "additionalEmails": [
          "alice@secondary.email"
        ],
        "additionalPhoneNumbers": [
          "+5566778899"
        ]
      }
    }
  },
  "required": true,
  "description": "The end user patch"
}

Responses

200 The patched end user
400 Invalid value for: path parameter userId, 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/endusers/{userId}
PUT /v1/endusers/{userId}

Update an end user.

operationId: EndUsers_updateUserById

Parameters

Name In Required Type Description
userId path required string The end user id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/UpdateEndUserInput"
      },
      "example": {
        "email": "alice@brown.com",
        "lastName": "Brown",
        "avatarUrl": "http://avatar.url",
        "firstName": "Alice",
        "externalId": "#12345678",
        "displayName": "Alice Brown",
        "middleNames": [
          "J."
        ],
        "phoneNumber": "+551155256325",
        "additionalEmails": [
          "alice@secondary.email"
        ],
        "additionalPhoneNumbers": [
          "+5566778899"
        ]
      }
    }
  },
  "required": true,
  "description": "The updated details for an end user"
}

Responses

200 The updated end user
400 Invalid value for: path parameter userId, 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/endusers/{userId}
GET /v1/endusers/{userId}/conversations

Lists conversations requested by an end user. <br/> 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}](../Conversations/#tag/Conversations/operation/getConversationsConversationid) endpoint

operationId: EndUsers_listConversations

Parameters

Name In Required Type Description
userId 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 list of conversations requested by an EndUser
400 Invalid value for: path parameter userId, Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey
404 An entity in this request could not be found
500 Internal failure during request processing
GET /v1/endusers/{userId}/conversations
PATCH /v1/endusers/{userId}/anonymize

Request the anonymization of an end user.

operationId: EndUsers_anonymizeUser

Parameters

Name In Required Type Description
userId path required string The id of the end user to anonymize
force query optional boolean Whether to force close all the conversations initiated by the end user, if any are found in a non closed state.

Responses

202 The end user's anonymization request status
400
404
409
500
PATCH /v1/endusers/{userId}/anonymize
PATCH /v1/endusers/{userId}/custom-attributes

Patch custom attributes of an end user

operationId: EndUsers_updateCustomAttributes

Parameters

Name In Required Type Description
userId path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/Map_UUID_Option_AttributeValue"
      },
      "example": {
        "274e5a2c-be0d-42c0-b725-3dd533729f68": "abcdef",
        "befae0d9-9679-42b9-af76-e76f64e28429": [
          "example1",
          "example2"
        ]
      }
    }
  },
  "required": true,
  "description": "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]."
}

Responses

200 The patched end user attributes
400 Invalid value for: path parameter userId, 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/endusers/{userId}/custom-attributes

Queues 6 endpoints

GET /v1/queues

List all queues in an organization.

operationId: Queues_listAll

Responses

200 The list of queues in an organization
400 Invalid value extracted from request context
500 Internal failure during request processing
GET /v1/queues
POST /v1/queues

Create a queue.

operationId: Queues_createQueue

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateQueueInput"
      },
      "example": {
        "request": {
          "name": "MyCorp main queue",
          "priority": 1,
          "isDefault": true,
          "offerTimeout": 10,
          "wrapupTimeout": 10,
          "offerAlgorithm": "AllAtOnce",
          "queueThresholds": {
            "WaitingConversations": 10
          },
          "callFunctionality": false,
          "doNotOfferTimeouts": {
            "WidgetChat": 1
          },
          "isDoNotOfferEnabled": true,
          "preferredAgentTimeouts": {
            "Email": 43200,
            "Callback": 300,
            "WhatsApp": 300,
            "PstnPhone": 300,
            "Voicemail": 300,
            "WidgetChat": 300,
            "ContactForm": 43200,
            "FacebookMessenger": 300
          },
          "isPreferredAgentEnabled": false,
          "offerAbandonedConversations": false,
          "personalAgentOfflineTimeout": 500,
          "preferredAgentOfflineTimeout": 500
        }
      }
    }
  },
  "required": true,
  "description": "The details for creating a queue"
}

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
GET /v1/queues/{queueId}

Get a queue by id.

operationId: Queues_getById

Parameters

Name In Required Type Description
queueId path required string

Responses

200 The queue
400 Invalid value for: path parameter queueId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal failure during request processing
GET /v1/queues/{queueId}
DELETE /v1/queues/{queueId}/members

Bulk remove agents/admins from the specified queue.

operationId: Queues_removeMembersBulk

Parameters

Name In Required Type Description
queueId path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BulkQueueEndpointInput"
      },
      "example": {
        "agentIds": [
          "743c3781-c882-4352-a1fa-fe5d7a673cfd",
          "cad2f234-8cec-4cd8-96e9-a6491a0176da"
        ]
      }
    }
  },
  "required": true,
  "description": "The list of agents/admins to be removed from the queue. Up to 10 members can be specified."
}

Responses

204 The bulk operation succeeded
400 Invalid value for: path parameter queueId, 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
DELETE /v1/queues/{queueId}/members
GET /v1/queues/{queueId}/members

List all agents/admins that are members of a queue by providing the queue id.

operationId: Queues_listMembers

Parameters

Name In Required Type Description
queueId path required string

Responses

200 List of the agents/admins that are members of a queue
400 Invalid value for: path parameter queueId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal failure during request processing
GET /v1/queues/{queueId}/members
PATCH /v1/queues/{queueId}/members

Assign one or more agents/admins to a given queue.

operationId: Queues_assignMembers

Parameters

Name In Required Type Description
queueId path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/BulkQueueEndpointInput"
      },
      "example": {
        "agentIds": [
          "c31e5e3f-1d5f-4442-83df-fd7bddd59da4",
          "26ae145b-8644-4fa5-aa56-7b3dcacbe2d4"
        ]
      }
    }
  },
  "required": true,
  "description": "The list of agents/admins to be added to the queue"
}

Responses

200 The list of patch action outcomes
400 Invalid value for: path parameter queueId, 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
PATCH /v1/queues/{queueId}/members

Tags 5 endpoints

GET /v1/tags

List all tags in an organization.

operationId: Tags_list

Responses

200 The list of tags in an organization
400 Invalid value extracted from request context
500 Internal failure during request processing
GET /v1/tags
POST /v1/tags

Create a tag.

operationId: Tags_createTag

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateTagInput"
      },
      "example": {
        "name": "test",
        "color": "#000000"
      }
    }
  },
  "required": true,
  "description": "The tag details"
}

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
GET /v1/tags/{tagId}

Get a tag by id.

operationId: Tags_getById

Parameters

Name In Required Type Description
tagId path required string

Responses

200 The tag
400 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
GET /v1/tags/{tagId}
PATCH /v1/tags/{tagId}/activate

Activate a tag.

operationId: Tags_activateTag

Parameters

Name In Required Type Description
tagId path required string The tag id

Responses

204 The tag was successfully activated
400 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
PATCH /v1/tags/{tagId}/activate
PATCH /v1/tags/{tagId}/deactivate

Deactivate a tag.

operationId: Tags_deactivateTag

Parameters

Name In Required Type Description
tagId path required string The tag id

Responses

204 The tag was successfully deactivated
400 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
PATCH /v1/tags/{tagId}/deactivate

Teams 8 endpoints

GET /v1/teams

Lists all teams in an organization.

operationId: Teams_listAll

Responses

200 The list of teams in an organization
400 Invalid value extracted from request context
500 Internal failure during request processing
GET /v1/teams
POST /v1/teams

Create a team.

operationId: Teams_createTeam

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateTeamInput"
      },
      "example": {
        "name": "Team A"
      }
    }
  },
  "required": true,
  "description": "The team name"
}

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
DELETE /v1/teams/{teamId}

Delete a team.

operationId: Teams_removeTeam

Parameters

Name In Required Type Description
teamId path required string The team id

Responses

204 The team was successfully deleted
400 Invalid value for: path parameter teamId, Invalid value extracted from request context
500 Internal failure during request processing
DELETE /v1/teams/{teamId}
GET /v1/teams/{teamId}

Get a team by id.

operationId: Teams_getById

Parameters

Name In Required Type Description
teamId path required string The team id

Responses

200 The team
400 Invalid value for: path parameter teamId, Invalid value extracted from request context
404 An entity in this request could not be found
GET /v1/teams/{teamId}
DELETE /v1/teams/{teamId}/agents

Remove agents/admins from a team.

operationId: Teams_removeMembers

Parameters

Name In Required Type Description
teamId path required string The team id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/DeleteAgentsFromTeamInput"
      },
      "example": {
        "agentIds": [
          "a8080cf3-9d55-41dd-a8ef-b02414399e7a",
          "d53dbec1-e79c-4736-b9a1-15f6dce71ed4"
        ]
      }
    }
  },
  "required": true,
  "description": "List of agent/admin ids to remove from the specified team"
}

Responses

204 The agents/admins were successfully removed from the team
400 Invalid value for: path parameter teamId, Invalid value extracted from request context, Invalid value for: body
500 Internal failure during request processing
DELETE /v1/teams/{teamId}/agents
GET /v1/teams/{teamId}/agents

Lists all agents/admins in a team.

operationId: Teams_listMembers

Parameters

Name In Required Type Description
teamId path required string The team id

Responses

200 List of agents/admins in the specified team
400 Invalid value for: path parameter teamId, Invalid value extracted from request context
500 Internal failure during request processing
GET /v1/teams/{teamId}/agents
PATCH /v1/teams/{teamId}/agents

Add agents/admins to a team.

operationId: Teams_addMembers

Parameters

Name In Required Type Description
teamId path required string The team id

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/AgentsToTeamInput"
      },
      "example": {
        "agentIds": [
          "912d5148-6918-4420-b23a-8584b896c8ae",
          "a8080cf3-9d55-41dd-a8ef-b02414399e7a"
        ]
      }
    }
  },
  "required": true,
  "description": "List of agent/admin ids to add to the specified team"
}

Responses

200
400 Invalid value for: path parameter teamId, Invalid value extracted from request context, Invalid value for: body
500 Internal failure during request processing
PATCH /v1/teams/{teamId}/agents
GET /v1/teams/{teamId}/presence

List the presence status of all agents/admins in a team.

operationId: Teams_listPresenceStatus

Parameters

Name In Required Type Description
teamId path required string The team id
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 List of agents/admins presence status in the specified team
400 Invalid value for: path parameter teamId, Invalid value extracted from request context, Invalid value for: query parameter pageLimit, Invalid value for: query parameter pageKey
404 An entity in this request could not be found
500 Internal failure during request processing
GET /v1/teams/{teamId}/presence

Webhooks 7 endpoints

GET /v1/webhooks

List of all Webhook Subscriptions in an organization.

operationId: Webhooks_listSubscriptions

Responses

200 The List of Webhook Subscriptions
400 Invalid value extracted from request context
500 Internal Server Error
GET /v1/webhooks
POST /v1/webhooks

Create a Webhook Subscription.

operationId: Webhooks_createSubscription

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/CreateWebhookSubscriptionInput"
      },
      "example": {
        "url": "https://example.webhook/dashboard_integration",
        "name": "Dashboard Integration",
        "events": [
          "ConversationCreated",
          "ConversationClosed"
        ],
        "enabled": true,
        "authorization": {
          "_type": "BasicAuth",
          "password": "webhook_password",
          "username": "webhook_user"
        }
      }
    }
  },
  "required": true,
  "description": "The Webhook Subscription to be created"
}

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
DELETE /v1/webhooks/{webhookSubscriptionId}

Delete a Webhook Subscription.

operationId: Webhooks_deleteSubscription

Parameters

Name In Required Type Description
webhookSubscriptionId path required string

Responses

204 The Webhook Subscription was successfully deleted
400 Invalid value for: path parameter webhookSubscriptionId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal failure during request processing
DELETE /v1/webhooks/{webhookSubscriptionId}
GET /v1/webhooks/{webhookSubscriptionId}

Get a Webhook Subscription by ID.

operationId: Webhooks_getSubscriptionById

Parameters

Name In Required Type Description
webhookSubscriptionId path required string

Responses

200 The Webhook Subscription
400 Invalid value for: path parameter webhookSubscriptionId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal Server Error
GET /v1/webhooks/{webhookSubscriptionId}
PATCH /v1/webhooks/{webhookSubscriptionId}

Patch a Webhook Subscription.

operationId: Webhooks_updateSubscription

Parameters

Name In Required Type Description
webhookSubscriptionId path required string

Request Body

{
  "content": {
    "application/json": {
      "schema": {
        "$ref": "#/components/schemas/PatchWebhookSubscriptionInput"
      },
      "example": {
        "name": "New name",
        "events": [
          "ConversationNoteAdded"
        ],
        "authorization": {
          "_type": "TokenAuth",
          "value": "eyDoiGciOqGYUzI1NiJ4.eyJ0eQJRUapoYXBpIiwib4JxA5lkIjoiNTVmMmE6MmItYjU4NF33MDMxLTk2NTktOTE2M.qPoOZoQYDn4rn-akaLmVFka15JAV7TF6QT8UHOUTIy0"
        }
      }
    }
  },
  "required": true,
  "description": "The Webhook Subscription fields to be patched"
}

Responses

200 The patched Webhook Subscription
400 Invalid value for: path parameter webhookSubscriptionId, Invalid value extracted from request context, Invalid value for: body, Validation failure during Webhook Subscription patching
500 Internal Server Error
PATCH /v1/webhooks/{webhookSubscriptionId}
GET /v1/webhooks/{webhookSubscriptionId}/delivery-status

Get the latest delivery statuses of a Webhook Subscription.

operationId: Webhooks_getDeliveryStatus

Parameters

Name In Required Type Description
webhookSubscriptionId path required string

Responses

200 The Latest Delivery Statuses of a Webhook Subscription
400 Invalid value for: path parameter webhookSubscriptionId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal Server Error
GET /v1/webhooks/{webhookSubscriptionId}/delivery-status
GET /v1/webhooks/{webhookSubscriptionId}/delivery-status/logs/{event}

Get the latest Webhook Subscription Event logs.

operationId: Webhooks_getDeliveryStatusLogs

Parameters

Name In Required Type Description
webhookSubscriptionId path required string
event path required string

Responses

200 The Webhook Subscription Event Logs
400 Invalid value for: path parameter webhookSubscriptionId, Invalid value extracted from request context
404 An entity in this request could not be found
500 Internal Server Error
GET /v1/webhooks/{webhookSubscriptionId}/delivery-status/logs/{event}

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"
    }
  }
}
object Chat
{
  "type": "object",
  "required": [
    "requesterId",
    "widgetId",
    "message"
  ],
  "properties": {
    "message": {
      "$ref": "#/components/schemas/CreateMessageInput"
    },
    "language": {
      "type": "string"
    },
    "widgetId": {
      "type": "string",
      "format": "uuid"
    },
    "browserInfo": {
      "$ref": "#/components/schemas/BrowserInfo"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    }
  }
}
object ChatAttributes
{
  "type": "object",
  "required": [
    "isAutomated"
  ],
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "isAutomated": {
      "type": "boolean"
    }
  }
}
object ChatConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "language": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "browserInfo": {
      "$ref": "#/components/schemas/BrowserInfo"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object ClaimConversationInput
{
  "type": "object",
  "required": [
    "agentId"
  ],
  "properties": {
    "force": {
      "type": "boolean",
      "description": "Set as false to avoid taking over the conversation if it is already assigned to an agent"
    },
    "agentId": {
      "type": "string",
      "format": "uuid",
      "description": "The id of the agent who is claiming the conversation"
    }
  }
}
object CloseConversationInput
{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "format": "uuid"
    }
  }
}
object Conflict
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object ContactEndpoint
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/EmailEndpoint"
    },
    {
      "$ref": "#/components/schemas/TelephonyEndpoint"
    }
  ]
}
object ContactForm
{
  "type": "object",
  "required": [
    "requesterId",
    "emailIntegrationId",
    "subject",
    "message"
  ],
  "properties": {
    "message": {
      "$ref": "#/components/schemas/CreateMessageInput"
    },
    "subject": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "emailIntegrationId": {
      "type": "string"
    }
  }
}
object ContactFormAttributes
{
  "type": "object",
  "required": [
    "isAutoReply"
  ],
  "properties": {
    "cc": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "to": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "bcc": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "from": {
      "$ref": "#/components/schemas/EmailContact"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "isAutoReply": {
      "type": "boolean"
    },
    "emailContent": {
      "$ref": "#/components/schemas/EmailContent"
    },
    "inlineImages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "originalContentUrl": {
      "$ref": "#/components/schemas/File"
    },
    "replyDefaultToEmails": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "deliveryFailureReason": {
      "type": "string"
    }
  }
}
object ContactFormConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt",
    "fromEmail"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "subject": {
      "type": "string"
    },
    "toEmail": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "fromEmail": {
      "type": "string"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    },
    "integrationEmail": {
      "type": "string"
    }
  }
}
object Content
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Html"
    },
    {
      "$ref": "#/components/schemas/Text"
    }
  ]
}
object Conversation
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/AnonymizedConversation"
    },
    {
      "$ref": "#/components/schemas/ChatConversation"
    },
    {
      "$ref": "#/components/schemas/ContactFormConversation"
    },
    {
      "$ref": "#/components/schemas/EmailConversation"
    },
    {
      "$ref": "#/components/schemas/FacebookMessengerConversation"
    },
    {
      "$ref": "#/components/schemas/GenericConversation"
    },
    {
      "$ref": "#/components/schemas/MessengerConversation"
    },
    {
      "$ref": "#/components/schemas/PstnPhoneConversation"
    },
    {
      "$ref": "#/components/schemas/SmsConversation"
    },
    {
      "$ref": "#/components/schemas/TwitterConversation"
    },
    {
      "$ref": "#/components/schemas/WhatsAppConversation"
    }
  ]
}
object ConversationAnonymizationType
{
  "type": "object"
}
object ConversationAssignedActivityType
{
  "type": "object"
}
object ConversationAssignedAttribute
{
  "type": "object",
  "required": [
    "agentId"
  ],
  "properties": {
    "agentId": {
      "type": "string"
    },
    "agentName": {
      "type": "string"
    }
  }
}
object ConversationAutoReplySentAttribute
{
  "type": "object",
  "required": [
    "templateName"
  ],
  "properties": {
    "templateName": {
      "type": "string"
    }
  }
}
object ConversationAutoreplySentActivityType
{
  "type": "object"
}
object ConversationClaimedActivityType
{
  "type": "object"
}
object ConversationClaimedAttribute
{
  "type": "object",
  "properties": {
    "claimedFromType": {
      "type": "string"
    },
    "claimedFromLabel": {
      "type": "string"
    }
  }
}
object ConversationClosedActivityType
{
  "type": "object"
}
object ConversationCreatedAttribute
{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string"
    }
  }
}
object ConversationCreatedByAgentActivityType
{
  "type": "object"
}
object ConversationCreatedByCustomerActivityType
{
  "type": "object"
}
object ConversationEndUserReplacedActivityType
{
  "type": "object"
}
object ConversationEndUserReplacedAttribute
{
  "type": "object",
  "required": [
    "oldUser",
    "newUser"
  ],
  "properties": {
    "newUser": {
      "$ref": "#/components/schemas/ActivityLogUser"
    },
    "oldUser": {
      "$ref": "#/components/schemas/ActivityLogUser"
    }
  }
}
object ConversationFlow
{
  "type": "object",
  "required": [
    "id",
    "name",
    "channel",
    "contactEndpointId"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "channel": {
      "type": "string",
      "description": "values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Twitter, Email, ContactForm, Callback, PstnPhone, Sms, Messenger]"
    },
    "contactEndpointId": {
      "type": "string"
    }
  }
}
object ConversationLanguageUpdatedActivityType
{
  "type": "object"
}
object ConversationLanguageUpdatedAttribute
{
  "type": "object",
  "required": [
    "language"
  ],
  "properties": {
    "language": {
      "type": "string"
    }
  }
}
object ConversationLink
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/EmailForward"
    },
    {
      "$ref": "#/components/schemas/FollowUp"
    },
    {
      "$ref": "#/components/schemas/SideConversation"
    }
  ]
}
object ConversationOfferAcceptedActivityType
{
  "type": "object"
}
object ConversationOfferRejectedActivityType
{
  "type": "object"
}
object ConversationOfferTimeoutActivityType
{
  "type": "object"
}
object ConversationOfferedActivityType
{
  "type": "object"
}
object ConversationOfferedAttribute
{
  "type": "object",
  "properties": {
    "agentNames": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "queueLabel": {
      "type": "string"
    }
  }
}
object ConversationPendingActivityType
{
  "type": "object"
}
object ConversationRatedActivityType
{
  "type": "object"
}
object ConversationRatedAttribute
{
  "type": "object",
  "required": [
    "agent"
  ],
  "properties": {
    "agent": {
      "$ref": "#/components/schemas/ActivityLogUser"
    },
    "score": {
      "type": "integer",
      "format": "int32"
    },
    "message": {
      "type": "string"
    }
  }
}
object ConversationRating
{
  "type": "object",
  "required": [
    "id",
    "ratingType",
    "conversationChannel",
    "userId",
    "ratingStatus",
    "timestamps"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    },
    "agentId": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "ratingType": {
      "type": "string",
      "description": "values: [Csat, ThumbsUpOrDown]"
    },
    "timestamps": {
      "$ref": "#/components/schemas/Map_String"
    },
    "ratingScore": {
      "type": "integer",
      "format": "int32"
    },
    "ratingStatus": {
      "type": "string",
      "description": "values: [Unscheduled, Offered, Rated, Scheduled, Cancelled]"
    },
    "ratingComment": {
      "type": "string"
    },
    "conversationChannel": {
      "type": "string",
      "description": "values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Twitter, Email, ContactForm, Callback, PstnPhone, Sms, Messenger]"
    }
  }
}
object ConversationRatingCancelledActivityType
{
  "type": "object"
}
object ConversationRatingOfferedActivityType
{
  "type": "object"
}
object ConversationRatingOfferedAttribute
{
  "type": "object",
  "required": [
    "agent",
    "user"
  ],
  "properties": {
    "user": {
      "$ref": "#/components/schemas/ActivityLogUser"
    },
    "agent": {
      "$ref": "#/components/schemas/ActivityLogUser"
    }
  }
}
object ConversationRatingScheduledActivityType
{
  "type": "object"
}
object ConversationRatingScheduledAttribute
{
  "type": "object",
  "required": [
    "ratingScheduledTime"
  ],
  "properties": {
    "ratingScheduledTime": {
      "type": "string"
    }
  }
}
object ConversationRatingUnscheduledActivityType
{
  "type": "object"
}
object ConversationReopenedActivityType
{
  "type": "object"
}
object ConversationReservedAttribute
{
  "type": "object",
  "required": [
    "agent",
    "queueId",
    "queueName",
    "reservationType",
    "validUntil"
  ],
  "properties": {
    "agent": {
      "$ref": "#/components/schemas/ActivityLogUser"
    },
    "queueId": {
      "type": "string"
    },
    "queueName": {
      "type": "string"
    },
    "validUntil": {
      "type": "string"
    },
    "reservationType": {
      "type": "string"
    }
  }
}
object ConversationReservedType
{
  "type": "object"
}
object ConversationResponse
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object ConversationSearchHit
{
  "type": "object",
  "required": [
    "id",
    "highlights"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "Identifier of a Conversation where a match was found"
    },
    "innerHits": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConversationSearchInnerHit"
      },
      "description": "List of sub-entities (such as Messages) where a match was found"
    },
    "highlights": {
      "$ref": "#/components/schemas/Map_Vector_String"
    }
  }
}
object ConversationSearchInnerHit
{
  "type": "object",
  "required": [
    "id",
    "highlight"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Identifier of a sub-entity (such as a Message) where a match was found"
    },
    "highlight": {
      "$ref": "#/components/schemas/Map_String"
    }
  }
}
object ConversationTagsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tag"
      }
    }
  }
}
object ConversationTransferredAttribute
{
  "type": "object",
  "required": [
    "transferType",
    "destinationType",
    "destinationId"
  ],
  "properties": {
    "reason": {
      "type": "string"
    },
    "transferType": {
      "type": "string"
    },
    "destinationId": {
      "type": "string"
    },
    "destinationType": {
      "type": "string"
    },
    "destinationLabel": {
      "type": "string"
    }
  }
}
object ConversationUnassignedActivityType
{
  "type": "object"
}
object ConversationUnassignedAttribute
{
  "type": "object",
  "required": [
    "agent"
  ],
  "properties": {
    "agent": {
      "$ref": "#/components/schemas/ActivityLogUser"
    }
  }
}
object CreateAgentInput
{
  "type": "object",
  "required": [
    "displayName",
    "email"
  ],
  "properties": {
    "email": {
      "type": "string",
      "description": "The agent's primary email address"
    },
    "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 CreateAgentsInput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateAgentInput"
      }
    }
  }
}
object CreateAgentsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_BulkError_Agent"
      }
    }
  }
}
object CreateConversationInput
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Callback"
    },
    {
      "$ref": "#/components/schemas/Chat"
    },
    {
      "$ref": "#/components/schemas/ContactForm"
    },
    {
      "$ref": "#/components/schemas/Email"
    },
    {
      "$ref": "#/components/schemas/Sms"
    }
  ]
}
object CreateConversationOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ConversationResponse"
    }
  }
}
object CreateEndUserInput
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "The contact's primary email address"
    },
    "lastName": {
      "type": "string",
      "description": "The contact's last name"
    },
    "avatarUrl": {
      "type": "string",
      "description": "The url from which to load the contact's avatar"
    },
    "firstName": {
      "type": "string",
      "description": "The contact's first name"
    },
    "externalId": {
      "type": "string",
      "description": "Custom external identifier for the contact"
    },
    "displayName": {
      "type": "string",
      "description": "The contact's display name"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The contact's middle names"
    },
    "phoneNumber": {
      "type": "string",
      "description": "The contact's primary phone number"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional email addresses for the contact"
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional phone numbers for the contact"
    }
  }
}
object CreateEndUserOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/EndUser"
    }
  }
}
object CreateEndUsersInput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CreateEndUserInput"
      }
    }
  }
}
object CreateEndUsersOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/BulkActionOutcome_BulkError_EndUser"
      }
    }
  }
}
object CreateInternalNoteInput
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "agentId": {
      "type": "string",
      "format": "uuid"
    },
    "message": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object CreateMessageInput
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Inbound"
    },
    {
      "$ref": "#/components/schemas/Outbound"
    }
  ]
}
object CreateMessageOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CreateMessageOutputData"
    }
  }
}
object CreateMessageOutputData
{
  "type": "object",
  "required": [
    "content",
    "direction",
    "authorId"
  ],
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "authorId": {
      "type": "string",
      "format": "uuid"
    },
    "createdAt": {
      "type": "string"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "messageId": {
      "type": "string",
      "format": "uuid"
    },
    "externalId": {
      "type": "string"
    }
  }
}
object CreateNoteOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/InternalNoteData"
    }
  }
}
object CreateOrUpdateQueueRequest
{
  "type": "object",
  "required": [
    "name",
    "callFunctionality",
    "isDefault",
    "isDoNotOfferEnabled"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "priority": {
      "type": "integer",
      "format": "int32"
    },
    "isDefault": {
      "type": "boolean"
    },
    "offerTimeout": {
      "type": "integer",
      "format": "int32"
    },
    "wrapupTimeout": {
      "type": "integer",
      "format": "int32"
    },
    "offerAlgorithm": {
      "type": "string",
      "description": "values: [AgentPriorityOneAtATimeRandom, AllAtOnce, AgentPriorityLongestIdle, AgentPriorityAllAtOnce, LongestIdle, OneAtATimeRandom]"
    },
    "queueThresholds": {
      "$ref": "#/components/schemas/Map_QueueThreshold_Int"
    },
    "callFunctionality": {
      "type": "boolean"
    },
    "doNotOfferTimeouts": {
      "$ref": "#/components/schemas/Map_ConversationChannel_Int"
    },
    "isDoNotOfferEnabled": {
      "type": "boolean"
    },
    "preferredAgentTimeouts": {
      "$ref": "#/components/schemas/Map_ConversationChannel_Int"
    },
    "isPreferredAgentEnabled": {
      "type": "boolean"
    },
    "offerAbandonedConversations": {
      "type": "boolean"
    },
    "personalAgentOfflineTimeout": {
      "type": "integer",
      "format": "int32"
    },
    "preferredAgentOfflineTimeout": {
      "type": "integer",
      "format": "int32"
    }
  }
}
object CreateQueueInput
{
  "type": "object",
  "required": [
    "request"
  ],
  "properties": {
    "request": {
      "$ref": "#/components/schemas/CreateOrUpdateQueueRequest"
    }
  }
}
object CreateQueueOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Queue1"
    }
  }
}
object CreateTagInput
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    }
  }
}
object CreateTagOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tag"
    }
  }
}
object CreateTeamInput
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string"
    }
  }
}
object CreateTeamOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Team1"
    }
  }
}
object CreateWebhookSubscriptionInput
{
  "type": "object",
  "required": [
    "name",
    "url",
    "authorization"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "URL of the server that the webhook request should be sent to"
    },
    "name": {
      "type": "string",
      "description": "The Webhook Subscription name"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [ConversationPending, AgentUnbannedEnduser, ConversationMessageAdded, ConversationTagAdded, AgentBannedIp, ConversationAssigned, ConversationPendingExpired, ConversationTransferred, ConversationEnqueued, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, AgentUnbannedIp, ConversationTagRemoved, ConversationRated]"
      },
      "description": "The set of events this Webhook Subscription subscribes to. Allowed values: [ConversationPending, AgentUnbannedEnduser, ConversationMessageAdded, ConversationTagAdded, AgentBannedIp, ConversationAssigned, ConversationPendingExpired, ConversationTransferred, ConversationEnqueued, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, AgentUnbannedIp, ConversationTagRemoved, ConversationRated]"
    },
    "enabled": {
      "type": "boolean",
      "description": "Defines whether this Webhook Subscription is enabled or disabled. Default is `true`"
    },
    "authorization": {
      "$ref": "#/components/schemas/WebhookAuthorization"
    }
  }
}
object CreateWebhookSubscriptionOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/WebhookSubscription"
    }
  }
}
object CustomAttribute
{
  "type": "object",
  "required": [
    "id",
    "name",
    "identifier",
    "value"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "value": {
      "oneOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "string"
        }
      ],
      "description": "AttributeValue values: String[] if the type of the custom attribute is Select or String if the type of the custom attribute is Text"
    },
    "identifier": {
      "type": "string"
    }
  }
}
object CustomAttributeDefinition
{
  "type": "object",
  "required": [
    "id",
    "entityType",
    "identifier",
    "label",
    "inputDefinition",
    "createdAt",
    "isRequired",
    "isArchived",
    "isDeactivated"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "label": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "entityType": {
      "type": "string",
      "description": "values: [Contact, Conversation]"
    },
    "identifier": {
      "type": "string"
    },
    "isArchived": {
      "type": "boolean"
    },
    "isRequired": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    },
    "isDeactivated": {
      "type": "boolean"
    },
    "inputDefinition": {
      "$ref": "#/components/schemas/CustomAttributeInputDefinition"
    }
  }
}
object CustomAttributeInputDefinition
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Select"
    },
    {
      "$ref": "#/components/schemas/Text1"
    }
  ]
}
object DeleteAgentsFromTeamInput
{
  "type": "object",
  "properties": {
    "agentIds": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    }
  }
}
object DeliveryDetail
{
  "type": "object",
  "required": [
    "deliveryTimestamp",
    "success",
    "responseCode",
    "responseText"
  ],
  "properties": {
    "success": {
      "type": "boolean"
    },
    "responseCode": {
      "type": "integer",
      "format": "int32"
    },
    "responseText": {
      "type": "string"
    },
    "deliveryTimestamp": {
      "type": "string"
    }
  }
}
object DeliveryStatus
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/DeliveryDetail"
    },
    {
      "$ref": "#/components/schemas/NoRecentDelivery"
    }
  ]
}
object DeprecatedActivityLogType
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/ConversationAssignedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationAutoreplySentActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationClaimedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationClosedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationCreatedByAgentActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationCreatedByCustomerActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationEndUserReplacedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationLanguageUpdatedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationOfferAcceptedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationOfferRejectedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationOfferTimeoutActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationOfferedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationPendingActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationRatedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationRatingCancelledActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationRatingOfferedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationRatingScheduledActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationRatingUnscheduledActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationReopenedActivityType"
    },
    {
      "$ref": "#/components/schemas/ConversationReservedType"
    },
    {
      "$ref": "#/components/schemas/ConversationUnassignedActivityType"
    },
    {
      "$ref": "#/components/schemas/FollowupAddedActivityType"
    },
    {
      "$ref": "#/components/schemas/FollowupExpiredActivityType"
    },
    {
      "$ref": "#/components/schemas/FollowupRemovedActivityType"
    },
    {
      "$ref": "#/components/schemas/MessageAddedByAgentActivityType"
    },
    {
      "$ref": "#/components/schemas/MessageAddedByCustomerActivityType"
    },
    {
      "$ref": "#/components/schemas/NoteAddedActivityType"
    },
    {
      "$ref": "#/components/schemas/TagAddedActivityType"
    },
    {
      "$ref": "#/components/schemas/TagRemovedActivityType"
    },
    {
      "$ref": "#/components/schemas/TransferFailedActivityType"
    },
    {
      "$ref": "#/components/schemas/TransferInitiatedActivityType"
    },
    {
      "$ref": "#/components/schemas/TransferSuccessfulActivityType"
    },
    {
      "$ref": "#/components/schemas/UnknownActivityType"
    }
  ],
  "deprecated": true,
  "description": "Replaced by _type field"
}
object DeprecatedAnonymizationType
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/ConversationAnonymizationType"
    },
    {
      "$ref": "#/components/schemas/MessageAnonymizationType"
    },
    {
      "$ref": "#/components/schemas/UnknownAnonymizationType"
    },
    {
      "$ref": "#/components/schemas/UserAnonymizationType"
    }
  ],
  "deprecated": true,
  "description": "Replaced by _type field"
}
object DoubleAggregateValue
{
  "type": "object",
  "required": [
    "value",
    "measure"
  ],
  "properties": {
    "value": {
      "type": "number",
      "format": "double"
    },
    "measure": {
      "type": "string",
      "description": "values: [Min, Max, Sum, Percentage, StdDev, Average]"
    }
  }
}
object DoubleField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "number",
      "format": "double"
    }
  }
}
object Email
{
  "type": "object",
  "required": [
    "requesterId",
    "emailIntegrationId",
    "subject",
    "message"
  ],
  "properties": {
    "message": {
      "$ref": "#/components/schemas/CreateMessageInput"
    },
    "subject": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "emailIntegrationId": {
      "type": "string"
    }
  }
}
object EmailAttributes
{
  "type": "object",
  "required": [
    "from",
    "isAutoReply"
  ],
  "properties": {
    "cc": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "to": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "bcc": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EmailContact"
      }
    },
    "from": {
      "$ref": "#/components/schemas/EmailContact"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "isAutoReply": {
      "type": "boolean"
    },
    "emailContent": {
      "$ref": "#/components/schemas/EmailContent"
    },
    "inlineImages": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "originalContentUrl": {
      "$ref": "#/components/schemas/File"
    },
    "deliveryFailureReason": {
      "type": "string"
    }
  }
}
object EmailContact
{
  "type": "object",
  "required": [
    "email"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    }
  }
}
object EmailContent
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Regular"
    },
    {
      "$ref": "#/components/schemas/TooLarge"
    }
  ]
}
object EmailConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt",
    "toEmail",
    "fromEmail",
    "integrationEmail"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "subject": {
      "type": "string"
    },
    "toEmail": {
      "type": "string"
    },
    "language": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "fromEmail": {
      "type": "string"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    },
    "integrationEmail": {
      "type": "string"
    }
  }
}
object EmailEndpoint
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "senderOverride": {
      "type": "string"
    }
  }
}
object EmailForward
{
  "type": "object",
  "required": [
    "parentId"
  ],
  "properties": {
    "parentId": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object EmptyPatchSet
{
  "type": "object",
  "required": [
    "id",
    "message"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object EndUser
{
  "type": "object",
  "required": [
    "id",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Unique identifier for the contact"
    },
    "email": {
      "type": "string",
      "description": "The contact's primary email address"
    },
    "lastName": {
      "type": "string",
      "description": "The contact's last name"
    },
    "avatarUrl": {
      "type": "string",
      "description": "The url from which to load the contact's avatar"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Time when the contact was created"
    },
    "firstName": {
      "type": "string",
      "description": "The contact's first name"
    },
    "externalId": {
      "type": "string",
      "description": "Custom external identifier for the contact"
    },
    "displayName": {
      "type": "string",
      "description": "The contact's display name"
    },
    "middleNames": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The contact's middle names"
    },
    "phoneNumber": {
      "type": "string",
      "description": "The contact's primary phone number"
    },
    "additionalEmails": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional email addresses for the contact"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      },
      "description": "Custom attributes for the contact"
    },
    "additionalPhoneNumbers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Additional phone numbers for the contact"
    }
  }
}
object ErrorResponse
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object EventDeliveryLog
{
  "type": "object",
  "required": [
    "deliveryDetail",
    "payload"
  ],
  "properties": {
    "payload": {
      "type": "string"
    },
    "deliveryDetail": {
      "$ref": "#/components/schemas/DeliveryDetail"
    }
  }
}
object EventDeliveryStatus
{
  "type": "object",
  "required": [
    "event",
    "deliveryStatus"
  ],
  "properties": {
    "event": {
      "type": "string",
      "description": "values: [ConversationPending, AgentUnbannedEnduser, ConversationMessageAdded, ConversationTagAdded, AgentBannedIp, ConversationAssigned, ConversationPendingExpired, ConversationTransferred, ConversationEnqueued, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, AgentUnbannedIp, ConversationTagRemoved, ConversationRated]"
    },
    "deliveryStatus": {
      "$ref": "#/components/schemas/DeliveryStatus"
    }
  }
}
object FacebookMessengerAttributes
{
  "type": "object",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    }
  }
}
object FacebookMessengerConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object Field
{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "field": {
      "$ref": "#/components/schemas/FieldType"
    }
  }
}
object FieldMetadata
{
  "type": "object",
  "required": [
    "field",
    "description",
    "nullable"
  ],
  "properties": {
    "field": {
      "type": "string"
    },
    "nullable": {
      "type": "boolean"
    },
    "description": {
      "type": "string"
    }
  }
}
object FieldType
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BooleanField"
    },
    {
      "$ref": "#/components/schemas/DoubleField"
    },
    {
      "$ref": "#/components/schemas/InstantField"
    },
    {
      "$ref": "#/components/schemas/IntField"
    },
    {
      "$ref": "#/components/schemas/ListField"
    },
    {
      "$ref": "#/components/schemas/LongField"
    },
    {
      "$ref": "#/components/schemas/StringField"
    },
    {
      "$ref": "#/components/schemas/TimestampField"
    },
    {
      "$ref": "#/components/schemas/UUIDField"
    }
  ]
}
object File
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "url"
    },
    "prettyName": {
      "type": "string"
    }
  }
}
object Filter
{
  "type": "object",
  "required": [
    "attribute"
  ],
  "properties": {
    "values": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "attribute": {
      "type": "string"
    }
  }
}
object FilterMetadata
{
  "type": "object",
  "required": [
    "filterAttribute"
  ],
  "properties": {
    "description": {
      "type": "string"
    },
    "filterAttribute": {
      "type": "string"
    }
  }
}
object FilterValue
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "label": {
      "type": "string"
    },
    "value": {
      "type": "string"
    }
  }
}
object FollowUp
{
  "type": "object",
  "required": [
    "parentId"
  ],
  "properties": {
    "parentId": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object FollowupAddedActivityType
{
  "type": "object"
}
object FollowupExpiredActivityType
{
  "type": "object"
}
object FollowupRemovedActivityType
{
  "type": "object"
}
object GenericAttributes
{
  "type": "object",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    }
  }
}
object GenericConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    },
    "toContactPointId": {
      "type": "string"
    },
    "fromContactPointId": {
      "type": "string"
    }
  }
}
object GetActivityLogOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActivityLogEntry"
      }
    }
  }
}
object GetContactPointByIdOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ContactEndpoint"
    }
  }
}
object GetConversationOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Conversation"
    }
  }
}
object GetEndUserOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/EndUser"
    }
  }
}
object GetFilterValuesOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FilterValue"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object GetMetricDataInput
{
  "type": "object",
  "required": [
    "id",
    "periodFilter",
    "timezone"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Filter"
      }
    },
    "timezone": {
      "type": "string"
    },
    "aggregations": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [Min, Max, Sum, Count, Percentage, StdDev, Average]"
      }
    },
    "periodFilter": {
      "$ref": "#/components/schemas/PeriodFilter"
    }
  }
}
object GetMetricDataOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MetricData"
    }
  }
}
object GetMetricOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MetricMetadata"
    }
  }
}
object GetMetricRecordOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MetricRecordMetadata"
    }
  }
}
object GetMetricRecordsDataInput
{
  "type": "object",
  "required": [
    "id",
    "periodFilter",
    "timezone"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Filter"
      }
    },
    "timezone": {
      "type": "string"
    },
    "periodFilter": {
      "$ref": "#/components/schemas/PeriodFilter"
    }
  }
}
object GetMetricRecordsDataOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MetricRecord"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object GetMetricRecordsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MetricRecordMetadata"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object GetMetricsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/MetricMetadata"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object GetQueueByIdOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Queue1"
    }
  }
}
object GetTagOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/Tag"
    }
  }
}
object GetWebhookEventDeliveryLogsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EventDeliveryLog"
      }
    }
  }
}
object GetWebhookLastDeliveryStatusOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EventDeliveryStatus"
      }
    }
  }
}
object GetWebhookSubscriptionOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/WebhookSubscription"
    }
  }
}
object Html
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "string"
    }
  }
}
object Inbound
{
  "type": "object",
  "required": [
    "content"
  ],
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "externalId": {
      "type": "string",
      "description": "Client generated identifier for external reference"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "integrationEmail": {
      "type": "string",
      "description": "Internal email address registered for the integration with format: \\<email-address\\>@email.dixa.io"
    }
  }
}
object Infrastructure
{
  "type": "object",
  "required": [
    "id",
    "message"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object InstantField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object IntField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "integer",
      "format": "int32"
    }
  }
}
object Integrity
{
  "type": "object",
  "required": [
    "id",
    "message"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object InternalNoteData
{
  "type": "object",
  "required": [
    "id",
    "authorId",
    "createdAt",
    "csid",
    "message"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "csid": {
      "type": "integer",
      "format": "int64"
    },
    "message": {
      "type": "string"
    },
    "authorId": {
      "type": "string",
      "format": "uuid"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object Interval
{
  "type": "object",
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "string",
      "format": "date-time"
    },
    "start": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object ListActivityLogOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActivityLogEntry"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object ListAgentsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Agent"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object ListContactPointsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ContactEndpoint"
      }
    }
  }
}
object ListConversationRatingsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConversationRating"
      }
    }
  }
}
object ListCustomAttributesDefinitionsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttributeDefinition"
      }
    }
  }
}
object ListEndUserConversationsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Conversation"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object ListEndUsersOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/EndUser"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object ListField
{
  "type": "object",
  "properties": {
    "values": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PrimitiveField"
      }
    }
  }
}
object ListFlowsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ConversationFlow"
      }
    }
  }
}
object ListInternalNotesOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InternalNoteData"
      }
    }
  }
}
object ListLinkedConversationsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Conversation"
      }
    }
  }
}
object ListMessagesOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Message"
      }
    }
  }
}
object ListPresenceOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/UserPresence"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object ListQueuesOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Queue1"
      }
    }
  }
}
object ListTagsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Tag"
      }
    }
  }
}
object ListTeamMembersOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/TeamMember"
      }
    }
  }
}
object ListTeamsOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Team1"
      }
    }
  }
}
object ListWebhookSubscriptionsEndpointOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/WebhookSubscription"
      }
    }
  }
}
object LongAggregateValue
{
  "type": "object",
  "required": [
    "value",
    "measure"
  ],
  "properties": {
    "value": {
      "type": "integer",
      "format": "int64"
    },
    "measure": {
      "type": "string",
      "description": "values: [Count]"
    }
  }
}
object LongField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object Map_ConversationChannel_Int
{
  "type": "object",
  "description": "values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Twitter, Email, ContactForm, Callback, PstnPhone, Sms, Messenger]",
  "additionalProperties": {
    "type": "integer",
    "format": "int32"
  }
}
object Map_ConversationChannel_Set_String
{
  "type": "object",
  "description": "values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Twitter, Email, ContactForm, Callback, PstnPhone, Sms, Messenger]",
  "additionalProperties": {
    "type": "array",
    "items": {
      "type": "string"
    }
  }
}
object Map_QueueThreshold_Int
{
  "type": "object",
  "description": "values: [SlaTimeLimit, AvailableAgents, LongestWait, SlaPercentage, WaitingConversations]",
  "additionalProperties": {
    "type": "integer",
    "format": "int32"
  }
}
object Map_String
{
  "type": "object",
  "additionalProperties": {
    "type": "string"
  }
}
object Map_UUID_Option_AttributeValue
{
  "type": "object",
  "additionalProperties": {
    "oneOf": [
      {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      {
        "type": "string"
      }
    ],
    "description": "AttributeValue values: String[] if the type of the custom attribute is Select or String if the type of the custom attribute is Text"
  }
}
object Map_Vector_String
{
  "type": "object",
  "description": "Snippet of text where a match was found. Matched text will be wrapped in \\<em\\> tags.",
  "additionalProperties": {
    "type": "array",
    "items": {
      "type": "string"
    }
  }
}
object Message
{
  "type": "object",
  "required": [
    "id",
    "authorId",
    "createdAt",
    "attributes"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "authorId": {
      "type": "string",
      "format": "uuid"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "attributes": {
      "$ref": "#/components/schemas/Attributes"
    },
    "externalId": {
      "type": "string"
    }
  }
}
object MessageAddedAttribute
{
  "type": "object",
  "required": [
    "messageId"
  ],
  "properties": {
    "avatarUrl": {
      "type": "string"
    },
    "messageId": {
      "type": "string"
    },
    "fromEndpoint": {
      "type": "string"
    }
  }
}
object MessageAddedByAgentActivityType
{
  "type": "object"
}
object MessageAddedByCustomerActivityType
{
  "type": "object"
}
object MessageAnonymizationType
{
  "type": "object"
}
object MessengerConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "language": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object MetricData
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "aggregates": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AggregateValue"
      }
    }
  }
}
object MetricMetadata
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The metric ID"
    },
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FilterMetadata"
      },
      "description": "List of available filters that can be used when fetching metric data"
    },
    "description": {
      "type": "string",
      "description": "Relevant information about the metric"
    },
    "aggregations": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/AggregateMetadata"
      },
      "description": "List of available aggregations that can be used when fetching metric data"
    },
    "relatedRecordIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of record IDs used to compose the metric"
    }
  }
}
object MetricRecord
{
  "type": "object",
  "required": [
    "primaryTimestampField"
  ],
  "properties": {
    "value": {
      "$ref": "#/components/schemas/FieldType"
    },
    "fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Field"
      }
    },
    "primaryTimestampField": {
      "$ref": "#/components/schemas/TimestampField"
    }
  }
}
object MetricRecordMetadata
{
  "type": "object",
  "required": [
    "id",
    "description"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The record ID"
    },
    "filters": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FilterMetadata"
      },
      "description": "List of available filters that can be used when fetching record data"
    },
    "description": {
      "type": "string",
      "description": "Relevant information about the record"
    },
    "fieldsMetadata": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/FieldMetadata"
      },
      "description": "Information about the individual record fields"
    },
    "relatedMetricIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of metric IDs that make use of this record"
    }
  }
}
object NoAuth
{
  "type": "object"
}
object NoRecentDelivery
{
  "type": "object"
}
object NotFound
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object NotFound1
{
  "type": "object",
  "required": [
    "id",
    "message"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object NoteAddedActivityType
{
  "type": "object"
}
object NoteAddedAttribute
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    },
    "avatarUrl": {
      "type": "string"
    }
  }
}
object Outbound
{
  "type": "object",
  "required": [
    "content",
    "agentId"
  ],
  "properties": {
    "cc": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "bcc": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uuid"
      }
    },
    "agentId": {
      "type": "string",
      "format": "uuid"
    },
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "externalId": {
      "type": "string"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    },
    "integrationEmail": {
      "type": "string"
    }
  }
}
object PaginationLinks
{
  "type": "object",
  "properties": {
    "next": {
      "type": "string",
      "description": "url"
    },
    "previous": {
      "type": "string",
      "description": "url"
    }
  }
}
object PatchAgentInput
{
  "type": "object",
  "properties": {
    "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 PatchConversationCustomAttributesOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object PatchEndUserCustomAttributesOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object PatchEndUserInput
{
  "type": "object",
  "properties": {
    "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 PatchEndUserOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/EndUser"
    }
  }
}
object PatchWebhookSubscriptionInput
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "URL of the server that the webhook request should be sent to"
    },
    "name": {
      "type": "string",
      "description": "The Webhook Subscription name"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [ConversationPending, AgentUnbannedEnduser, ConversationMessageAdded, ConversationTagAdded, AgentBannedIp, ConversationAssigned, ConversationPendingExpired, ConversationTransferred, ConversationEnqueued, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, AgentUnbannedIp, ConversationTagRemoved, ConversationRated]"
      },
      "description": "The set of events this Webhook Subscription subscribes to. Allowed values: [ConversationPending, AgentUnbannedEnduser, ConversationMessageAdded, ConversationTagAdded, AgentBannedIp, ConversationAssigned, ConversationPendingExpired, ConversationTransferred, ConversationEnqueued, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, AgentUnbannedIp, ConversationTagRemoved, ConversationRated]"
    },
    "enabled": {
      "type": "boolean",
      "description": "Defines whether this Webhook Subscription is enabled or disabled"
    },
    "authorization": {
      "$ref": "#/components/schemas/WebhookAuthorization"
    }
  }
}
object PatchWebhookSubscriptionOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/WebhookSubscription"
    }
  }
}
object PeriodFilter
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/Interval"
    },
    {
      "$ref": "#/components/schemas/Preset"
    }
  ]
}
object PhoneAttributes
{
  "type": "object",
  "required": [
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "duration": {
      "type": "integer",
      "format": "int32"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    }
  }
}
object Preset
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "string",
      "description": "values: [PreviousQuarter, ThisWeek, PreviousWeek, Yesterday, Today, ThisMonth, PreviousMonth, ThisQuarter, ThisYear]"
    }
  }
}
object PrimitiveField
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BooleanField"
    },
    {
      "$ref": "#/components/schemas/DoubleField"
    },
    {
      "$ref": "#/components/schemas/InstantField"
    },
    {
      "$ref": "#/components/schemas/IntField"
    },
    {
      "$ref": "#/components/schemas/LongField"
    },
    {
      "$ref": "#/components/schemas/StringField"
    },
    {
      "$ref": "#/components/schemas/UUIDField"
    }
  ]
}
object PstnPhoneConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object Queue
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "queuedAt": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object Queue1
{
  "type": "object",
  "required": [
    "id",
    "name",
    "isDefault",
    "organizationId",
    "queueThresholds",
    "slaCalculationMethod",
    "doNotOfferTimeouts",
    "isDoNotOfferEnabled"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "usages": {
      "$ref": "#/components/schemas/QueueUsages"
    },
    "priority": {
      "type": "integer",
      "format": "int32"
    },
    "isDefault": {
      "type": "boolean"
    },
    "offerTimeout": {
      "type": "integer",
      "format": "int32"
    },
    "wrapupTimeout": {
      "type": "integer",
      "format": "int32"
    },
    "memberListType": {
      "type": "string",
      "description": "values: [Default, SkillBased]"
    },
    "organizationId": {
      "type": "string"
    },
    "queueThresholds": {
      "$ref": "#/components/schemas/Map_QueueThreshold_Int"
    },
    "offeringAlgorithm": {
      "type": "string",
      "description": "values: [AgentPriorityOneAtATimeRandom, AllAtOnce, AgentPriorityLongestIdle, AgentPriorityAllAtOnce, LongestIdle, OneAtATimeRandom]"
    },
    "doNotOfferTimeouts": {
      "$ref": "#/components/schemas/Map_ConversationChannel_Int"
    },
    "isDoNotOfferEnabled": {
      "type": "boolean"
    },
    "slaCalculationMethod": {
      "type": "string",
      "description": "values: [AbandonedIgnored]"
    },
    "preferredAgentTimeouts": {
      "$ref": "#/components/schemas/Map_ConversationChannel_Int"
    },
    "isPreferredAgentEnabled": {
      "type": "boolean"
    },
    "offerAbandonedConversations": {
      "type": "boolean"
    },
    "personalAgentOfflineTimeout": {
      "type": "integer",
      "format": "int32"
    },
    "preferredAgentOfflineTimeout": {
      "type": "integer",
      "format": "int32"
    }
  }
}
object QueueMember
{
  "type": "object",
  "required": [
    "agentId"
  ],
  "properties": {
    "agentId": {
      "type": "string"
    },
    "priority": {
      "type": "integer",
      "format": "int32"
    }
  }
}
object QueueMembersOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/QueueMember"
      }
    }
  }
}
object QueueUsages
{
  "type": "object",
  "required": [
    "queueId",
    "usages"
  ],
  "properties": {
    "usages": {
      "$ref": "#/components/schemas/Map_ConversationChannel_Set_String"
    },
    "queueId": {
      "type": "string"
    }
  }
}
object Regular
{
  "type": "object",
  "required": [
    "content"
  ],
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    }
  }
}
object ReopenConversationInput
{
  "type": "object",
  "properties": {
    "userId": {
      "type": "string",
      "format": "uuid"
    }
  }
}
object SearchHit
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/ConversationSearchHit"
    }
  ]
}
object SearchOutput
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SearchHit"
      }
    },
    "meta": {
      "$ref": "#/components/schemas/PaginationLinks"
    }
  }
}
object Select
{
  "type": "object",
  "properties": {
    "options": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SelectOption"
      }
    }
  }
}
object SelectOption
{
  "type": "object",
  "required": [
    "id",
    "label",
    "value",
    "isDeactivated"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "label": {
      "type": "string"
    },
    "value": {
      "type": "string"
    },
    "isDeactivated": {
      "type": "boolean"
    },
    "nestedOptions": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/SelectOption"
      }
    }
  }
}
object ServerError
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object SideConversation
{
  "type": "object",
  "required": [
    "parentId"
  ],
  "properties": {
    "parentId": {
      "type": "integer",
      "format": "int64"
    }
  }
}
object Sms
{
  "type": "object",
  "required": [
    "requesterId",
    "contactEndpointId",
    "message"
  ],
  "properties": {
    "message": {
      "$ref": "#/components/schemas/CreateMessageInput"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "contactEndpointId": {
      "type": "string",
      "description": "SMS enabled provisioned phone number in valid E.164 format"
    }
  }
}
object SmsAttributes
{
  "type": "object",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    }
  }
}
object SmsConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "toNumber": {
      "type": "string"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "fromNumber": {
      "type": "string"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}
object StringField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "label": {
      "type": "string"
    },
    "value": {
      "type": "string"
    }
  }
}
object Tag
{
  "type": "object",
  "required": [
    "id",
    "name",
    "state"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "color": {
      "type": "string"
    },
    "state": {
      "type": "string",
      "description": "values: [Active, Inactive]"
    }
  }
}
object TagAddedActivityType
{
  "type": "object"
}
object TagAddedAttribute
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string"
    }
  }
}
object TagRemovedActivityType
{
  "type": "object"
}
object TagRemovedAttribute
{
  "type": "object",
  "required": [
    "tag"
  ],
  "properties": {
    "tag": {
      "type": "string"
    }
  }
}
object Team
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    }
  }
}
object Team1
{
  "type": "object",
  "required": [
    "id",
    "name"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  }
}
object TeamMember
{
  "type": "object",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "phoneNumber": {
      "type": "string"
    }
  }
}
object TelephonyEndpoint
{
  "type": "object",
  "required": [
    "number"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "number": {
      "type": "string"
    },
    "functionality": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [Sms, VoiceInbound, VoiceOutbound]"
      }
    }
  }
}
object Text
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "string"
    }
  }
}
object Text1
{
  "type": "object",
  "properties": {
    "placeholder": {
      "type": "string"
    }
  }
}
object TimestampField
{
  "type": "object",
  "required": [
    "name",
    "timestamp"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    }
  }
}
object TokenAuth
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "string",
      "description": "Token value. It will be added in the headers of the request as: 'Authorization': 'Bearer \\<value\\>'"
    }
  }
}
object TooLarge
{
  "type": "object",
  "required": [
    "file"
  ],
  "properties": {
    "file": {
      "$ref": "#/components/schemas/File"
    }
  }
}
object TransferConversationInput
{
  "type": "object",
  "required": [
    "queueId"
  ],
  "properties": {
    "userId": {
      "type": "string",
      "format": "uuid",
      "description": "An optional agent/admin to originate the transfer of the conversation"
    },
    "queueId": {
      "type": "string",
      "format": "uuid",
      "description": "The target queue for the conversation transfer"
    }
  }
}
object TransferFailedActivityType
{
  "type": "object"
}
object TransferInitiatedActivityType
{
  "type": "object"
}
object TransferSuccessfulActivityType
{
  "type": "object"
}
object TwitterAttributes
{
  "type": "object",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    }
  }
}
object TwitterConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt",
    "conversationType"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "conversationType": {
      "type": "string",
      "description": "values: [DirectMessage, Tweet]"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    },
    "endUserTwitterId": {
      "type": "string"
    },
    "contactPointTwitterId": {
      "type": "string"
    }
  }
}
object UUIDField
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "label": {
      "type": "string"
    },
    "value": {
      "type": "string",
      "format": "uuid"
    }
  }
}
object Unauthorized
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string"
    }
  }
}
object UnknownActivityType
{
  "type": "object"
}
object UnknownAnonymizationType
{
  "type": "object"
}
object UpdateAgentInput
{
  "type": "object",
  "required": [
    "displayName"
  ],
  "properties": {
    "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 UpdateEndUserInput
{
  "type": "object",
  "required": [
    "displayName"
  ],
  "properties": {
    "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 UpdateEndUserOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/EndUser"
    }
  }
}
object UserAnonymizationType
{
  "type": "object"
}
object UserPresence
{
  "type": "object",
  "required": [
    "userId",
    "requestTime",
    "connectionStatus"
  ],
  "properties": {
    "userId": {
      "type": "string"
    },
    "lastSeen": {
      "type": "string"
    },
    "requestTime": {
      "type": "string"
    },
    "activeChannels": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [WhatsApp, Voicemail, WidgetChat, FacebookMessenger, Twitter, Email, ContactForm, Callback, PstnPhone, Sms, Messenger]"
      }
    },
    "presenceStatus": {
      "type": "string",
      "description": "values: [Away, Working]"
    },
    "connectionStatus": {
      "type": "string",
      "description": "values: [Offline, Online]"
    }
  }
}
object UserPresenceOutput
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/UserPresence"
    }
  }
}
object Validation
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}
object WebhookAuthorization
{
  "oneOf": [
    {
      "$ref": "#/components/schemas/BasicAuth"
    },
    {
      "$ref": "#/components/schemas/NoAuth"
    },
    {
      "$ref": "#/components/schemas/TokenAuth"
    }
  ],
  "description": "Authorization to be added as a header in the webhook request. Can be either, Basic auth, added as 'Basic base64encoded(\\<username\\>:\\<password\\>)', Token auth, added as 'Bearer \\<token value\\>', or no auth"
}
object WebhookSubscription
{
  "type": "object",
  "required": [
    "id",
    "name",
    "url",
    "headers",
    "secretKey",
    "enabled",
    "createdAt",
    "createdBy",
    "updatedAt",
    "updatedBy"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "The Webhook Subscription ID"
    },
    "url": {
      "type": "string",
      "description": "URL of the server that the webhook request should be sent to"
    },
    "name": {
      "type": "string",
      "description": "The Webhook Subscription name"
    },
    "enabled": {
      "type": "boolean",
      "description": "Defines whether this Webhook Subscription is enabled or disabled"
    },
    "headers": {
      "$ref": "#/components/schemas/Webhook_Headers_Map_String_String"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date when this Webhook Subscription was created"
    },
    "createdBy": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the user who created this Webhook Subscription"
    },
    "secretKey": {
      "type": "string",
      "description": "Dixa generated secret key, used to sign the requests"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Date when this Webhook Subscription was last updated"
    },
    "updatedBy": {
      "type": "string",
      "format": "uuid",
      "description": "The ID of the user who last updated this Webhook Subscription"
    },
    "subscribedEvents": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "values: [ConversationPending, AgentUnbannedEnduser, ConversationMessageAdded, ConversationTagAdded, AgentBannedIp, ConversationAssigned, ConversationPendingExpired, ConversationTransferred, ConversationEnqueued, ConversationCreated, ConversationUnassigned, ConversationOpen, ConversationAbandoned, ConversationClosed, ConversationNoteAdded, AgentBannedEnduser, ConversationEndUserReplaced, AgentUnbannedIp, ConversationTagRemoved, ConversationRated]"
      },
      "description": "The set of events this Webhook Subscription is subscribed to"
    }
  }
}
object Webhook_Headers_Map_String_String
{
  "type": "object",
  "description": "The headers that will be added to the webhook request",
  "additionalProperties": {
    "type": "string"
  }
}
object WhatsAppAttributes
{
  "type": "object",
  "properties": {
    "content": {
      "$ref": "#/components/schemas/Content"
    },
    "direction": {
      "type": "string",
      "description": "values: [Inbound, Internal, Outbound]"
    },
    "attachments": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/File"
      }
    }
  }
}
object WhatsAppConversation
{
  "type": "object",
  "required": [
    "id",
    "requesterId",
    "channel",
    "createdAt"
  ],
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "link": {
      "$ref": "#/components/schemas/ConversationLink"
    },
    "queue": {
      "$ref": "#/components/schemas/Queue"
    },
    "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]"
    },
    "assignment": {
      "$ref": "#/components/schemas/Assignment"
    },
    "requesterId": {
      "type": "string",
      "format": "uuid"
    },
    "stateUpdatedAt": {
      "type": "string",
      "format": "date-time"
    },
    "customAttributes": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomAttribute"
      }
    }
  }
}