# Introducing event destinations

> You can now get real-time notifications for Stedi events using event destinations, Stedi's new webhook framework.

Published Apr 10, 2026

Category: Products

You can now get real-time notifications for Stedi events using [event destinations](https://www.stedi.com/docs/healthcare/event-destinations-configure), Stedi's new webhook framework.

[Watch the video](https://www.stedi.com/blog/media/introducing-event-destinations/BU76nBYnnPk5lbQZj9BaIAz0.mp4)

For this launch, event destinations support [transaction enrollment events](https://www.stedi.com/docs/healthcare/event-destinations-event-types#enrollmentactivated). You can get a real-time notification whenever a request goes live or is rejected.

Previously, monitoring enrollment status meant polling the [Enrollments API](https://www.stedi.com/docs/healthcare/api-reference/get-enrollment-list-enrollments) or checking the Stedi portal manually.

You can use event destinations anywhere you'd typically use a webhook. For example, if you're building or maintaining an EHR, you can use event destinations to notify providers when enrollments are complete. You can also connect a destination to Slack via Zapier to alert your billing team when an enrollment is rejected.

We plan to release more [event types](https://www.stedi.com/docs/healthcare/event-destinations-event-types#events) for event destinations soon. This release doesn’t affect Stedi’s existing [webhooks product](https://www.stedi.com/docs/healthcare/configure-webhooks), which is used for [277CA claim acknowledgments](https://www.stedi.com/docs/healthcare/claim-responses-overview#277ca-claim-acknowledgment) and [ERAs](https://www.stedi.com/docs/healthcare/claim-responses-overview#835-electronic-remittance-advice-era).

## What are event destinations?

An event destination is a configured webhook URL that Stedi sends events to when something in your account changes.

You create one or more event destinations from your **Developer settings** in the Stedi portal. You provide a URL to receive events at and choose which event types to subscribe to.

Create an event destination

Once you create a destination, related events are sent as a `POST` HTTP request to the URL you provided. Stedi manages [delivery](https://www.stedi.com/docs/healthcare/event-destinations-message-handling) and [automatic retries](https://www.stedi.com/docs/healthcare/event-destinations-message-handling) for failures.

## Event schema

Stedi uses a thin [event schema](https://www.stedi.com/docs/healthcare/event-destinations-event-types#message-schema). Events are only intended to notify you that a resource changed. They don't include the resource's data.

For example, the following enrollment activation event only includes the enrollment record’s ID, `resource.id`. You can pass this ID in the [Retrieve Enrollment API](https://www.stedi.com/docs/healthcare/api-reference/get-enrollment) endpoint’s [`enrollmentId`](https://www.stedi.com/docs/healthcare/api-reference/get-enrollment#path.enrollmentId) parameter to get the full details.

```jsonc
{
  "account": "11111111-2222-3333-4444-555555555555",
  "created": "2026-03-30T23:19:00.501Z",
  "environment": "PRODUCTION",
  "id": "evt_a81659f1-16a5-9bec-03e1-0ba8ab5e9652",
  "object": "v1.event",
  "resource": {
    "id": "019bb508-dc63-73a1-8ddc-9d4720299072",
    "type": "enrollment"
  },
  "type": "enrollment.activated"
}
```

You can create up to 16 event destinations per Stedi account.

## Event types

Event destinations currently support two transaction enrollment event types:

- [`enrollment.activated`](https://www.stedi.com/docs/healthcare/event-destinations-event-types#enrollmentactivated) – The enrollment request has the [`LIVE`](https://www.stedi.com/docs/healthcare/transaction-enrollment#enrollment-statuses) [status](https://www.stedi.com/docs/healthcare/transaction-enrollment#enrollment-statuses). The provider can now exchange the listed transaction types with the payer.

- [`enrollment.rejected`](https://www.stedi.com/docs/healthcare/event-destinations-event-types#enrollmentrejected) – The payer rejected the enrollment request, which now has a [`REJECTED`](https://www.stedi.com/docs/healthcare/transaction-enrollment#enrollment-statuses) [status](https://www.stedi.com/docs/healthcare/transaction-enrollment#enrollment-statuses).

More event types are coming soon.

## How does Stedi handle delivery failures?

Stedi begins delivering events immediately after you configure a destination. If a delivery fails, Stedi automatically retries at [increasing intervals](https://www.stedi.com/docs/healthcare/event-destinations-message-handling#automatic-retries).

When deliveries repeatedly fail, Stedi sends [notification emails](https://www.stedi.com/docs/healthcare/event-destinations-message-handling#notifications) to all [members](https://www.stedi.com/docs/healthcare/account-settings#members) of your Stedi account – first at 2 hours, then again at 24 hours. If all retries fail, Stedi disables the destination. You can re-enable it once the issue is resolved.

You can also manually retry any failed delivery from the Stedi portal. Manual retries reset the automatic retry schedule.

## Review events using the API

You can access events and attempted event deliveries using two new [Events API](https://www.stedi.com/docs/healthcare/api-reference/get-event-destinations-list-events) endpoints:

- [List Events](https://www.stedi.com/docs/healthcare/api-reference/get-event-destinations-list-events) – Retrieves all events from the past 30 days, filterable by event type, delivery status, and created date

- [Retrieve Event](https://www.stedi.com/docs/healthcare/api-reference/get-event-destinations-event) – Retrieves the full payload for a specific event

An [OpenAPI spec](https://github.com/Stedi/openApi/blob/main/event-destinations.json) is available for both endpoints.

We recommend periodically listing events to catch cases where delivery succeeded but your processing logic encountered an error. For example, the following [List Events](https://www.stedi.com/docs/healthcare/api-reference/get-event-destinations-list-events) request gets all `enrollment.activated` events from the last 30 days:

```jsx
curl --request GET \
  --url "https://events.us.stedi.com/2026-02-01/events?eventType=enrollment.activated" \
  --header "Authorization: <api_key>"
```

## Review events in the Stedi portal

Events and delivery attempts are visible in the Stedi portal under **Developer settings > Event Destinations > Events**. You can inspect HTTP status codes, full request and response bodies, and retry history for any delivery.

Events page

## Security

Stedi generates a secret for each event destination. Each event delivery includes a `webhook-signature` header. You can use the secret and any [Standard Webhooks](https://www.standardwebhooks.com/)\-compatible library to verify the signature’s authenticity.

For instructions, see our [verification docs](https://www.stedi.com/docs/healthcare/event-destinations-message-handling#verify-authenticity-and-receipt-time).

## Send test events

You can manually trigger [`event.ping`](https://www.stedi.com/docs/healthcare/event-destinations-event-types#eventping) events for integration testing. To send a test ping:

1.  From the **Event destinations** page, click the event destination you want to test.

2.  Click the **Event deliveries** tab.

3.  Click the **Ping** button.

Stedi attempts to deliver an `event.ping` to the destination’s URL. You can review its status and details on the **Event deliveries** tab.

Test event

## Existing webhooks

This release doesn’t affect Stedi’s existing [webhooks product](https://www.stedi.com/docs/healthcare/configure-webhooks). You can continue to use these webhooks to get notifications for new [277CA claim acknowledgments](https://www.stedi.com/docs/healthcare/claim-responses-overview#277ca-claim-acknowledgment) and [ERAs](https://www.stedi.com/docs/healthcare/claim-responses-overview#835-electronic-remittance-advice-era). Event destinations don’t yet support these event types.

## Get started

Event destinations are available on all paid [Stedi plans](https://www.stedi.com/pricing).

To get started with Stedi, [sign up](https://portal.stedi.com/auth/sign-up-intent) for a free sandbox account. It takes less than two minutes. No credit card is required.

When you're ready, upgrade to production on our [pay-as-you-go plan](https://www.stedi.com/pricing). There are no monthly minimums or setup fees. You only pay for the transactions you use.
