Skip to main content
Every event Fanvue can deliver to a webhook endpoint, in one place. Use the reference pages linked per event for field definitions and example payloads.

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.deactivated is a reserved name that is not emitted; read live state from App Subscriptions.
  • The event id is a safe idempotency key on every topic except creator.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 their creator.* replacement, never both.

See also