curl --request GET \
--url https://api.fanvue.com/v1/creators/{creatorUserUuid}/checkout-links/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>'import requests
url = "https://api.fanvue.com/v1/creators/{creatorUserUuid}/checkout-links/subscriptions"
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fanvue.com/v1/creators/{creatorUserUuid}/checkout-links/subscriptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"uuid": "5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a",
"status": "active",
"cancelAtPeriodEnd": false,
"cancelledBy": null,
"expiresAt": "2026-07-19T08:30:00.000Z",
"createdAt": "2026-06-19T08:30:00.000Z",
"clientReferenceId": "order_9f8c",
"checkoutLink": {
"uuid": "0b3c0e4a-1f2d-4c8a-9a1b-3e5f7a9c1d2e",
"name": "Premium Coaching"
},
"purchaser": {
"uuid": "7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"email": "buyer@example.com"
},
"price": {
"amount": 1999,
"currency": "USD",
"cycleLength": 1,
"cycleUnit": "month"
},
"metadata": {
"campaign": "summer"
}
}
],
"nextCursor": null
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}List a creator's checkout-link subscriptions
List the specified creator’s checkout-link product subscriptions, most recent first, with cursor-based pagination. Defaults to status=active (renewing); pass status=cancelled for active subscriptions scheduled to cancel at the period end (cancelAtPeriodEnd=true — their resource status stays active until they expire), status=expired for ended ones, or status=all. Filter by checkoutLinkUuid or fanUuid to narrow the list.
Polling for real-time updates? Use a webhook instead.
If you are calling this endpoint on a schedule to detect new activity, subscribe to the checkout_link.subscription.activated, checkout_link.subscription.deactivated, checkout_link.subscription.cancel_at_period_end_changed webhook events instead — you’ll get pushed updates in real time without polling. See the webhook documentation.
curl --request GET \
--url https://api.fanvue.com/v1/creators/{creatorUserUuid}/checkout-links/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'X-Fanvue-API-Version: <x-fanvue-api-version>'import requests
url = "https://api.fanvue.com/v1/creators/{creatorUserUuid}/checkout-links/subscriptions"
headers = {
"X-Fanvue-API-Version": "<x-fanvue-api-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'X-Fanvue-API-Version': '<x-fanvue-api-version>',
Authorization: 'Bearer <token>'
}
};
fetch('https://api.fanvue.com/v1/creators/{creatorUserUuid}/checkout-links/subscriptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"uuid": "5d4c3b2a-1f0e-4d9c-8b7a-6f5e4d3c2b1a",
"status": "active",
"cancelAtPeriodEnd": false,
"cancelledBy": null,
"expiresAt": "2026-07-19T08:30:00.000Z",
"createdAt": "2026-06-19T08:30:00.000Z",
"clientReferenceId": "order_9f8c",
"checkoutLink": {
"uuid": "0b3c0e4a-1f2d-4c8a-9a1b-3e5f7a9c1d2e",
"name": "Premium Coaching"
},
"purchaser": {
"uuid": "7c1d2e3f-4a5b-6c7d-8e9f-0a1b2c3d4e5f",
"email": "buyer@example.com"
},
"price": {
"amount": 1999,
"currency": "USD",
"cycleLength": 1,
"cycleUnit": "month"
},
"metadata": {
"campaign": "summer"
}
}
],
"nextCursor": null
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"message": "<string>",
"nextVersion": "<string>"
}{
"error": "<string>"
}read:creator— Access creator profiles, content, and creator-specific information.
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
Query Parameters
Number of results to return (default 20, max 100).
x <= 100Cursor for pagination, as returned in a previous page's nextCursor.
^\d+$Filter (default active). active returns renewing subscriptions; cancelled returns active subscriptions scheduled to cancel at the period end (cancelAtPeriodEnd=true — their resource status is still active); expired returns ended subscriptions.
active, cancelled, expired, all Filter to subscriptions purchased through this checkout link.
Filter to subscriptions held by this fan.
Was this page helpful?