The Only API docs
Messaging

Send a message

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…

POST
/api2/v2/chats/{user_id}/messages

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 entry. After a Feed succeeds, reuse its permanent media[].id values instead of uploading again or reusing consumed temporary upload objects. price: 0 is free; a positive price creates PPV. Requires allow_of_write_actions. A timeout after submission may be ambiguous; do not blindly repeat the send. See Messaging & mass DM. OnlyFans only. Requires X-API-Key and user-id; read the result from data.

X-API-Key<token>

Your CRM panel API key

In: header

Path Parameters

user_id*string

Header Parameters

user-id*string

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.

X-Proxy?string

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": {}}