---
title: "Polar Webhook"
method: POST
path: "/v2/webhooks/polar"
tags: ["webhooks", "polar"]
---

# Polar Webhook

`POST /v2/webhooks/polar`

## Request

- Base URL: `https://api.etymolt.com`
- URL: `https://api.etymolt.com/v2/webhooks/polar`
- Auth: none declared

Receive a Polar webhook delivery.

Standard Webhooks contract:
  * `webhook-id`, `webhook-timestamp`, `webhook-signature` headers.
  * Signature is `v1,<base64-hmac-sha256(id.ts.body)>`.

We verify, dedupe on the webhook-id, parse the event, and (if the event
type indicates a paid top-up) credit the buyer's API key via the same
helper the Stripe webhook uses.

## Headers

- `webhook-id` string, nullable
- `webhook-timestamp` string, nullable
- `webhook-signature` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names.md) · [All operations](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/llms.txt) · [OpenAPI document](https://skmtc.dev/etymolt/apis/etymolt-verify-ai-generated-brand-names/revisions/7228ffa1efa7?raw)
