Posts

Create Post

Composes and publishes a new post on the creator's feed. Supports plain text, attached media from the vault or freshly uploaded files, paid (PPV) posts, scheduled posts, and release-form tags. Requires permission api_posts_create.

https://public-api.fansmetric.com
POST/v1/{account_id}/posts
Bearer

Authorization

default
AuthorizationBearer <token>

Send your FansMetric API key as a Bearer token in the Authorization header.

In: header

Path Parameters

  • account_id*integer

    OnlyFans numeric account ID.

Request Body

application/json
  • text*string

    Post caption. HTML is preserved (<p>, <a>, etc.).

  • mediaFilesarray

    Array of OF vault media IDs (integer) to attach. Required if the post should include media.

  • pricestring

    If present and > 0, makes the post a paid (PPV) post, in USD.

  • previewstring

    When price > 0, the subset of mediaFiles IDs to show as the free preview.

  • rfTagstring

    Array of release-form tag IDs (string).

  • rfGueststring

    Array of tagged guest user IDs (integer).

  • rfPartnerstring

    Array of tagged partner user IDs (integer).

  • scheduledTimestring

    ISO timestamp to schedule the post for a future time. Omit to publish immediately.

curl --request POST "https://public-api.fansmetric.com/v1/acct_XXXXX/posts" \
  --header "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "text": "<p>New exclusive set 💖</p>",
  "mediaFiles": [1111111111, 2222222222, 3333333333],
  "preview": [1111111111],
  "price": 25
}'

Response

200
{
"data":{
"id":9876543210
"postedAt":"2026-06-01T12:30:00+00:00"
"text":"<p>Hello, fans!</p>"
"rawText":"Hello, fans!"
"author":{
"id":12345678
"_view":"a"
}
"isMediaReady":true
"canDelete":true
"canEdit":true
"tipsAmount":"$0"
}
"_meta":{
"_credits":{
"used":1
}
"_rate_limits":{
"limit_minute":1000
"remaining_minute":999
"limit_day":50000
"remaining_day":49999
}
}
}