Customers, subscriptions and seats
Who buys, what they hold, and who uses it.
Customers and tenants
A customer is an organisation that buys your products. It belongs to your workspace only; the same company buying from another partner is a different customer there. Your application identifies a customer by its Microsoft Entra tenant id, which is why the entitlement API is addressed by tenant (/api/v1/entitlements/{tenantId}). Customer members sign in to your Customer Portal with their Microsoft work accounts and have one of four roles: Owner, Technical admin, Billing manager or Viewer.
Subscriptions
A subscription is one plan held by one customer through one channel.
| Status | Meaning |
|---|---|
PendingActivation | Bought, not yet activated (for example a Marketplace purchase before the customer completes activation). |
Active | In use. |
Suspended | Paused, for example after a failed payment or a suspension by Microsoft. Access is ReadOnly by default (per product). |
Cancelled | Ended by cancellation, by not renewing, or for non-payment. |
Expired | A non-Marketplace subscription passed its end date. |
Every committed change increases the subscription's version. Webhook events and entitlement answers carry it, so your application can ignore stale information.
Seats
On a per-user plan the subscription has a quantity (the number of licences bought), and the customer's Owners and Technical admins give seats to people in the Customer Portal, by email or Entra object id. A seat can only be given while the tenant has an active entitlement and a free licence. Your application asks the eligibility endpoint whether a user holds one; seat.assigned and seat.revoked events tell you when that changes.
For Marketplace plans with licences managed by Microsoft there are no seats in Transakt: Microsoft is asked, through the same eligibility endpoint.