Billing Endpoints
Manage subscriptions, checkout sessions, and the billing portal.
The Billing family manages your Sureshake subscription and payment settings via Stripe. All endpoints live under /v2/billing and require a user access token (Authorization: Bearer).
Create Checkout Session
Generate a unique Stripe Checkout URL to subscribe to a specific plan. Only self-serve plans can be purchased here; Institutional plans are sales-assisted, and Reputation Score is included with any paid membership.
/v2/billing/checkoutcurl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"planId": "individual_professional", "billingCycle": "monthly"}' \
https://api.sureshake.com/v2/billing/checkout{
"data": {
"id": "cs_test_...",
"url": "https://checkout.stripe.com/...",
"expiresAt": 1710518400,
"planId": "individual_professional",
"billingCycle": "monthly"
},
"meta": {
"timestamp": "2026-08-08T10:00:00Z"
}
}Requests for plans or billing cycles that are not self-serve return 400 with a descriptive error message.
Get Current Subscription
Retrieve details about your active subscription. Returns data: null when you have no active or trialing subscription.
/v2/billing/subscriptioncurl -H "Authorization: Bearer $TOKEN" https://api.sureshake.com/v2/billing/subscription
Billing Portal
Generate a link to the Stripe Customer Portal where you can manage payment methods and view invoices. Returns 400 if you have never started a membership.
/v2/billing/portalcurl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}' https://api.sureshake.com/v2/billing/portalCancel Subscription
Disable auto-renewal for your current subscription. It will remain active until the end of the current period.
/v2/billing/subscription/cancelcurl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"subscriptionId": "sub_..."}' \
https://api.sureshake.com/v2/billing/subscription/cancelReturns 404 if the subscription does not exist or does not belong to you.