Promotions
Create Promotion
Creates a new promotion (discount offer or free trial) on the creator's profile. Promotions can target new subscribers, expired subscribers, or both (new_and_expired creates two OF-side promotions in one call). For free-trial **links** specifically, prefer the /v1/{account_id}/trial-links endpoints — this is the lower-level OF-native primitive. Requires permission api_promotions_create.
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.
Request Body
application/jsontype*stringAudience. One of
new,expired,new_and_expired.new_and_expiredcreates **two** OF promotions in a single call.discount*stringDiscount percentage applied to the subscription. Range
1–100. Set to100to turn the promotion into a Free Trial —freeTrialDaysthen becomes required.subscribeCounts*stringLimit on how many subscribers can claim. Set to
0for unlimited. Max:100.subscribeDays*stringDays the discount remains in effect for a redeeming subscriber. Range
1–30.finishDays*stringDays before the promotion expires. Range
0–30.0means open-ended.messagestringOptional message shown to subscribers (max 500 chars).
freeTrialDaysstringRequired when
discount == 100. Length of the free trial in days. Range1–30.
curl --request POST "https://public-api.fansmetric.com/v1/acct_XXXXX/promotions" \
--header "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"type": "new",
"discount": 50,
"subscribeCounts": 100,
"subscribeDays": 30,
"finishDays": 7,
"message": "Half off your first month! 🎉"
}'Response
200