Send a message
Send a direct message to a user. Supports text, media attachments (uploaded via the media upload endpoint first), PPV pricing, and locked text. Media must be uploaded to the…
Send a direct message to a user. Supports text, media attachments (uploaded via the media upload endpoint first), PPV pricing, and locked text. Media must be uploaded to the vault first, then referenced by ID in the mediaFiles array.
OnlyFans only. Requests made with a user-id belonging to a Fansly account are rejected — use the platform-neutral CRM data routes (/notifications, /balances, /chats, /purchases, /subscribers/cached, ...) which are Fansly-aware.
Guide: The two surfaces
Authorization
apiKey Your CRM panel API key
In: header
Path Parameters
Header Parameters
Creator account ID of the account to act as (e.g. 509955039). Required — omitting it returns 400 user-id header is required. Use GET /accounts to list your connected accounts. On /api2/v2/* the account must be an OnlyFans account; Fansly accounts are rejected there.
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/api2/v2/chats/string/messages" \ -H "user-id: 509955039" \ -H "Content-Type: application/json" \ -d '{ "text": "Hey! How are you?" }'{ "id": 0, "text": "string", "price": 0, "isFromQueue": true, "isOpened": true, "isNew": true, "createdAt": "2019-08-24T14:15:22Z", "changedAt": "2019-08-24T14:15:22Z", "isFree": true, "media": [ { "id": 0, "type": "photo", "createdAt": "2019-08-24T14:15:22Z", "duration": 0, "convertedToVideo": true, "canView": true, "isReady": true, "hasError": true, "hasPosts": true, "hasCustomPreview": true, "counters": { "buyersCount": 0, "likesCount": 0, "tipsSumm": 0 }, "listStates": [ { "id": 0, "name": "string", "hasMedia": true, "canAddMedia": true } ], "files": { "full": { "url": "string", "width": 0, "height": 0, "size": 0 }, "preview": { "url": "string", "width": 0, "height": 0 }, "thumb": { "url": "string", "width": 0, "height": 0 }, "squarePreview": { "url": "string", "width": 0, "height": 0 } }, "videoSources": { "property1": "string", "property2": "string" } } ], "fromUser": {}}Get chat messages GET
OnlyFans only. Requests made with a user-id belonging to a Fansly account are rejected — use the platform-neutral CRM data routes (/notifications, /balances,…
Search messages in chat GET
OnlyFans only. Requests made with a user-id belonging to a Fansly account are rejected — use the platform-neutral CRM data routes (/notifications, /balances,…