curl --request PATCH \
--url https://api.fanvue.com/v1/creators/{creatorUserUuid}/subscription-price \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>' \
--data '
{
"subscriptionPrice": 5199
}
'import requests
url = "https://api.fanvue.com/v1/creators/{creatorUserUuid}/subscription-price"
payload = { "subscriptionPrice": 5199 }
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({subscriptionPrice: 5199})
};
fetch('https://api.fanvue.com/v1/creators/{creatorUserUuid}/subscription-price', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"subscriptionPrice": 999,
"subscribersMovedToReOptIn": true
}{
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}Update creator's subscription price
Set the specified creator’s monthly subscription price, in USD cents (minor units).
⚠️ Side effect when increasing the price: all of the creator’s existing active subscribers are moved to a pending opt-in state for the new price. With forceOptIn: false (default) they keep auto-renewing at their current price until they accept the new one; with forceOptIn: true they are forced to opt in at the new price and their current auto-renewal is disabled. The response’s subscribersMovedToReOptIn reports whether this happened. Decreasing the price has no effect on existing subscribers.
The new price must stay compatible with the creator’s promotions: if any promotion’s discount would take it below the platform minimum, the request is rejected until that promotion is deleted.
curl --request PATCH \
--url https://api.fanvue.com/v1/creators/{creatorUserUuid}/subscription-price \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>' \
--data '
{
"subscriptionPrice": 5199
}
'import requests
url = "https://api.fanvue.com/v1/creators/{creatorUserUuid}/subscription-price"
payload = { "subscriptionPrice": 5199 }
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({subscriptionPrice: 5199})
};
fetch('https://api.fanvue.com/v1/creators/{creatorUserUuid}/subscription-price', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"subscriptionPrice": 999,
"subscribersMovedToReOptIn": true
}{
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}write:creator— Modify creator profiles, settings, and creator-specific data.
Authorizations
OAuth 2.0 access token, presented as a JWT bearer token in the Authorization header. Obtain a token via the authorization-code flow; the scopes granted to the token determine which operations it may call.
Headers
API version to use for the request
"2025-06-26"
Path Parameters
Body
New monthly subscription price in USD cents (minor units), between 399 and 10000
399 <= x <= 10000Only used when the price increases. When false (default), existing subscribers keep auto-renewing at their current price until they opt in to the new one. When true, they are forced to opt in at the new price and their current auto-renewal is disabled.
Response
Subscription price updated successfully
Was this page helpful?