TwitterAPIs Docs
API ReferenceMonitoring

Delete Webhook API

Soft-deletes the webhook: it stops receiving deliveries immediately and disappears from List Webhooks, but delivery history referencing it is retained rather than cascade-deleted. Cost: Free per call.

DELETE webhook/{id} soft-deletes a webhook registration on twitterapis.com. It stops the webhook from receiving deliveries immediately and removes it from the List Webhooks response, but past delivery history referencing that webhook id remains queryable. The call costs 0 and returns a JSON object with deleted (boolean, true on success) and id (string, the deleted webhook's id).

DELETE
/webhook/{id}

Authorization

bearerAuth
AuthorizationBearer <token>

Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.

In: header

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/webhook/{id}"
{  "deleted": true,  "id": "e4a1f9c2-3b7d-4a88-9f1e-2c6d8b4a5e10"}
{  "error": "bad_request",  "message": "Missing or malformed parameter. Fix the request before retrying."}
{  "error": "unauthorized",  "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}
{  "error": "insufficient_credits",  "message": "Your balance is exhausted. Top up your credits to continue."}
{  "error": "not_found",  "message": "The resource does not exist, for example a deleted tweet or a private account."}
{  "error": "rate_limited",  "message": "Too many requests. Back off and retry with exponential backoff."}
{  "error": "server_error",  "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}

Pricing

UnitPrice
Per callFree

When to use

Use this endpoint when you need to permanently stop a specific webhook from receiving further deliveries, for example when retiring an integration, rotating to a new webhook URL, or cleaning up a webhook created for testing. Unlike List Webhooks (a read), this is the only Monitoring endpoint that removes a webhook registration; the delivery history tied to that webhook id is preserved even after deletion.

Notes

  • Replace {id} with the webhook's id.
  • 404 not_found if the id does not exist or belongs to a different API key.
  • Any monitor whose webhook_ids referenced only this webhook falls back to delivering to every remaining active webhook on the account, since a monitor is never left silently undeliverable.
  • Create Monitor: Watch an X account for new posts and push them to your webhook(s).
  • List Monitors: List every monitor on your account.

FAQ

Does deleting a webhook remove its past delivery logs too?

No. The delete is soft: the webhook itself stops receiving new deliveries and disappears from List Webhooks, but delivery history that already references that webhook id is retained and stays queryable after deletion.

Does calling DELETE webhook/{id} cost anything, and what does it return if the id doesn't exist?

The endpoint has a cost of 0. On success it returns deleted: true along with the id of the webhook that was removed; there are no other response fields or request parameters beyond the {id} in the path.