OnlyFans API
OnlyFansMass Messaging

Update Mass Message

Update a mass message.

PUT
/api/{account}/mass-messaging/{id}
AuthorizationBearer <token>

Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys

In: header

Path Parameters

account*string

The Account ID

id*string

The ID of the message queue item. Can be retrieved from the above store and list endpoints.

Request Body

application/json

userLists?array<string>

Array of user list IDs that the mass message will be sent to.

userIds?array<string>

Array of user IDs that the mass message will be sent to.

text*string

The message text content

lockedText?boolean

Whether the text should be shown or hidden

price?integer

Price for paid content (0 or between 3-200). In case this is not zero, mediaFiles is required

mediaFiles?array<string>

Array of media file upload prefixed_ids, or OF media IDs (required if price is not 0). Will be hidden if price is provided.

previews?array<string>

Array of media file upload prefixed_ids, or OF media IDs (required if price is not 0). Will be shown if price is provided. All previews values must also exist in the mediaFiles array.

giphyId?string

The ID of the Giphy GIF to attach to the message. Get IDs from the Giphy listing endpoints (/giphy/trending, /giphy/search).

scheduledDate?string

Schedule the chat message in the future (UTC timezone).

blockBannedWords?string

Screen text for OnlyFans banned words and block the update if any are found (returns a 422 listing the offending words). strict_ban blocks all tiers, risky blocks Risky + Replace/soften, replace_soften blocks Replace/soften only. Omit to disable screening.

Value in"strict_ban" | "risky" | "replace_soften"

Response Body

application/json

curl -X PUT "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/mass-messaging/1234567890" \  -H "Content-Type: application/json" \  -d '{    "text": "Hello!"  }'
{
  "data": {
    "id": 123,
    "date": "2025-01-01T01:01:01+01:01",
    "isReady": true,
    "isDone": false,
    "total": -1,
    "pending": 0,
    "canUnsend": true,
    "unsendSeconds": 1000000,
    "hasError": false,
    "isCanceled": false,
    "isCouplePeopleMedia": false
  },
  "_meta": {
    "_credits": {
      "used": 1,
      "balance": 999999919,
      "note": "Always"
    },
    "_cache": {
      "is_cached": false,
      "note": "Cache disabled for this endpoint"
    },
    "_rate_limits": {
      "limit_minute": 1000,
      "limit_day": 50000,
      "remaining_minute": 998,
      "remaining_day": 49942
    }
  }
}