Skip to main content
POST
Python

Authorizations

Authorization
string
header
required

You can generate a Personal Access Token from your settings.

Body

application/json
url
string<uri>
required

The URL where the webhook events will be sent.

Required string length: 1 - 2083
Example:

"https://webhook.site/cb791d80-f26e-4f8c-be88-6e56054192b0"

format
enum<string>
required

The format of the webhook payload.

Available options:
raw,
discord,
slack
events
enum<string>[]
required

The events that will trigger the webhook.

Available options:
checkout.created,
checkout.updated,
checkout.expired,
customer.created,
customer.updated,
customer.deleted,
customer.state_changed,
customer_seat.assigned,
customer_seat.claimed,
customer_seat.revoked,
member.created,
member.updated,
member.deleted,
order.created,
order.updated,
order.paid,
order.refunded,
subscription.created,
subscription.updated,
subscription.active,
subscription.canceled,
subscription.uncanceled,
subscription.cycled,
subscription.revoked,
subscription.past_due,
subscription.paused,
subscription.resumed,
refund.created,
refund.updated,
product.created,
product.updated,
discount.created,
discount.updated,
discount.deleted,
benefit.created,
benefit.updated,
benefit_grant.created,
benefit_grant.cycled,
benefit_grant.updated,
benefit_grant.revoked,
organization.updated
name
string | null

An optional name for the webhook endpoint to help organize and identify it.

api_version
enum<string>
default:2026-04

The API version that'll be used in event payloads.

Available options:
2026-04,
2026-10
organization_id
string<uuid4> | null

The organization ID.

Example:

"1dbfc517-0bbf-4301-9ba8-555ca42b9737"

Response

Webhook endpoint created.

A webhook endpoint.

created_at
string<date-time>
required

Creation timestamp of the object.

Example:

"2026-01-01T00:00:00.000000Z"

modified_at
string<date-time> | null
required

Last modification timestamp of the object.

Example:

"2026-01-01T00:00:00.000000Z"

id
string<uuid4>
required

The ID of the object.

url
string
required

The URL where the webhook events will be sent.

Example:

"https://webhook.site/cb791d80-f26e-4f8c-be88-6e56054192b0"

api_version
string
required

The API version that'll be used in event payloads.

format
enum<string>
required

The format of the webhook payload.

Available options:
raw,
discord,
slack
secret
string
required

The secret used to sign the webhook events.

Example:

"whsec_ovyN6cPrTv56AApvzCaJno08SSmGJmgbWilb33N2JuK"

organization_id
string<uuid4>
required

The organization ID associated with the webhook endpoint.

events
enum<string>[]
required

The events that will trigger the webhook.

Available options:
checkout.created,
checkout.updated,
checkout.expired,
customer.created,
customer.updated,
customer.deleted,
customer.state_changed,
customer_seat.assigned,
customer_seat.claimed,
customer_seat.revoked,
member.created,
member.updated,
member.deleted,
order.created,
order.updated,
order.paid,
order.refunded,
subscription.created,
subscription.updated,
subscription.active,
subscription.canceled,
subscription.uncanceled,
subscription.cycled,
subscription.revoked,
subscription.past_due,
subscription.paused,
subscription.resumed,
refund.created,
refund.updated,
product.created,
product.updated,
discount.created,
discount.updated,
discount.deleted,
benefit.created,
benefit.updated,
benefit_grant.created,
benefit_grant.cycled,
benefit_grant.updated,
benefit_grant.revoked,
organization.updated
enabled
boolean
required

Whether the webhook endpoint is enabled and will receive events.

uses_standard_webhook_signature
boolean
required
read-only

Whether Polar signs deliveries to this endpoint with Standard Webhooks. False means Polar's original HMAC over the UTF-8 bytes of the full secret.

name
string | null

An optional name for the webhook endpoint to help organize and identify it.