Quick Reference
| Type | Delivery | Purpose |
|---|---|---|
| Connection events | Webhook | Track connection creation, updates, and expiry |
| System events | Webhook | Get notified when Dynamic Rules change |
Configuration
Configure Realtime in the OFAuth Dashboard:- Set your webhook endpoint URL
- Choose which events to subscribe to
- Review delivery history and failures
Connections Guide
Learn how to store and manage connection IDs
Error Handling
Handle delivery failures and retries
Event Types
Connection Events
| Event | Trigger |
|---|---|
connection.created | A new connection is established |
connection.updated | Connection details change, such as permissions after reconnection |
connection.expired | A connection expires naturally or is invalidated via API |
System Events
| Event | Trigger |
|---|---|
rules.updated | Dynamic Rules signing requirements changed |
Beta
| Event | Trigger |
|---|---|
of.websocket.event.received | OFAuth relays an upstream OnlyFans websocket message through Realtime |
OnlyFans Events are currently in beta. The top-level event type is stable, but the nested payload shapes may expand or be refined as we document more upstream websocket messages.
Payload Format
All connection events share the same general payload shape:connection.created
connection.updated
connection.expired
Delivery & Retries
- Retry policy: exponential backoff with up to 5 attempts
- Timeout: 10 seconds per request
- Ordering: in-order delivery per connection ID
2xx response within 10 seconds.
Signature Verification
Every Realtime delivery includes anOFAuth-Signature header:
- Extracting the timestamp (
t) and signature (v1) - Rejecting requests older than 5 minutes
- Computing an HMAC-SHA256 of
{timestamp}.{raw_body}using your signing secret - Comparing the expected signature with a constant-time comparison
Implementation Checklist
- Parse the
application/jsonbody - Verify the signature before processing
- Route the event by
type - Return
2xxwithin 10 seconds - Make handlers idempotent by storing processed event IDs
Troubleshooting
Delivery failed
Delivery failed
Ensure your endpoint is publicly reachable and returns a
2xx response within 10 seconds.Events are not arriving
Events are not arriving
Verify the endpoint URL and selected subscriptions in the Dashboard.
Signature verification is failing
Signature verification is failing
Use the raw request body, not the parsed JSON body, and confirm the signing secret matches your Dashboard configuration.
Next Steps
Link API
Create sessions that produce connection IDs
Access API
Use connection IDs to read and write OnlyFans data
OnlyFans Events Beta
Overview of the websocket relay and Svix delivery model