SureshakeDocs
ApiEndpoints

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.

POST/v2/billing/checkout
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"planId": "individual_professional", "billingCycle": "monthly"}' \
https://api.sureshake.com/v2/billing/checkout
201 Created
{
"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.

GET/v2/billing/subscription
curl -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.

POST/v2/billing/portal
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}' https://api.sureshake.com/v2/billing/portal

Cancel Subscription

Disable auto-renewal for your current subscription. It will remain active until the end of the current period.

POST/v2/billing/subscription/cancel
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"subscriptionId": "sub_..."}' \
https://api.sureshake.com/v2/billing/subscription/cancel

Returns 404 if the subscription does not exist or does not belong to you.

On this page