Skip to content

Plans

Every tenant is on a plan. The Plan enum has three values:

FREE_TRIAL | PRO | ENTERPRISE

A self-serve signup provisions on FREE_TRIAL. (The database column default is PRO — that's the legacy value backfilled onto tenants created by hand before self-serve existed; new self-serve tenants are explicitly set to FREE_TRIAL at approval.)

Limits

Limits live in code (PLAN_LIMITS) and are surfaced to merchants at GET /api/v1/merchant/limits (usage + cap per metric).

MetricFREE_TRIALPROENTERPRISE
Catalog items25500unlimited
API calls / day1,00050,000unlimited
Storage100 MB10 GBunlimited
Staff seats15unlimited
Storefronts15unlimited

What's enforced today

FREE_TRIAL limits are live and return 402 when exceeded:

  • Items — blocked at create once you hit the cap
  • Storage — checked when minting a signed upload URL and again on image confirm
  • Staff seats — blocked at teammate invite
  • API calls/day — a rolling-day rate limit on the public API

PRO and ENTERPRISE limits are tracked and shown in the merchant Plan & Usage view but not yet enforced — every existing org was backfilled to PRO, so enforcement is intentionally held to FREE_TRIAL until paid plans are reviewed. ENTERPRISE is unlimited on every metric. The storefronts cap is forward-looking and not enforced on any plan yet.

Dollar pricing and the billing lifecycle aren't here — they publish with litecheckout. This page documents the technical limits an integration actually hits (the 402s), which is what you need to build against.

Signup

Self-serve signup runs through an abuse-filtered queue — see the Self-serve signup guide for the endpoint and lifecycle. Enterprise signups always route to a human; auto-approval is code-enforced off for Enterprise by design.