Error Messages

The Streaming API sends updates, errors, and warnings in response to your requests and to the events that may affect your ability to receive interactions.

You can expect to receive the following types of messages:

  • Success -- you made a successful request to the Streaming API
  • Ticks -- keep-alive and diagnostic messages sent to the client waiting for or receiving interactions
  • Request Errors -- the information you provided is incorrect
  • Streaming Errors -- technical problems that prevent DataSift from processing your request
  • Billing Errors -- insufficient funds
  • Authentication Error -- problems confirming your identity
  • Warnings -- you need to take action in order to keep receiving interactions

Successfully subscribed to hash

Success. You made a successful request to the Streaming API. Please wait for the tick messages and interactions. You will see this message after making a successful attempt to subscribe to a stream when multistreaming.

{
    "status": "success",
    "message": "Successfully subscribed to hash <HASH>"
}

Ticks

Ticks are short messages sent by DataSift when no interactions are sent for 30 seconds. They are sent to keep the connection alive. You can ignore them but your client needs to be able to handle them.

Waiting for data

{
    "tick": 1311694603,
    "status": "connected",
    "message": "Waiting for data"
}

Everything is fine. We are waiting for data and we send these messages to keep the connection alive.

There was a problem keeping the connection alive

{
    "status": "failure",
    "message": "There was a problem keeping the connection alive"
}

Could not keep the connection alive.

Request Errors

Request errors are sent when you make a request that DataSift cannot process because the information you sent is incorrect.

The JSON received from the message was invalid

{
    "status": "warning",
    "message": "The JSON received from the message was invalid"
}

The JSON object that you sent to DataSift contained an error. Please check your code.

is an invalid hash

{
    "status": "failure",
    "message": "<HASH> is an invalid hash"
}

You supplied a hash that DataSift did not recognize. Check for errors and try again.

An invalid action was received

{
    "status": "warning",
    "message": "An invalid action was received"
}

The action in your JSON object must be subscribe or unsubscribe.

You did not send a valid hash to subscribe to

{
    "status": "warning",
    "message": "You did not send a valid hash to subscribe to"
}

DataSift did not recognize the hash in your JSON object.

You did not send a valid hash to unsubscribe to

{
    "status": "warning",
    "message": "You did not send a valid hash to unsubscribe to"
}

DataSift did not recognize the hash in your JSON object.

You aren't currently subscribed to the hash

{
    "status": "warning",
    "message": "You aren't currently subscribed to the hash "
}

You were not subscribed to the hash you tried to unsubscribe from.

You have too many subscriptions

{
    "status": "failure",
    "message": "You have too many subscriptions"
}

The /stream and /multi endpoints limit you to 5,000 subscriptions. If you need more, consider using the stream keyword in your CSDL.

None of the supplied hashes were valid

{
    "status": "failure",
    "message": "None of the supplied hashes were valid"
}

You are trying to use multiple streams, but none of the hashes you sent to DataSift are valid.

Streaming Errors

Streaming errors are sent when DataSift cannot process your request for technical reasons.

There was a problem starting your connection. Please reconnect.

{   
    "status": "failure",
    "message": "There was a problem starting your connection. Please reconnect."
}

Try again.

There was a problem starting your stream

{   
    "status": "failure",
    "message": "There was a problem starting your stream"
}

One of our internal services is having problems so you won't be able to authenticate right now. We will be back soon.

There was an error getting the stream information

{
    "status": "failure",
    "message": "There was an error getting the stream information"
}

One of our internal services is having problems so you won't be able to consume data from that stream. We will be back to normal soon.

The stream has been disabled

{
    "status": "failure",
    "message": "The stream <HASH> has been disabled"
}

The stream is no longer available. Streams get disabled when they use deprecated targets or for non-compliance with our Terms and Conditions.

The stream you are trying to use is currently disabled

{
    "status": "failure",
    "message": "The stream you are trying to use is currently disabled"
}

See above.

Billing Errors

DataSift sends billing-related errors when we cannot confirm that your account with DataSift is in good standing order. If you believe this is a mistake, get in touch with our support team. Also, make sure you understand how our billing works.

You have insufficient credits available to consume the stream

{
    "status": "failure",
    "message": "You have insufficient credits available to consume the stream"
}

Please top up your credits.

There was a problem getting the available credit balance

{
    "status": "failure",
    "message": "There was a problem getting the available credit balance"
}

Our system for verifying your account balance had a temporary problem. Give us a few moments to fix things.

Authentication Errors

Authentication errors are sent when DataSift cannot verify your identity.

There was an error verifying the username

{
    "status": "failure",
    "message": "There was an error verifying the username"
}

Our system for verifying user names had a temporary problem. Give us a few moments to fix things.

There was an error authenticating your account

{
    "status": "failure",
    "message": "There was an error authenticating your account"
}

One of our internal services is having problems so you won't be able to authenticate right now. We will be back to normal soon.

A username and API key are both required

{
    "status": "failure",
    "message": "A username and API key are both required"
}

You missed your API key or username from the request. If you have connected with one of the DataSift API bindings then there might be a bug with our software. Otherwise, check the URL or headers you have used.

Invalid API key given

{
    "status": "failure",
    "message": "Invalid API key given"
}

You have used the wrong API key. Log in to find your current API key or create a new one.

The username or API key is not correct or you have been banned

{
    "status": "failure",
    "message": "The username or API key is not correct or you have been banned"
}

Check you API key. Generate a new API key, if necessary. if you are still seeing this messagw, please contact Support.

Your account has been denied access

{
    "status": "failure",
    "message": "Your account has been denied access"
}

You account has been locked. Please contact Support.

Warnings

DataSift sends warnings when you need to take action in order to keep receiving interactions.

The streaming API is currently at full capacity

{
    "status": "failure",
    "message": "The streaming API is currently at full capacity"
}

We're aware of the problem and we're working hard to get the data flowing again. Please follow our reconnection guidelines to help everyone have the best experience of DataSift.

This streaming API service node is closing for maintenance, please reconnect immediately

{
    "status": "failure",
    "message": "This streaming API service node is closing for maintenance, please reconnect immediately"
}

To continue receiving data, please reconnect. You need to reconnect immediately or you will lose data. If you do miss any data, you can read it later using Historics. Please note that our client libraries handle reconnection automatically.

You are consuming data too slowly. If you do not consume data faster you will be disconnected.

{   
    "status": "warning",
    "message": "You are consuming data too slowly. If you do not consume data faster you will be disconnected."
}

Our servers buffer data for you. This gives your software time to capture the entire output of your streams without missing anything. However, there's a limit to what we can store for you. If your client is too slow and allows too much data to accumulate in our buffers, you may be disconnected.

You are consuming data too slowly and have been disconnected

{
    "status": "failure",
    "message": "You are consuming data too slowly and have been disconnected"
}

See above.