Messages

Send Message

Sends a message in a chat. Supports text, vault media, GIFs, replies, PPV pricing, and release-form tagging. Requires permission api_messages_send.

https://public-api.buffmetrics.com
POST/v1/{account_id}/chats/{user_id}/messages
Bearer

Authorization

default
AuthorizationBearer <token>

Send your FansMetric API key as a Bearer token in the Authorization header.

In: header

Path Parameters

  • account_id*integer

    OnlyFans numeric account ID.

  • user_id*integer

    Fan/user ID to send the message to.

Request Body

application/json
  • textstring

    Message text. Can contain HTML. Required unless mediaFiles or giphyId is present.

  • lockedTextboolean

    Hide text behind paywall. Default false.

  • mediaFilesarray

    Array of vault media IDs (integers).

  • pricestring

    PPV price. 0 = free. Non-zero must be 3-200 and requires mediaFiles.

  • previewsarray

    Array of vault media IDs to use as previews. Subset of mediaFiles.

  • giphyIdstring

    Giphy GIF ID — get from /gifs/trending or /gifs/search.

  • replyToMessageIdstring

    Message ID being replied to.

  • rfTagstring

    OF creator user IDs to tag (release forms).

  • rfGueststring

    Release-form guest IDs.

  • rfPartnerstring

    Release-form partner IDs.

curl --request POST "https://public-api.buffmetrics.com/v1/acct_XXXXX/chats/sample_user_id/messages" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "text": "Hello!",
  "lockedText": false,
  "mediaFiles": [],
  "price": 0,
  "previews": [],
  "giphyId": null,
  "replyToMessageId": null
}'

Response

200
{
"data":{
"responseType":"message"
"id":1000000000001
"text":"Hello!"
"giphyId":null
"createdAt":"2026-05-15T10:00:00+00:00"
"fromUser":{
"id":100000001
"_view":"t"
}
"mediaCount":0
"media":[]
"price":0
"isFree":true
"isLiked":false
"isPinned":false
"canBePinned":true
"queueId":10000000001
}
"_meta":{
"_credits":{
"used":1
}
"_rate_limits":{
"limit_minute":1000
"remaining_minute":993
"limit_day":50000
"remaining_day":49993
}
}
}