Update the name or output parameters for an existing Subscription.

An HTTP PUT request sent to:


A successful call to this endpoint returns: 200 OK.


Parameter Description

The id of an existing Subscription.

Example values: 08b923395b6ce8bfa4d96f57f863a1c3


The name you want to assign to the Subscription.

Example values: MyTest


The output parameters are documented individually for each of DataSift's connectors.

Example values: output_params.format=json


  1. Change the name and output parameters for an existing Subscription:

curl -X PUT 'https://api.datasift.com/v1.3/push/update' 
    -d 'id=f4d4caee9acfd27faf88843d8d6191b1' 
    -d 'name=myupdatedpushsubscription' 
    -d 'hash=SourceStreamHash' 
    -d 'output_type=s3' 
    -d 'output_params.bucket=datasift-s3' 
    -d 'output_params.directory=interactions' 
    -d 'output_params.acl=private' 
    -d 'output_params.auth.access_key=YourAmazonAWSAccessKey' 
    -d 'output_params.auth.secret_key=YourAmazonAWSSecretKey' 
    -d 'output_params.delivery_frequency=60' 
    -d 'output_params.max_size=102400' 
    -d 'output_params.file_prefix=Datasift' 
    -H 'Authorization: datasift-user:your-datasift-api-key'

The new name and output parameters are echoed back in the JSON to confirm that your change is accepted. If an error occurs, DataSift writes it to the message log. Hit the push/log endpoint regularly to check the log.

    "id": "f4d4caee9acfd27faf88843d8d6191b1",
    "output_type": "dynamodb",
    "name": "myupdatedpushsubscription",
    "created_at": 1365430066,
    "user_id": 12635,
    "hash": "edd0b9fb266e8f3f2de40bf6c1a2bf3e",
    "hash_type": "stream",
    "output_params": {
        "table": "datasift-dynamodb",
        "region": "dynamodb.us-west-1.amazonaws.com"
    "status": "active",
    "last_request": 1365437678,
    "last_success": 1365435315,
    "remaining_bytes": 14945919,
    "lost_data": false,
    "start": null,
    "end": null

Property: Description:
id The unique ID of the updated Push subscription. It is the ID you supplied when you made this call to /push/update.
output_type The name of the output type. See the list of the values of the output_type parameter elsewhere on this page.
name A user-defined name of the subscription.
created_at A Unix timestamp that represents the date and time when the subscription was created.
user_id An integer ID of the DataSift user who created the subscription.
hash A stream ID or Historics query ID.
hash_type Can be either "hash" (when the hash element represents a stream) or "historics" (when the hash element represents a Historics query).
output_params output_parameters used in the call to /push/create.
status Subscription status.
last_success The time of the most recent successful delivery. A Unix timestamp. Set to null.
last_request The time of the most recent Push delivery request sent to the associate data destination. A Unix timestamp. Set to null.
remaining_bytes The number of bytes queued for delivery.
lost_data Set to true if data was removed from the Push delivery queue because it could not be delivered.
start Subscription start time/date. A Unix timestamp. Set to null for immediate start.
end Subscription end time. A Unix timestamp. Set to null when interactions should be delivered with no preset end time/date.


  1. All calls to the API must be properly authenticated with a DataSift username and API key.
  2. The /push/update endpoint allows you to modify the name or output parameters for an existing Subscription.
  3. You can hit the push/update endpoint any time you want, even when the Subscription that you're changing is running. However, if you change your destination, DataSift will immediately halt delivery to the original destination and begin to deliver to the new destination.
  4. For more details, take a look at the Push API overview.
  5. All calls to the API must be versioned. The current version is v1.3.

Resource information

Rate limit cost: 5

Requires authentication: Yes

Response formats: JSON, JSONP