> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cryptomate.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Subscribe webhook key

> Configure or rotate the webhook signing key.

Configures or updates the webhook authentication key used to verify webhook notifications. Requires an API key with access level 3 or higher.

## Body

<ParamField body="key" type="string" required>
  New secret key for webhook signature verification.
</ParamField>

## Response

<ResponseField name="name" type="string">
  Company name.
</ResponseField>

<ResponseField name="email" type="string">
  Company contact email address.
</ResponseField>

<ResponseField name="webhook_url" type="string">
  Webhook URL.
</ResponseField>

<ResponseField name="webhook_key" type="string">
  New webhook signing key.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.cryptomate.me/management/companies/webhook/key" \
    -H "x-api-key: $CRYPTOMATE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "key": "wh_key_xyz789abc"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "name": "Acme Corporation",
    "email": "contact@acme.com",
    "webhook_url": "https://api.acme.com/webhooks",
    "webhook_key": "wh_key_xyz789abc"
  }
  ```

  ```json 412 Precondition Failed theme={null}
  {
    "code": "VAL",
    "message": "Webhook key must be at least 10 characters long"
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "code": "NOT_FOUND",
    "message": "Company not found"
  }
  ```
</ResponseExample>
