---
title: Create a personal webhook subscription
description: Optional idempotency key.
---
# Create a personal webhook subscription

`POST https://api.releases.sh/v1/me/webhooks`

Optional idempotency key. Reuse the same key only for an identical request; successful responses are replayable for 24 hours.

**Auth:** Bearer token required.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Idempotency-Key` | header | string | no | Optional idempotency key. Reuse the same key only for an identical request; successful responses are replayable for 24 hours. |

**Request body** (`application/json`)

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `scope` | "org" \| "follows" | no |  |
| `url` | string | yes | Public https URL that receives deliveries. |
| `format` | "json" \| "slack" \| "discord" | no | Delivery format. Defaults to `json`. |
| `description` | string | no |  |
| `releaseType` | "feature" \| "rollup" | no |  |
| `orgId` | string | no |  |
| `orgSlug` | string | no |  |
| `sourceId` | string | no |  |
| `sourceSlug` | string | no |  |
| `productId` | string | no |  |
| `productSlug` | string | no |  |

**Responses**

- `201` Created webhook subscription, including its one-time signing key.
- `400` Invalid url/description/scope/releaseType, or an unsafe webhook target
- `401` Sign-in required
- `404` Organization, source, or product not found
- `409` The key is already processing, or was reused with a different request fingerprint.
- `429` Maximum webhook subscriptions per account reached
- `503` WEBHOOK_HMAC_MASTER not configured, or idempotency storage/response replay is temporarily unavailable

Full request and response schemas: [OpenAPI 3.1 spec](https://api.releases.sh/v1/openapi.json).
