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

# Get webhook secret

> Retrieve your organization's webhook signing secret

Returns the webhook signing secret for your organization. Use this secret to [verify webhook signatures](/webhooks#verifying-signatures).

A secret is automatically provisioned the first time you call this endpoint or use a `webhook_url` in a request.

<Info>
  This endpoint uses the native Lumenfall API path (`/v1/webhooks/secret`), not the OpenAI-compatible prefix (`/openai/v1`).
</Info>

## Response

<ResponseField name="key" type="string">
  Your webhook signing secret, prefixed with `whsec_`. Store this securely - treat it like an API key.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.lumenfall.ai/v1/webhooks/secret \
    -H "Authorization: Bearer $LUMENFALL_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.lumenfall.ai/v1/webhooks/secret",
      headers={"Authorization": "Bearer your-lumenfall-api-key"}
  )
  secret = response.json()["key"]
  print(secret)  # whsec_...
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch("https://api.lumenfall.ai/v1/webhooks/secret", {
    headers: { Authorization: "Bearer your-lumenfall-api-key" },
  });
  const { key } = await response.json();
  console.log(key); // whsec_...
  ```
</RequestExample>

<ResponseExample>
  ```json 200 Response theme={null}
  {
    "key": "whsec_dGhpcyBpcyBhbiBleGFtcGxl..."
  }
  ```
</ResponseExample>
