Set up an event destination to receive events from Stripe across multiple destination types, including webhook endpoints, Amazon EventBridge, and Azure Event Grid. Event destinations support receiving thin events and snapshot events.
Attributes
- idstring
Unique identifier for the object.
- objectstring, value is "v2.core.event_destination"
String representing the object’s type. Objects of the same type share the same value of the object field.
- amazon_
eventbridgenullable object Configuration for delivering events through an Amazon EventBridge partner event source.
- azure_
event_ gridnullable object Configuration for delivering events through an Azure Event Grid partner topic.
- createdtimestamp
The time when the destination was created.
- descriptionstring
An optional user-defined description of the destination’s purpose.
- enabled_
eventsarray of strings The list of event types enabled for delivery to this destination.
- event_
payloadenum Whether to deliver as snapshot or thin events.
Possible enum valuessnapshotEvents that contain full resource objects in the delivered payload, rendered using a specified API version.
thinA lightweight event notification with an unversioned payload. It identifies the related Stripe resource so you can retrieve the complete event or the resource’s current state. This reduces coupling to API-versioned object snapshots and makes event handlers easier to maintain.
- events_
fromnullable array of strings Specifies which accounts’ events route to this destination.
@self: Receive events from the account that owns the event destination.@accounts: Receive events emitted from other accounts you manage which includes your v1 and v2 accounts.@organization_: Receive events from accounts directly linked to the organization.members @organization_: Receive events from all accounts connected to any platform accounts in the organization.members/@accounts - livemodeboolean
Has the value
trueif the object exists in live mode or the valuefalseif the object exists in test mode. - metadatanullable map
User-defined key/value data for the destination; it has no effect on event matching or delivery.
- namestring
A user-defined label for identifying the destination in Stripe.
- snapshot_
api_ versionnullable string For snapshot events only, the Stripe API version used to render event objects. You can’t change this value after you create the event destination. Thin events are not pinned to an API version.
- statusenum
Whether Stripe currently attempts delivery. Stripe attempts delivery to enabled destinations when their provider configuration is active; disabled destinations do not receive delivery attempts.
Possible enum valuesdisabledEvent destination is disabled.
enabledEvent destination is enabled.
- status_
detailsnullable object Additional lifecycle context for the destination status, when available.
- typeenum
The delivery transport. Chosen when the destination is created and cannot be changed by update.
Possible enum valuesamazon_eventbridge Deliver matching events through a Stripe partner event source in Amazon EventBridge.
azure_event_ grid Deliver matching events through a Stripe partner topic in Azure Event Grid.
webhook_endpoint Deliver matching events to a webhook endpoint. Live mode requires HTTPS; sandbox mode also supports HTTP.
- updatedtimestamp
The time when the destination object was last updated.
- webhook_
endpointnullable object Configuration for delivering events to a webhook endpoint. Live mode requires HTTPS; sandbox mode also supports HTTP.
{ "id": "ed_test_61RM8ltWcTW4mbsxf16RJyfa2xSQLHJJh1sxm7H0KVT6", "object": "v2.core.event_destination", "created": "2024-10-22T16:20:09.931Z", "description": "This is my event destination, I like it a lot", "enabled_events": [ "v1.billing.meter.error_report_triggered" ], "event_payload": "thin", "events_from": [ "@self" ], "livemode": false, "metadata": {}, "name": "My Event Destination", "snapshot_api_version": null, "status": "enabled", "status_details": null, "type": "webhook_endpoint", "updated": "2024-10-22T16:20:09.937Z", "webhook_endpoint": { "signing_secret": null, "url": "https://example.com/my/webhook/endpoint" }}Create a new event destination.
Learn more about calling API v2 endpointsParameters
- enabled_
eventsarray of stringsRequired The list of event types enabled for delivery to this destination.
- event_
payloadenumRequired Whether to deliver as snapshot or thin events.
Possible enum valuessnapshotEvents that contain full resource objects in the delivered payload, rendered using a specified API version.
thinA lightweight event notification with an unversioned payload. It identifies the related Stripe resource so you can retrieve the complete event or the resource’s current state. This reduces coupling to API-versioned object snapshots and makes event handlers easier to maintain.
- namestringRequired
A user-defined label for identifying the destination.
- typeenumRequired
The delivery transport. Chosen when the destination is created and cannot be changed by update.
Possible enum valuesamazon_eventbridge Deliver matching events through a Stripe partner event source in Amazon EventBridge.
azure_event_ grid Deliver matching events through a Stripe partner topic in Azure Event Grid.
webhook_endpoint Deliver matching events to a webhook endpoint. Live mode requires HTTPS; sandbox mode also supports HTTP.
- amazon_
eventbridgeobject AWS account and region where Stripe creates the EventBridge partner event source.
- azure_
event_ gridobject Azure subscription, resource group, and region where Stripe creates the partner topic.
- descriptionstring
An optional user-defined description of the destination’s purpose.
- events_
fromarray of strings The account or organization scopes that can supply events. Use this with
enabled_to define the subscription.events @self: Receive events from the account that owns the event destination.@accounts: Receive events emitted from other accounts you manage, including your v1 and v2 accounts.@organization_: Receive events from accounts directly linked to the organization.members @organization_: Receive events from all accounts connected to any platform accounts in the organization.members/@accounts - includearray of enums
Include normally redacted webhook fields in the create response. Public API clients must include
webhook_to receive the signing secret.endpoint. signing_ secret Possible enum valueswebhook_endpoint. signing_ secret Include
webhook_in the create response. Public API clients cannot retrieve it later.endpoint. signing_ secret webhook_endpoint. url Include the normally redacted
webhook_in the create response.endpoint. url - metadatamap
User-defined key/value data for the destination.
- snapshot_
api_ versionstring For snapshot events only, the Stripe API version used to render event objects; do not provide this for thin events.
- webhook_
endpointobject Delivery target for the webhook endpoint. Live mode requires HTTPS; sandbox mode also supports HTTP.
Returns
Returns an Event Destination object.
Error returned when a user tries to create an event destination with an expired Azure partner authorization.
Error returned when a user tries to create an event destination without an Azure partner authorization.
Error returned when no valid partner configuration is found using the user provided Azure subscription ID and Azure resource group name.
An idempotent retry occurred with different request parameters.
curl -X POST https://api.stripe.com/v2/core/event_destinations \ -H "Authorization: Bearer sk_test_BQokikJOvBiI2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \ -H "Stripe-Version: 2026-09-30.endive" \ --json '{ "name": "My Event Destination", "description": "This is my event destination, I like it a lot", "enabled_events": [ "v1.billing.meter.error_report_triggered" ], "type": "webhook_endpoint", "webhook_endpoint": { "url": "https://example.com/my/webhook/endpoint" }, "event_payload": "thin", "include": [ "webhook_endpoint.url" ] }'{ "id": "ed_test_61RM8ltWcTW4mbsxf16RJyfa2xSQLHJJh1sxm7H0KVT6", "object": "v2.core.event_destination", "created": "2024-10-22T16:20:09.931Z", "description": "This is my event destination, I like it a lot", "enabled_events": [ "v1.billing.meter.error_report_triggered" ], "event_payload": "thin", "events_from": [ "@self" ], "livemode": false, "metadata": {}, "name": "My Event Destination", "snapshot_api_version": null, "status": "enabled", "status_details": null, "type": "webhook_endpoint", "updated": "2024-10-22T16:20:09.937Z", "webhook_endpoint": { "signing_secret": null, "url": "https://example.com/my/webhook/endpoint" }}