Managing webhooks and subscriptions

Creating & changing webhooks

In order to change webhook URLs, you must delete your existing webhook and then create a new one. Note that when you do this, you will be required to re-add user subscriptions to the new webhook.

Webhook configuration management endpoints:

Method Premium Enterprise
Create new webhook  POST account_activity/all/:env_name/webhooks?url
POST account_activity/webhooks?url
Retrieve app's current webhook configuration
GET account_activity/all/:env_name/webhooks
GET account_activity/webhooks
Delete app’s current webhook configuration
DELETE account_activity/all/:env_name/webhooks/:webhook_id
DELETE account_activity/webhooks/:webhook_id             
Manually trigger a CRC request
PUT account_activity/all/:env_name/webhooks
PUT account_activity/webhooks/:webhook_id


Why can’t I just update the webhook URL?

Why are webhook configurations immutable? Twitter takes security very seriously. If your webhook URL is changed, there is a possibility that your application consumer key and consumer secret have been compromised. By requiring you to create a new webhook configuration, you are also required to re-subscribe to your user’s events. This requires the use of access tokens that a malicious party is less likely to possess. As a result, the likelihood that another party will receive your user’s private information is reduced.


Adding & removing User subscriptions

When adding or deleting User subscriptions, user-supplied access tokens are required. 


For the premium tier of the Account Activity API, the free "sandbox" offering includes 15 subscriptions. Paid premium access provides for up to 250 subscriptions per webhook and up to one webhook per Twitter application. If you have a need for access beyond these levels, please let us know by providing more information using this form.



Support for thousands of subscriptions is available with the enterprise tier. If you already have an account manager, please reach out to them with questions.  To apply for access to the enterprise APIs, click here

Subscription management endpoints

Method Premium Enterprise
Add new user subscription
POST account_activity/all/:env_name/subscriptions 
 POST account_activity/webhooks/:webhook_id/subscriptions/all
Retrieve a user subscription
GET account_activity/all/:env_name/subscriptions
GET account_activity/webhooks/:webhook_id/subscriptions/all
Returns a list of all active subscriptions
GET account_activity/all/:env_name/subscriptions/list
GET account_activity/webhooks/:webhook_id/subscriptions/all/list
Remove a user subscription
DELETE /account_activity/all/:env_name/subscriptions
DELETE account_activity/webhooks/:webhook_id/subscriptions/all


Next steps