Skip to content

6.2.2.11 Entitlement

6.2.2.11.1 Purpose

What an Organization has bought or been granted: a model, a product feature, a plan. Roles say what a user may do; entitlements say what their Organization has, so a product checks both before it serves a model or a feature. Entitlements belong to the Entitlements domain of the farm system (decided 2026-10-30) and are the same for every Moonitoring product.

6.2.2.11.2 Questions it answers

  • Which models and features can this Organization use today?
  • Since when, and until when?
  • Who granted it, and what did the Organization have at a past write number?

6.2.2.11.3 Fields

Field Type Cardinality Description
id string (uuid) 1..1 Key.
organization Organization 1..1
feature string 1..1 Named like a capability, <system>.<feature>, prefixed by the system that checks the feature: e.g. moochat.chat, farm.models.mastitis, grant.checks. Capabilities and features follow one rule and come from the same catalog each system publishes.
Each project publishes the features it offers, with its capability catalog.
validity Period 1..1 valid_until = open: it does not expire. Billing and contracts decide the dates; they are not modelled here.
granted_by MoonitoringUser 1..1
system_version SystemVersion 1..1
limits string (JSON) 0..1 How much of the feature the Organization may use, e.g. for moochat.chat: tokens per month, requests per minute, concurrent streams, model tier, what happens at 100% (block, degrade, bill). Empty: no limit. A plan is a set of entitlements with limits; changing a plan changes rows, not code.
created_at datetime 1..1
updated_at datetime 1..1

6.2.2.11.4 Relationships

References

Uses types

Period, SystemVersion

6.2.2.11.5 Rules & constraints

  • What an Organization has: a model, a product feature, a plan.
  • Roles say what a user may do (OrganizationRoleAccessControl); entitlements say what their Organization has. A product checks both: e.g. the model APIs need capability farm.models.use in the user's role and an active entitlement for that model.
  • (organization, feature) is unique among active entitlements. Channel access for installed clients stays in ReleaseChannelAccess.