Back to docs Plans
Live

Plans

The catalogue of billing plans, their prices and included quotas. Public on the pricing page, also exposed via the API.

Overview

Plans is the source of truth for pricing. Each plan has a name, a monthly price and per-resource quotas (AI tokens, transcription minutes, WhatsApp conversations, emails). Public plans render on the pricing page.

Quotas drive usage. A plan can be a hard limit (usage cuts off at quota) or soft. Card gating protects the AI routes and returns a banner when billing is missing.

The catalogue is readable without authentication via GET /v1/plans, the exact same data as the marketing pricing page. Handy for an external comparator or a partner site.

What the module does

Plan catalogue

Public plans (is_public) are ordered for display. Each plan carries its monthly price in cents and its included quotas.

  • Claude input and output tokens
  • Transcription minutes, compute units
  • WhatsApp conversations, included emails
  • Hard or soft limit per plan

Quotas and entitlements

Each feature and each limit has a typed key. Entitlements resolve per plan, module access is checked server-side. A feature above the plan triggers an UpgradePrompt.

Card gating

AI routes require a saved card. Without valid billing, the response is a 402 with an upgrade banner, not a silent failure.

Public plans API

GET /v1/plans returns the catalogue without authentication. The first public API endpoint besides health, because the data is already public on the site.

How to use it

  1. 01

    Browse the catalogue

    The pricing page renders public plans, or read GET /v1/plans without auth.

  2. 02

    Pick a plan

    At signup or in onboarding, you pick your plan with its attached card.

  3. 03

    Spend within quotas

    AI, transcription and messaging usage draws down the plan quotas.

  4. 04

    Upgrade

    A feature above the plan opens an upgrade checkout, with no interruption.

Connections