---
title: "Create webhook signing key"
method: POST
path: "/platform/v2beta/webhooks/{id}/keys"
tags: ["Webhooks"]
---

# Create webhook signing key

`POST /platform/v2beta/webhooks/{id}/keys`

## Request

- Base URL: `https://api.atlar.com`
- URL: `https://api.atlar.com/platform/v2beta/webhooks/{id}/keys`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/atlar/apis/atlar-api-v2/docs/platform/v2beta/webhooks/:id/keys/post.ts> (a function with typed inputs; its response is checked against the schema)

Generates a new webhook signing key. You can have between one
and two keys (per webhook) at a time, to allow for key
rotation. Note that keys can only be seen once - in the
response from this endpoint. Read more about how to secure
your webhooks in the [Webhooks and
events](doc:api#webhooks-and-events) section.

## Path parameters

- `id` string, required

## Response `201`

The created webhook signing key.

- WebhookSigningKeyWithKeyMaterial: Webhook signing key including secret key material.
  - `id` string, required: Unique resource identifier.
  - `key` string, base64, required: Symmetric key material used to sign the webhook payload.
  - `created` string, date-time, required: Time at which the resource was created.

## Other responses

- `400`: Bad request.
- `412`: Precondition failed - Too many signing keys.

## Changes

- **2026-11-03** `b49df1e4b3e9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/atlar/apis/atlar-api-v2/changes/platform/v2beta/webhooks/:id/keys/post.md)

---

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