Get current plan pricing

GEThttps://app.speybooks.com/api/v1/public/plans

Returns current plan pricing sourced live from Stripe. This is the same Price object that checkout charges, so displayed prices cannot drift from charged prices.

Authentication

Public, no authentication required. No API key or session is consulted; these endpoints are public by design.

Response Fields

Each entry in plans:

  • id: plan identifier (sole_trader or limited_company)
  • name: display name
  • pricePence: monthly price in pence (minor units)
  • priceFormatted: display string such as £15; whole pounds omit decimals
  • interval: billing interval, currently always month
  • features: feature list for the pricing card

Sourcing and Fallback

Prices are retrieved from Stripe and cached in memory for 5 minutes. If Stripe is unreachable, the API serves declared fallback constants and logs a warning; the response shape is identical in both cases. Fallback constants are checked against live values on every cache refresh, so they cannot silently drift.

Caching

In addition to the in-memory TTL, responses carry Cache-Control: public, s-maxage=300, stale-while-revalidate=3600 for CDN and build-time consumers. The marketing site fetches this endpoint at build time and bakes the values into static pages.

Price changes: changing a price in Stripe propagates to this endpoint within 5 minutes and to the marketing site on its next build. The marketing build pipeline fetches this endpoint at build time.

Rate limiting: no explicit limit; the 5-minute cache means rapid polling yields identical results.

Example values are illustrative; the live response carries the current Stripe pricing.

Response

200Returns live plan pricing sourced from Stripe. Cached for 5 minutes.
Show response fields
plansarray<object>
Show child attributes
featuresarray<string>
Feature list for the pricing card.
idstring
Plan identifier: sole_trader or limited_company.
intervalstring
Billing interval. Currently always month.
namestring
Display name of the plan.
priceFormattedstring
Display string, e.g. £15. Whole pounds omit decimals.
pricePencenumber
Monthly price in pence (minor units), sourced live from Stripe.