Skip to main content
When something happens in a creator’s account, on a checkout link, in your app’s billing or inside one of your experiences, Fanvue sends a signed HTTPS POST to your webhook endpoint. Use webhooks when you want to react to that activity as it happens instead of polling the API. You need an app in the Developer Area and a public HTTPS endpoint that can answer a POST. Pick the event family you need from the table below, then Receive your first event gets a signed test delivery to your endpoint in five steps.

Event families

Creator and Legacy events fan out. If two apps are both authorised by the same creator with read:creator, both receive creator.payment.succeeded. Experience subscriptions are the exception. They belong to one app, and a creator-wide fan-out would tell one app which fans stopped paying another, so those two topics reach only the owning app and the creator’s own destinations. The Event catalogue lists every topic with its object, scope and reference page.

Three ways to subscribe

Zapier uses the API path on the creator’s behalf. Subscribe to webhooks covers the scope, limit and test rules of each path.

Receive your first event

1

Create an app

Open the Developer Area and create an app. Build your first app walks through the dialog.
2

Add an endpoint

Open the Events tab, click Add webhook, enter your HTTPS endpoint URL and tick creator.follow.created. The event needs read:creator, which you add on the Authentication tab or in your App Manifest.
3

Authorise your own app

Sign in to your app with your own Fanvue account and grant read:creator. The Test action refuses to send until the app owner has authorised the app with the event’s scope.
4

Send a test

Open the row’s actions menu and click Test. A signed creator.follow.created envelope reaches your endpoint with TEST- prefixed ids inside data.
5

Verify the signature

Copy the secret from View signing secret and check X-Fanvue-Signature on the delivery as described in Verify webhook signatures.

Event envelope

Every Creator, Checkout and App event arrives in the same envelope:
Fields inside data are snake_case. Each family’s reference pages describe its resources. Legacy events have no envelope. Their body is the event’s own camelCase fields with an eventId field appended, and nothing in the body names the topic.

Verification probe

Before POST /webhooks/subscriptions creates a subscription, it sends one unsigned request to the URL:
The Events tab does not probe. That means a receiver that answers 401 to every unsigned request works when registered from the Events tab and fails when registered through the API. Return 2xx to a body whose type is fanvue.webhook.verification before you verify signatures, and return 401 to every other unsigned request. If you build on the Builder SDK, its webhook receiver answers the probe, verifies signatures and sanitises deliveries for you.

Delivery and signatures

Fanvue delivers at least once, in no guaranteed order, and retries failed deliveries with backoff. Return 2xx as soon as you have stored the event, then process it; Delivery, retries and idempotency covers retries, auto-disable and deduplication. Verify X-Fanvue-Signature on every delivery before you store it. Verify webhook signatures has the algorithm and code samples.