Buildspace
Billing

API Reference

Billing methods available in the Buildspace SDK.

Server SDK

import Buildspace from "@buildspacestudio/sdk";

const bs = new Buildspace(process.env.BUILDSPACE_SECRET_KEY!);
  • bs.billing.getStatus() returns { enabled, mode, status, testMode }
  • bs.billing.listProducts() returns { products }
  • bs.billing.listPrices() returns { prices }
  • bs.billing.createCheckout({ priceId?, lookupKey?, successUrl, cancelUrl, quantity?, metadata?, checkoutRequestId?, userId?, appUserId? }) returns { id?, stripe_checkout_session_id, url }
  • bs.billing.createPortalSession({ returnUrl, userId?, appUserId? }) returns { url }
  • bs.billing.getSubscription({ userId?, appUserId? }) returns { subscription }
  • bs.billing.getEntitlements({ userId?, appUserId? }) returns { active, subscription }

Use userId for Buildspace-authenticated users and appUserId when your app manages its own auth.

Client SDK

import { createClient } from "@buildspacestudio/sdk/client";

const bs = createClient(process.env.NEXT_PUBLIC_BUILDSPACE_PUBLISHABLE_KEY!);
  • bs.billing.getStatus() returns { enabled, mode, status, testMode }
  • bs.billing.listProducts() returns { products }
  • bs.billing.listPrices() returns { prices }
  • bs.billing.redirectToCheckout({ priceId?, lookupKey?, successUrl, cancelUrl, quantity?, metadata?, checkoutRequestId? }) returns Promise<void>
  • bs.billing.redirectToPortal({ returnUrl }) returns Promise<void>
  • bs.billing.manageSubscription({ returnUrl }) returns Promise<void>
  • bs.billing.getSubscription() returns { subscription }
  • bs.billing.getEntitlements() returns { active, subscription }

Client billing calls use the signed-in user session. They do not accept explicit userId or appUserId.

On this page