Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Webhook Endpoints


Webhook Endpoints

You can configure webhook endpoints via the API to be notified about events that happen in your Stripe account or connected accounts.

Most users configure webhooks from the dashboard, which provides a user interface for registering and testing your webhook endpoints.

Related guide: Setting up webhooks

Was this section helpful? Yes No

Create a webhook endpoint

POST / v1 / webhook_endpoints

Update a webhook endpoint

POST / v1 / webhook_endpoints /:id

Retrieve a webhook endpoint

GET / v1 / webhook_endpoints /:id

List all webhook endpoints

GET / v1 / webhook_endpoints

Delete a webhook endpoint

DELETE / v1 / webhook_endpoints /:id

The Webhook Endpoint object

Attributes

  • id string Unique identifier for the object.
  • api _ version nullable string The API version events are rendered as for this webhook endpoint.
  • description nullable string An optional description of what the webhook is used for.
  • enabled _ events array of strings The list of events to enable for this endpoint. ['*'] indicates that all events are enabled, except those that require explicit selection.
  • metadata map Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
  • secret string The endpoint’s secret, used to generate webhook signatures. Only returned at creation.
  • status string The status of the webhook. It can be enabled or disabled.
  • url string The URL of the webhook endpoint.

More attributes

  • object string, value is "webhook_endpoint"
  • application nullable string
  • created timestamp
  • livemode boolean

The Webhook Endpoint object

Create a webhook endpoint

POST / v1 / webhook_endpoints

A webhook endpoint must have a url and a list of enabled_events. You may optionally specify the Boolean connect parameter. If set to true, then a Connect webhook endpoint that notifies the specified url about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.

Parameters

  • enabled _ events array of enums Required The list of events to enable for this endpoint. You may specify ['*'] to enable all events, except those that require explicit selection. Possible enum values account.application.authorized Occurs whenever a user authorizes an application. Sent to the related application only. account.application.deauthorized Occurs whenever a user deauthorizes an application. Sent to the related application only. account.external_account.created Occurs whenever an external account is created. account.external_account.deleted Occurs whenever an external account is deleted. account.external_account.updated Occurs whenever an external account is updated. account.updated Occurs whenever an account status or property has changed. application_fee.created Occurs whenever an application fee is created on a charge. application_fee.refund.updated Occurs whenever an application fee refund is updated. application_fee.refunded Occurs whenever an application fee is refunded, whether from refunding a charge or from refunding the application fee directly. This includes partial refunds. balance.available Occurs whenever your Stripe balance has been updated (e.g., when a charge is available to be paid out). By default, Stripe automatically transfers funds in your balance to your bank account on a daily basis. This event is not fired for negative transactions. Show 225 more
  • url string Required The URL of the webhook endpoint.
  • api _ version string Events sent to this endpoint will be generated with this Stripe Version instead of your account’s default Stripe Version.
  • description string An optional description of what the webhook is used for.
  • metadata map Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to metadata.

More parameters

  • connect boolean

Returns

Returns the webhook endpoint object with the secret field populated.

Response

Last verified 2026-09-24

Is this helpful?