Webhook Events
Learn more about all Fansly API webhook events you can subscribe to.
Webhooks are the best way for your application to receive real-time updates from the Fansly API. Instead of constantly polling for changes, you can configure webhooks to proactively send events directly to your server.
This reference covers all available webhook events you can subscribe to. Some events are currently active and will send detailed JSON payloads, while others are upcoming and will be supported in future updates.
Active Events
The following events are currently fully supported. You will receive a webhook notification with a JSON payload when these events occur.
PPV Message Purchased (ppv.purchased)
Triggered when a user purchases a pay-per-view (PPV) message.
{
"accountId": "fansly_ACCOUNT_ID",
"event": "ppv.purchased",
"timestamp": "2026-06-23T18:11:59.242Z",
"data": {
"orderId": "ORDER_ID", // Order ID
"accountMediaId": "MEDIA_ID", // Media content ID
"correlationAccountId": "CREATOR_ID", // Creator account ID
"accountId": "FAN_ID", // Fan ID
"type": 1,
"orderMetadata": {
"accountMediaPrice": 1000 // Price in cents
}
}
}Tip Received (tips.received)
Triggered when a tip is received.
{
"accountId": "fansly_ACCOUNT_Id",
"event": "tips.received",
"timestamp": "2026-06-23T18:11:59.305Z",
"data": {
"id": "TIP_ID",
"type": 2110,
"originWalletId": null,
"destinationWalletId": "WALLET_ID",
"status": 1,
"amount": 9999, // Amount in cents
"destinationTax": 2000,
"destinationAmount": 800,
"correlationId": "CORRELATION_ID"
}
}Message Received (messages.received)
Triggered when a new message is received.
{
"event": "messages.received",
"accountId": "fansly_ACCOUNT_ID",
"timestamp": "2026-07-08T18:05:05.157Z",
"data": {
"type": 1,
"attachments": [],
"content": "hi",
"groupId": "GROUP_ID",
"senderId": "SENDER_ID",
"inReplyTo": "",
"interactions": [
{
"groupId": "GROUP_ID",
"userId": "USER_ID",
"readAt": 0,
"deliveredAt": 0,
"messageId": "MESSAGE_ID"
}
],
"id": "MESSAGE_ID",
"createdAt": 1783533902.804,
"embeds": []
}
}Message Sent (messages.sent)
Triggered when a new message is sent.
{
"event": "messages.sent",
"accountId": "fansly_ACCOUNT_ID",
"timestamp": "2026-07-08T18:04:32.438Z",
"data": {
"type": 1,
"attachments": [],
"content": "hey there",
"groupId": "GROUP_ID",
"senderId": "SENDER_ID",
"inReplyTo": "",
"interactions": [
{
"groupId": "GROUP_ID",
"userId": "USER_ID",
"readAt": 0,
"deliveredAt": 0,
"messageId": "MESSAGE_ID"
}
],
"id": "MESSAGE_ID",
"createdAt": 1783533871.59,
"embeds": []
}
}New Subscription (subscriptions.new)
Triggered when a new subscription is created.
All Event Types
Below is the complete list of all webhook events that can be configured, including both active and upcoming events.
| Event Value | Description | Status |
|---|---|---|
messages.received | Message received | Active |
messages.sent | Message sent | Active |
ppv.purchased | PPV message purchased | Active |
subscriptions.new | New subscription | Active |
subscriptions.renewed | Renewed subscription | Upcoming |
users.typing | User typing | Upcoming |
posts.liked | Post liked | Upcoming |
tips.received | Tip received | Active |
transactions.new | New transaction | Upcoming |
accounts.connected | Account connected | Upcoming |
accounts.reconnected | Account reconnected | Upcoming |
accounts.session_expired | Account session expired | Upcoming |
accounts.authentication_failed | Account authentication failed | Upcoming |
accounts.otp_code_required | OTP code required | Upcoming |
accounts.face_otp_required | Face OTP required | Upcoming |