Datahose - Read Events

Creates and reads a real time feed of messages & events. The datahose API provides messages and events from all conversations in the pod, even the ones the service user is not part of. The types of events surfaced can be found in the Real Time Events list.

Add-on: The Datahose API is an add-on to the Symphony Services, and is subject to additional charges. Prior to using Datahose in your Symphony environment(s), you will need to enter into a specific contract. Please reach out to [email protected] to discuss the offering, its pricing or for any further information.


The Agent v22.6 (release date: June 2022) is required.


The service account needs to have both the Can read from datahose feeds and Can create datahose feeds entitlements enabled to call this endpoint.

Please contact your Technical Account Manager or Symphony representative to get your chat Bot entitled.


The credentials of the Content Export service need to be setup in the Agent configuration for datahose to work.

The description of the configuration fields for the Content Export service is available in the Agent configuration guide (look for agent.privatekey.ceservice and agent.certificate.ceservice).

To check that the Content Export is correctly setup, you can test the Agent health check extended endpoint (/agent /v3/health/extended).

The value of users.ceservice.status should be "UP", see example below.

    "services": {
        "datafeed": {
            "status": "UP",
            "version": "2.11.2"
        "key_manager": {
            "status": "UP",
            "version": "20.16.3"
        "pod": {
            "status": "UP",
            "version": "20.16.74-216-100b3be"
    "status": "UP",
    "users": {
        "agentservice": {
            "authType": "RSA",
            "status": "UP"
        "ceservice": {
            "authType": "RSA",
    "version": "23.11.1-716"

Using ackId

The endpoint returns the Real Time Events happening in the pod, either since the time the datahose feed was created or since the previous feed was read by the bot. The ackId has an essential role in retrieving the right events for the bot.

The ackId must be null or empty for the first call. Then, for subsequent requests, the ackId from the previous payload should be reused to confirm the reading of previous events already retrieved by the bot. Please note that you can very easily access this API via our BDKs in Java and Python.

If a batch of messages is not confirmed by sending the ackId, the messages that are there will be returned in the subsequent readings and may blend into the newer messages.

Fair use policy

Datahose API is subject to a fair use policy of 5 active feeds.

If your integration or workflow requires more than 5 feeds active at the same time, please contact Symphony.

Last updated