Skip to main content
POST
/
v2
/
access
/
chats
/
:userId
/
messages
Send a chat message
curl --request POST \
  --url https://api.ofauth.com/v2/access/chats/:userId/messages \
  --header 'Content-Type: application/json' \
  --header 'apiKey: <api-key>' \
  --header 'x-connection-id: <api-key>' \
  --data '
{
  "isForwardedMessage": false,
  "text": "",
  "replyToMessageId": "<string>",
  "mediaItems": [],
  "isLockedText": false,
  "price": 0,
  "previewMediaCount": 0,
  "releaseForms": {
    "users": [],
    "partners": [],
    "guests": []
  },
  "userTags": [],
  "isMarkdown": true
}
'
{
  "id": 123,
  "text": "<string>",
  "createdAt": "<string>",
  "media": [
    {
      "id": 123,
      "convertedToVideo": true,
      "canView": true,
      "hasError": true,
      "createdAt": "<string>",
      "isReady": true,
      "releaseForms": [
        {
          "id": 123,
          "name": "<string>",
          "partnerSource": "<string>",
          "type": "<string>",
          "user": {
            "view": "<string>",
            "id": 123,
            "name": "<string>",
            "username": "<string>",
            "isVerified": true,
            "avatar": "<string>",
            "avatarThumbs": {
              "c50": "<string>",
              "c144": "<string>"
            },
            "ivStatus": "<string>",
            "isFromGuest": true
          }
        }
      ],
      "duration": 123,
      "hasCustomPreview": true,
      "videoSources": {
        "240": "<string>",
        "720": "<string>"
      },
      "files": {
        "full": {
          "url": "<string>",
          "sources": [
            {
              "url": "<string>",
              "width": 123,
              "height": 123,
              "type": "<string>"
            }
          ],
          "width": 123,
          "height": 123,
          "size": 123
        },
        "thumb": {
          "url": "<string>",
          "width": 123,
          "height": 123,
          "size": 123
        },
        "preview": {
          "url": "<string>",
          "options": [
            {
              "url": "<string>",
              "width": 123,
              "height": 123,
              "type": "<string>"
            }
          ],
          "width": 123,
          "height": 123,
          "size": 123
        },
        "squarePreview": {
          "url": "<string>",
          "width": 123,
          "height": 123,
          "size": 123
        }
      }
    }
  ],
  "mediaCount": 123,
  "isMediaReady": true,
  "price": 123,
  "isFree": true,
  "lockedText": true,
  "queueId": 123,
  "cancelSeconds": 123
}

Documentation Index

Fetch the complete documentation index at: https://docs.ofauth.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

apiKey
string
header
required

Your OFAuth API key for authenticating requests.

x-connection-id
string
header
required

Requires a connection via the x-connection-id header.

Path Parameters

userId
string
required
Pattern: ^\d+$

Body

application/json
isForwardedMessage
boolean | null
default:false

Whether this is a forwarded message

text
string
default:""

Text content. Supports markdown by default. See Text Formatting Guide.

Maximum string length: 10000
replyToMessageId
string | null

Reply to an existing chat message

Minimum string length: 1
mediaItems
(integer | string)[]

Media references to attach. Accepts vault media IDs, upload references (mediaUploadId), or http(s) URLs. See mediaItems reference.

OnlyFans media ID

Required range: x > 0
isLockedText
boolean | null
default:false

Whether text is locked behind paywall (defaults to false).

price
number | null
default:0

Price to unlock message content (0 for free)

Required range: 0 <= x <= 200
previewMediaCount
integer | null
default:0

How many items in mediaItems should be previews. Uses the first N items from left to right.

Required range: x >= 0
releaseForms
object

Release form participants

userTags
integer[]

Users to tag

OnlyFans user ID

Required range: x > 0
isMarkdown
boolean | null
default:true

Whether to parse text as markdown (default: true). See Text Formatting Guide.

Response

Successful response

id
number
required
text
string
createdAt
string
media
object[]
mediaCount
number
isMediaReady
boolean
price
isFree
boolean
lockedText
boolean
queueId
number
cancelSeconds
number