---
title: "Create Webhook"
method: POST
path: "/webhook"
tags: ["Monitoring"]
---

# Create Webhook

`POST /webhook`

## Request

- Base URL: `https://api.twitterapis.com/twitter`
- URL: `https://api.twitterapis.com/twitter/webhook`
- Auth: HTTP bearer

Register your HTTPS endpoint to receive signed monitor events. The signing secret is returned exactly once in this response; store it immediately, it cannot be retrieved again. Cost: Free per call.

## Request body

- object
  - `url` string, required: Your https delivery endpoint. Private, loopback, link-local, and metadata IPs are refused, re-checked at every delivery, not just at creation.

## Response `201`

Register a URL to receive monitor events.

- object
  - `id` string: The new webhook's id.
  - `url` string: The registered delivery URL.
  - `status` string: "active" (delivers) or "disabled" (a 410 Gone response from your endpoint sets this; re-register to reactivate).
  - `secret` string: The HMAC signing secret, shown ONLY in this response. Use it to verify the X-TwitterAPIs-Signature header on every delivery.
  - `created_at` string: ISO 8601 creation timestamp.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `404`: Not found
- `429`: Rate limited
- `5XX`: Server error

---

[API](https://skmtc.dev/twitterapis/apis/twitterapis-api.md) · [All operations](https://skmtc.dev/twitterapis/apis/twitterapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/twitterapis/apis/twitterapis-api/revisions/a33ce0fedb3c?raw)
