Promotions
Create Promotion
Create a new promotion for the account.
Authorization
default AuthorizationBearer <token>
Get your API Key from OnlyFansAPI Console - https://app.onlyfansapi.com/api-keys
In: header
Path Parameters
account*string
The Account ID
Request Body
application/json
type*string
Whether this promotion should apply to new subscribers, expired subscribers, or both. IMPORTANT: when set to new_and_expired, the OF will create two separate promotions.
Value in
"new" | "expired" | "new_and_expired"discount*integer
The discount percentage for the promotion's first month. Set to 100 to make this promotion a Free Trial.
offerLimit*integer
Limit how many people can claim this offer. Set to 0 for no limits.
expirationDays*integer
In how many days this offer will expire. Set to 0 to make this promotion infinite.
freeTrialDays?integer
Required only when discount is 100. Sets the duration (in days) of the free trial. Accepted 1-30
message?string
Optionally, provide a message for this promotion.
Response Body
application/json
curl -X POST "https://app.onlyfansapi.com/api/acct_XXXXXXXXXXXXXXX/promotions" \ -H "Content-Type: application/json" \ -d '{ "type": "new", "discount": 10, "offerLimit": 10, "expirationDays": 7 }'{
"data": [
{
"id": 123,
"message": "Example promotion message",
"rawMessage": "Example promotion message",
"hasRelatedPromo": false,
"price": 0,
"type": "all",
"canClaim": true,
"claimsCount": 0,
"subscribeCounts": 10,
"subscribeDays": 7,
"createdAt": "2025-01-01T00:00:00+00:00",
"finishedAt": "2025-01-02T00:00:00+00:00",
"isFinished": false
}
],
"_meta": {
"_credits": {
"used": 1,
"balance": 999999816,
"note": "Always"
},
"_cache": {
"is_cached": false,
"note": "Cache disabled for this endpoint"
},
"_rate_limits": {
"limit_minute": 1000,
"limit_day": null,
"remaining_minute": 998,
"remaining_day": null,
"notice": "We have decided to remove our daily rate limits. Please remove any references to these in your integrations."
}
}
}