Mass Messages
Update Mass Message
Edits a queue item in place. The canonical "edit a scheduled mass message" operation — change the send time, rewrite the text, swap media, or move the audience without cancelling and recreating. Cannot edit messages already delivered (isDone: true or past scheduledDate). Pass scheduledDate alone to just reschedule, or submit a full snapshot to rewrite the message — both shapes are accepted. Requires permission api_mass_messages_update.
https://public-api.fansmetric.comAuthorization
defaultAuthorizationBearer <token>Send your FansMetric API key as a Bearer token in the Authorization header.
In: header
Path Parameters
account_id*integerOnlyFans numeric account ID.
queue_id*integerThe queue ID of the scheduled mass message to edit.
Request Body
application/jsontextstringNew message text. HTML accepted.
lockedTextbooleanWhether the text is locked behind the paywall.
mediaFilesarrayVault media IDs to attach. Replaces the existing attachments when provided.
previewsarrayVault media IDs to surface as paywall previews.
pricestringPrice in dollars.
0for free.userListsstringAudience list IDs to send to.
userIdsstringExplicit user IDs to send to.
excludedListsstringList IDs to exclude from the audience.
rfTagstringRelease-form tag identifier.
rfGueststringRelease-form guest identifier.
rfPartnerstringRelease-form partner identifier.
giphyIdstringGiphy ID if the message is a GIF.
scheduledDatestringISO timestamp for the (re)scheduled send. Pass this alone to just reschedule.
recommendersstringRecommender block, matching the Send Mass Message shape.
filtersstringAudience filters, matching the Send Mass Message shape.
Response Fields
data.idintegerQueue ID.
data.datestringUpdated send/scheduled timestamp.
data.isReadybooleanWhether the queue item is ready to send.
data.isDonebooleanWhether sending has completed (always
falsefor edits).data.canUnsendbooleanWhether the queue item can still be cancelled.
data.unsendSecondsintegerSeconds remaining in the unsend window.
data.hasErrorbooleanWhether the upstream edit errored.
data.isCanceledbooleanAlways
falsefor a successful edit.dataobject | arrayEndpoint-specific payload. See the fields below for this route.
_meta._credits.usedintegerCredits consumed by this request (currently always
1)._meta._rate_limits.limit_minuteintegerMaximum requests per minute for the organization.
_meta._rate_limits.remaining_minuteintegerRemaining requests in the current minute window.
_meta._rate_limits.limit_dayintegerMaximum requests per day for the organization.
_meta._rate_limits.remaining_dayintegerRemaining requests in the current day window.
| Field | Type | Description |
|---|---|---|
| data.id | integer | Queue ID. |
| data.date | string | Updated send/scheduled timestamp. |
| data.isReady | boolean | Whether the queue item is ready to send. |
| data.isDone | boolean | Whether sending has completed (always false for edits). |
| data.canUnsend | boolean | Whether the queue item can still be cancelled. |
| data.unsendSeconds | integer | Seconds remaining in the unsend window. |
| data.hasError | boolean | Whether the upstream edit errored. |
| data.isCanceled | boolean | Always false for a successful edit. |
| data | object | array | Endpoint-specific payload. See the fields below for this route. |
| _meta._credits.used | integer | Credits consumed by this request (currently always 1). |
| _meta._rate_limits.limit_minute | integer | Maximum requests per minute for the organization. |
| _meta._rate_limits.remaining_minute | integer | Remaining requests in the current minute window. |
| _meta._rate_limits.limit_day | integer | Maximum requests per day for the organization. |
| _meta._rate_limits.remaining_day | integer | Remaining requests in the current day window. |
curl --request PUT "https://public-api.fansmetric.com/v1/100000001/mass-messages/queue/sample_queue_id" \
--header "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--data '{ "scheduledDate": "2026-06-10T15:00:00.000Z" }'Response
200