Mass Messaging

Update Mass Message

Changed on

Update the content, recipients, media, price, or scheduled send time of an existing mass message.

put/api/{account}/mass-messaging/{id}

Request

  • Base URL
    https://app.onlyfansapi.com
  • URL
    https://app.onlyfansapi.com/api/{account}/mass-messaging/{id}
  • Auth
    HTTP bearer

Request body

userListsstring[]

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

userIdsstring[]

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

textstring required

The message text content

lockedTextboolean

Whether the text should be shown or hidden

pricenumber

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

mediaFilesstring[]

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

previewsstring[]

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.

giphyIdstring

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

scheduledDatestring

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

blockBannedWords'strict_ban' | 'risky' | 'replace_soften'

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.

Example request

{
  "userLists": [
    "fans",
    "recent",
    "following",
    "rebill_off",
    "tagged",
    1234567890
  ],
  "userIds": [
    1234567890
  ],
  "text": "Hello!",
  "lockedText": true,
  "price": 6.97,
  "mediaFiles": [
    "ofapi_media_abc123",
    1234567890
  ],
  "previews": [
    "ofapi_media_abc123",
    1234567890
  ],
  "giphyId": "WAGC3LeqJvXglm5H7a",
  "scheduledDate": "2025-01-01T00:00:00.000Z",
  "blockBannedWords": "strict_ban"
}

Response

Example response

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

Changes