Skip to content

Dixa API (beta)

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

Analytics

Operations

Agents

Operations

End Users

Operations

Chatbots

Operations

Anonymization

Operations

Custom Attributes

Operations

Teams

Operations

Conversations

Operations

Create conversation

Request

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.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

The conversation to create

One of:
requesterIdstring(uuid)required
directionstringrequired

values: [Inbound, Outbound]

contactEndpointIdstringrequired
queueIdstring(uuid)required
curl -i -X POST \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/conversations \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "requesterId": "9c2a2cce-699f-4a72-89d9-fda5bc8dec8b",
    "emailIntegrationId": "my-integration@email.dixa.io",
    "subject": "order #123",
    "message": {
      "content": {
        "value": "My order hasn'\''t shipped",
        "_type": "Text"
      },
      "attachments": [],
      "_type": "Inbound"
    },
    "language": "en",
    "_type": "Email"
  }'

Responses

The id of the created conversation

Bodyapplication/json
dataobject(ConversationResponse)required
data.​idinteger(int64)required
Response
application/json
{ "data": { "id": 100 } }

Import conversation

Request

Import a previously created conversation into Dixa. For inbound messages the author is assumed to be the requester of the conversation (end user), unless the specific channel supports overriding the message author through its attributes. For outbound messages the author is specified using the agentId field.

Security
ApiKeyAuth
Bodyapplication/jsonrequired

The type of conversation to import

GenericConversationImport (object)(ImportConversationInput)
curl -i -X POST \
  https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/conversations/import \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "genericChannelName": "MyCustomChat",
    "requesterId": "9c2a2cce-699f-4a72-89d9-fda5bc8dec8b",
    "requesterConnectionStatus": "Connected",
    "direction": "Inbound",
    "messages": [
      {
        "content": {
          "value": "My order hasn'\''t shipped",
          "_type": "Text"
        },
        "attachments": [],
        "createdAt": "2021-12-01T13:00:00.003Z",
        "_type": "InboundImport"
      },
      {
        "content": {
          "value": "Our bad, sorry",
          "_type": "Text"
        },
        "agentId": "cd4ceb58-bb3a-443c-9cd8-4f088feafe5b",
        "attachments": [
          {
            "url": "https://en.wikipedia.org/wiki/Shipwreck#/media/File:Titanic_wreck_bow.jpg",
            "prettyName": "shipwreck"
          }
        ],
        "createdAt": "2021-12-01T14:00:00.004Z",
        "_type": "OutboundImport"
      }
    ],
    "createdAt": "2021-12-01T11:00:00.001Z",
    "assignment": {
      "agentId": "cd4ceb58-bb3a-443c-9cd8-4f088feafe5b",
      "assignedAt": "2021-12-01T12:00:00.002Z"
    },
    "closing": {
      "closedAt": "2021-12-01T15:00:00.005Z",
      "closedBy": "cd4ceb58-bb3a-443c-9cd8-4f088feafe5b"
    },
    "_type": "GenericConversationImport"
  }'

Responses

The id of the imported conversation

Bodyapplication/json
dataobject(ImportConversationResponse)required
data.​idinteger(int64)required

The id of the newly imported conversation

data.​partialErrorsArray of objects(PartialError)

List of errors that do not prevent the conversation from being created

Response
application/json
{ "data": { "id": 100, "partialErrors": [ … ] } }

Patch conversation custom attributes

Request

Patch custom attributes of a conversation

Security
ApiKeyAuth
Path
conversationIdinteger(int64)required
Bodyapplication/jsonrequired

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

property name*Array of strings or stringadditional property

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

One of:

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

curl -i -X PATCH \
  'https://docs.dixa.io/_mock/openapi/dixa-api/beta/beta/conversations/{conversationId}/custom-attributes' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "2f5515b6-7e98-4f4d-9010-bfd2a27d4f35": "012345",
    "e14708a6-eed9-495c-9d88-c72331e9e247": [
      "str1",
      "str2"
    ]
  }'

Responses

The patched conversation attributes

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

Messages

Operations

Internal Notes

Operations

Ratings

Operations

Tags

Operations

Queues

Operations

Contact Endpoints

Operations

Webhooks

Operations

Templates

Operations

Business Hours

Operations

Knowledge

Operations

Organization

Operations