Documentation

Core concepts

KeyStack has five concepts. Once you have these, everything else is just an endpoint.

Organization

The top-level tenant. When you sign up, KeyStack creates an organization that owns everything you do. Every API call and every database row in KeyStack is scoped to exactly one organization.

Application

A product you sell licenses for. Acme Studio, Acme CLI and Acme Desktop are three applications. Each application has:

  • Its own license-key board, customers, plans and audit log.
  • One or more API keys for the public API.
  • Webhook subscriptions.

You can have up to N applications depending on your plan.

License plan

A reusable template for licenses. Common shapes:

  • lifetime-pro — never expires, 3 activations max.
  • monthly-team — 30-day duration, 5 activations.
  • trial-14d — 14-day duration, 1 activation.

When you issue a license you pick the plan; the resulting license inherits the plan's defaults but you can override them per-license.

License

A single key bound to a customer. Has:

  • A human-readable key (KS-7F3K-99XY-...).
  • A status (ACTIVE, FROZEN, EXPIRED, REVOKED).
  • Optional expiry date.
  • An activation count (incremented on each fresh device).
  • Metadata you can attach (Stripe order ID, hardware fingerprint, etc.).

Customer

The person or company you've sold a license to. KeyStack auto-creates customers when you issue a license to a new email address and dedupes when you reuse one.

ConceptOwnsOwned by
OrganizationApplications, MembersNobody
ApplicationPlans, Licenses, API keys, CustomersOrganization
License planApplication
LicenseActivationsApplication + Customer
CustomerLicensesApplication