Skip to content

Domain activation

How domains are counted, normalised, and freed.

2 min read

A license key is activated on domains. The plan’s domain limit caps how many at once.

How a domain gets activated#

Two ways, both landing in the same place:

  • Automatically, when your software calls the license API and includes the domain it is running on. First call registers it; later calls just refresh its last-seen timestamp.
  • By hand, by the customer in their panel or by you in the admin panel.

Normalisation#

Domains are normalised before they are compared or stored, so the same site cannot consume several slots by being written differently. These all resolve to one entry:

  • https://example.com
  • http://www.example.com
  • example.com/some/path
  • EXAMPLE.COM

Subdomains are distinct. app.example.com and example.com are two domains and consume two slots.

The limit#

Taken from the plan and copied onto the subscription at creation, so a later plan change never retroactively restricts an existing customer.

  • A positive number caps concurrent activations.
  • Zero means unlimited. The API reports domain_limit and domains_remaining as null in that case.

Exceeding the limit returns domain_limit_exceeded. A malformed domain returns domain_invalid.

Freeing a slot#

Deactivating a domain frees its slot immediately — from the customer panel, or from the admin panel if you are handling it in a ticket. A deactivated domain can be reactivated later without losing its history.

Staging sites#

Staging and development copies consume slots like anything else, and this is the most common support complaint on single-site plans. Decide your policy up front: either give single-site plans a limit of two, or tell your software not to call the licensing API when it detects a local or staging hostname.

Last seen#

Every activation records when it was last seen. It is a good signal in support: a domain that has not checked in for months usually means the customer moved on and the slot can be freed.