---
title: "Retrieve one Mass Message of an account"
method: GET
path: "/api/v0/accounts/{account_id}/mass-messages/{mass_message_id}"
tags: ["mass-messages"]
---

# Retrieve one Mass Message of an account

`GET /api/v0/accounts/{account_id}/mass-messages/{mass_message_id}`

## Request

- Base URL: `https://omapi.onlymonster.ai`
- URL: `https://omapi.onlymonster.ai/api/v0/accounts/{account_id}/mass-messages/{mass_message_id}`
- Auth: API key in header `x-om-auth-token`

**Rate limit:** 5 requests per second

The Mass Message with its fan lists and paid split. It carries no `status`, no `stats`, no `created_at` and no `created_by` — read those on the list.

**Required permission:** `mass_messages.view`

## Path parameters

- `account_id` string, required
- `mass_message_id` string, required

## Response `200`

One Mass Message of the account, with its fan lists and paid split. It carries no `status`, `stats`, `created_at` or `created_by`.

- object: One Mass Message of the account, with its fan lists and paid split. It carries no `status`, `stats`, `created_at` or `created_by`.
  - `id` string, required: Identifier of the Mass Message.
  - `account_id` string, required: OnlyMonster account the Mass Message belongs to.
  - `scheduled_at` string, date-time, required: When the platform sends the Mass Message, in UTC. Null for a Mass Message sent right away.
  - `message` object, required: The content of a Mass Message.
    - `text` string, required: Text the fan receives. Null when the message carries none.
    - `text_is_paid` boolean, required: Whether the text sits behind the paywall. Null when it is not known for this message.
    - `price_gross` number, required: Price the fan pays for this message, before any platform deduction. Null when it is not known for this message.
    - `attachments` object[], required: Media attached to the message. Empty when it carries none.
      - `id` string, required: Identifier of the media on the platform.
      - `type` 'image' | 'video' | 'audio', required: Kind of media attached.
      - `is_paid` boolean, required: Whether the attachment sits behind the paywall. Null when the paid/free split is not known for this message.
    - `giphy_id` string, required: Identifier of the GIF sent with the message. Null when it carries none.
    - `user_list_ids` string[], required: Fan lists the message was sent to, as identifiers. Null when they are not known for this message.
    - `excluded_user_list_ids` string[], required: Fan lists left out of the audience, as identifiers. Null when they are not known for this message.
    - `tagged_platform_account_ids` string[], required: Platform accounts tagged in the message. Null when they are not known for this message.

## Other responses

- `400`: The request states something this endpoint cannot accept: an identifier outside its bounds, or an account that is not an OnlyFans account. A refusal this endpoint decides itself carries no code.
- `401`: The token is missing or invalid.
- `403`: The API key lacks the permission this endpoint requires, or the request is outside what the organisation or the API key can access.
- `404`: The Mass Message does not exist for this account.
- `422`: The account's platform session or proxy cannot be used.
- `429`: A rate limit was exceeded: the token or per-endpoint limit of this API, or the platform's limit on the account.
- `500`: The request failed for a reason this API does not describe. Repeating it is safe.
- `502`: The request failed for a reason that is not about the request.

## Changes

- **2026-11-03** `20f58411c6c5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/onlymonster/apis/om-api-service/changes/api/v0/accounts/:account_id/mass-messages/:mass_message_id/get.md)

---

[API](https://skmtc.dev/onlymonster/apis/om-api-service.md) - [All operations](https://skmtc.dev/onlymonster/apis/om-api-service/llms.txt) - [OpenAPI document](https://skmtc.dev/onlymonster/apis/om-api-service/revisions/0003edb0288a?raw)
