Send a mass DM
OnlyFans-only synchronous fan-out of individual DMs, not a native queue item. Fansly returns 501 PLATFORM_NOT_SUPPORTED. dry_run defaults to the JSON boolean true and returns a…
OnlyFans-only synchronous fan-out of individual DMs, not a native queue item. Fansly returns 501 PLATFORM_NOT_SUPPORTED. dry_run defaults to the JSON boolean true and returns a cached recipient count and up to ten sample entries without sending. It does not validate attachments or reserve recipients.
Use audience.type active (default), all, or expired. Cache resolution currently reads at most 500 rows without pagination; min_spent filtering happens after that cap. Explicit audience.fan_ids overrides the other filters, uses at most 5,000 inputs and should be deduplicated by the caller. Cache freshness and these limits prevent treating this route as guaranteed all-fan coverage. Native userLists/excludedLists are not supported audience fields here.
A real send requires dry_run: false and allow_of_write_actions. It loops within the HTTP request and has no durable mass-job ID. Check sent, failed and every results entry; success: true can include partial failures. Do not retry the whole audience after an ambiguous timeout. Normal API accounting and rate limits apply. Prefer POST /api2/v2/messages/queue for one native mass message. See Messaging & mass DM.
Authorization
apiKey Your CRM panel API key
In: header
Path Parameters
Creator account ID of the connected account (OnlyFans or Fansly). Use GET /accounts to list connected accounts and their IDs.
Header Parameters
Proxy URL — HTTP or SOCKS5 (e.g. http://user:pass@host:port or socks5://user:pass@host:port). Optional on post-connection routes, where it overrides the proxy saved at login time. Required on the connection routes (POST /accounts/login, POST /accounts/login/cookies, POST /accounts/login/verify-otp) for OnlyFans accounts; optional for Fansly.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/accounts/string/messages/mass" \ -H "Content-Type: application/json" \ -d '{ "text": "New update", "price": 0, "mediaFiles": [], "audience": { "type": "active" }, "dry_run": true }'{ "dry_run": true, "failed": 0, "note": "string", "recipients": 0, "results": [], "sample": [], "sent": 0, "success": true}Send a DM or PPV POST
Send a single DM. For OnlyFans, mediaFiles accepts permanent integer photo IDs or the complete media object returned by a fresh upload. Uploading alone does not create a vault…
PPV performance stats GET
Purchase/unlock statistics for PPV messages sent from this account, computed from cached transactions. Zero platform requests. Fansly-aware.