Event families
All families deliver to the same endpoints; branch on the event
type (and data.object) to route. Envelope fields are snake_case; legacy payloads are camelCase.
Names in the Developer Area vs types on the wire
The Events tab shows each event by a human-readable name (“Payment Succeeded”); the wire, the docs, and your handler use the machine event type (creator.payment.succeeded). The table below maps the two. Route your handler on the type string, never on the display name.
The Name in Developer Area column mirrors the Events tab as of August 2026 and is maintained best-effort; the picker will show the type strings directly in a future update. If a name on this page doesn’t match what you see, trust the type string and tell us on Discord.
Signing secrets
One verification scheme, two places a secret can come from:
Both sign every delivery with
X-Fanvue-Signature; verify identically per Verify Webhook Signatures.
Current events
In the Events tab, Creator events sit under the Creator events group, checkout events under the checkout links group, and
app.* events under App Store; legacy events carry a Deprecated badge.
Three traps:
app.subscription.deactivatedis a reserved name that is not emitted; read live state from App Subscriptions.- The event
idis a safe idempotency key on every topic exceptcreator.message.read; see Deduplicating events. payout.*events are creator-level, not link-scoped.
Legacy events (deprecated)
Deprecated flat events still fire during the migration window. Subscribe to these or theircreator.* replacement, never both.
See also
- Webhooks Overview: pick the family for your integration.
- Verify Webhook Signatures: the
X-Fanvue-Signaturecheck. - Delivery, Retries and Idempotency: retry schedule and dedupe rules.