> For the complete documentation index, see [llms.txt](https://docs.omni.integratedcommerce.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.omni.integratedcommerce.io/webhooks/svix.md).

# Svix webhooks (invite only)

Self-service endpoints, signed deliveries with replay protection, and a portal to inspect and replay. Available by invitation.

{% hint style="warning" %}
**Invite only.** Fiska must enable Svix webhooks for your account before you can use them. Until then, use [legacy webhooks](/webhooks/legacy.md); the webhook portal will not appear in your partner portal. See [Requesting access](#requesting-access).
{% endhint %}

Svix webhooks deliver the same events and the same payloads as legacy webhooks, through [Svix](https://www.svix.com/), the webhook delivery provider. What changes is everything around the payload:

|                         | Legacy webhooks                                                               | Svix webhooks                                                                                      |
| ----------------------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| **Endpoint management** | Through support                                                               | Self-service, in the partner portal                                                                |
| **Signing secret**      | One shared secret per endpoint, provided out-of-band, rotated through support | A `whsec_...` signing secret per endpoint, shown in the portal, rotatable without downtime         |
| **Signature**           | `x-fsk-wh-chksm` checksum, no timestamp                                       | `svix-id`, `svix-timestamp`, `svix-signature`, with replay protection                              |
| **Retries**             | Retried, no published schedule                                                | Exponential backoff over roughly a day                                                             |
| **Failed deliveries**   | Ask support                                                                   | Inspect and replay from the portal                                                                 |
| **Events**              | Transaction and token events                                                  | Transaction, token, and [merchant lifecycle](/webhooks/events.md#merchant-lifecycle-events) events |

## Requesting access

Svix webhooks are managed in the partner portal, so they are available to accounts that belong to a partner platform. If you integrate directly with Fiska and have no partner portal login, stay on [legacy webhooks](/webhooks/legacy.md).

To ask for access, write to <support@integratedcommerce.io> with:

* the name of your partner platform account,
* whether you want it in the sandbox, in production, or both, and
* whether you are moving existing legacy endpoints or integrating for the first time.

Fiska may enable Svix for your sandbox account before your production account. Support will tell you which environments are enabled, and when.

## Where the portal is

Once Svix is enabled for your account, the webhook portal is embedded in the partner portal:

* **Developers -> Webhooks** - platform-level endpoints. Endpoints configured here receive events for every merchant in your platform.
* **The Webhooks tab of a merchant's configuration**, reached from the merchants list - endpoints for that one merchant, where Fiska has also enabled per-merchant webhooks for your account.

Both open the same portal, scoped differently. From it you add endpoints, choose the event types each one subscribes to, read the signing secret, inspect delivery attempts, and replay failed messages. See [Configuring endpoints](/webhooks/svix/configuration.md).

<figure><img src="https://2831455276-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZEhfhCESvZbNNPd1VI61%2Fuploads%2Fgit-blob-84a337581bc3222cca98fb5e144f9a57411bfe06%2Fsvix-endpointlist.png?alt=media" alt="Svix endpoint list with the Add Endpoint button"><figcaption><p>Add and manage the endpoints that receive your webhook events.</p></figcaption></figure>

## What a delivery looks like

```http
POST /webhooks HTTP/1.1
Content-Type: application/json
svix-id: msg_2yZK3ZV4Tk3E8FQ0YB55X1N0Tq
svix-timestamp: 1783002600
svix-signature: v1,g0hM9SsE+OTPJTGt/tmIKtSyZlE3uFJELVlNIOLJ1OE=
```

The body is the JSON event payload described in the [event catalog](/webhooks/events.md) - the same payload a legacy delivery carries.

## Next steps

* [Configuring endpoints](/webhooks/svix/configuration.md)
* [Verifying signatures](/webhooks/svix/verifying-signatures.md)
* [Moving from legacy to Svix](/webhooks/svix/moving-from-legacy.md), if you have legacy endpoints today
* [Event catalog](/webhooks/events.md)
