Skip to main content
POST
JavaScript

Authorizations

Authorization
string
header
required

A company API key, company scoped JWT, app API key, or user OAuth token. You must prepend your key/token with the word 'Bearer', which will look like Bearer ***************************

Headers

Idempotency-Key
string

A unique key that makes this request safe to retry. See Idempotent requests.

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-07-20"

Body

application/json
url
string
required

The URL to send the webhook to.

api_version
enum<string>

The API version for this webhook. Defaults to v2.

Available options:
v1,
v2,
v5
child_resource_events
boolean

Whether or not to send events for child resources. For example, if the webhook is created for a company, enabling this will only send events from the company's sub-merchants (child companies).

enabled
boolean

Whether or not the webhook is enabled. Defaults to true.

events
string[]

The events to send the webhook for, in dot form (for example payment.succeeded).

resource_id
string | null

The company or app to create the webhook for. Defaults to the current company.

Response

webhook created

A webhook endpoint that receives event notifications for a company via HTTP POST.

api_version
enum<string>
required

The API version used to format payloads sent to this webhook endpoint.

Available options:
v1,
v2,
v5
child_resource_events
boolean
required

Whether events are sent for child resources. For example, if the webhook is on a company, enabling this sends events only from the company's sub-merchants (child companies).

created_at
string<date-time>
required

The datetime the webhook was created.

Example:

"2023-12-01T05:00:00.401Z"

enabled
boolean
required

Whether this webhook endpoint is currently active and receiving events.

events
enum<string>[]
required

The list of event types this webhook is subscribed to.

The different event types available

Available options:
invoice.created,
invoice.marked_uncollectible,
invoice.paid,
invoice.past_due,
invoice.voided,
membership.activated,
membership.deactivated,
membership.trial_ending_soon,
entry.created,
entry.approved,
entry.denied,
entry.deleted,
setup_intent.requires_action,
setup_intent.succeeded,
setup_intent.canceled,
ledger_account.funds_available,
withdrawal.created,
withdrawal.updated,
course_lesson_interaction.completed,
payout_method.created,
verification.succeeded,
identity_profile.approved,
identity_profile.rejected,
identity_profile.needs_action,
identity_profile.updated,
payout_account.status_updated,
resolution_center_case.created,
resolution_center_case.updated,
resolution_center_case.decided,
chat.message.created,
chat.reaction.created,
payment.created,
payment.succeeded,
payment.failed,
payment.pending,
dispute.created,
dispute.updated,
refund.created,
refund.updated,
dispute_alert.created,
membership.cancel_at_period_end_changed
id
string
required

The unique identifier for the webhook.

Example:

"hook_xxxxxxxxxxxxx"

resource_id
string
required

The ID of the resource (company or product) this webhook is attached to.

testable_events
enum<string>[]
required

The subset of subscribed event types that support sending test payloads.

The different event types available

Available options:
invoice.created,
invoice.marked_uncollectible,
invoice.paid,
invoice.past_due,
invoice.voided,
membership.activated,
membership.deactivated,
membership.trial_ending_soon,
entry.created,
entry.approved,
entry.denied,
entry.deleted,
setup_intent.requires_action,
setup_intent.succeeded,
setup_intent.canceled,
ledger_account.funds_available,
withdrawal.created,
withdrawal.updated,
course_lesson_interaction.completed,
payout_method.created,
verification.succeeded,
identity_profile.approved,
identity_profile.rejected,
identity_profile.needs_action,
identity_profile.updated,
payout_account.status_updated,
resolution_center_case.created,
resolution_center_case.updated,
resolution_center_case.decided,
chat.message.created,
chat.reaction.created,
payment.created,
payment.succeeded,
payment.failed,
payment.pending,
dispute.created,
dispute.updated,
refund.created,
refund.updated,
dispute_alert.created,
membership.cancel_at_period_end_changed
url
string
required

The destination URL where webhook payloads are delivered via HTTP POST.

Example:

"https://example.com/path"

webhook_secret
string
required

The secret key used to sign webhook payloads for verification. Include this in your HMAC validation logic. Returned on the create response and to interactive dashboard sessions; empty for API-key and OAuth callers on later reads.

Example:

"whsec_abc123def456"