Destinations
Configure destinations in the dashboard under your External Integration.Envelope
Every event shares one envelope.data depends on type.
Lifecycle events
One action sends one event. Changes to the whole authorization areauthorization.*. Changes to one account are linked_account.*, sent to every authorization that includes that account.
authorization.revoked reasons:
linked_account.disconnected reasons:
Payloads
Payloads carry ids only. Fetch names, status, and scopes fromGET /v3/linked-accounts.
linked_account_ids_truncated: true and linked_account_count, and, while the authorization still works, linked_accounts_url: "/v3/linked-accounts". Fetch the list with that authorization’s access token. authorization.revoked never carries linked_accounts_url, because a revoked authorization cannot read its list.
Realtime events
Realtime events are translated OnlyFans activity for one linked account. Enable them per destination. They require the account to beconnected.
Payload schemas for each type are documented under Realtime OnlyFans Events. The
data object is the same in V2 and V3; only the envelope differs. Realtime envelopes carry authorizationId and linkedAccountId like lifecycle envelopes.
Realtime over WebSocket
You can also receive Realtime events for one linked account over a WebSocket:
Each message has
eventId, type, schemaVersion, order, receivedAt, environment, integrationId, linkedAccountId, test, and data. Lifecycle events are delivered by webhook only.
Verify deliveries
Deliveries use the Standard Webhooks scheme:webhook-id, webhook-timestamp, and webhook-signature headers, with the signature computed over ${webhook-id}.${webhook-timestamp}.${body} using the destination’s whsec_ secret. Any Standard Webhooks library works.
Node.js
2xx within 10 seconds; do work asynchronously. Failed deliveries are retried with backoff.
Idempotency and ordering
- Deduplicate on
eventId. - Apply events per
linkedAccountIdinorder. Deliveries can arrive out of order after retries. - Treat lifecycle events as signals and read the current state from
GET /v3/linked-accountswhen you need names, status, or scopes.
Test deliveries
Send a test event from the destination page in the dashboard. Test deliveries carry"test": true and synthetic ids. Do not write them to production state.