# EffectiveEntitlements

What a tenant is entitled to right now: its plan's terms, with any terms agreed for this tenant applied on top. Everything that limits or prices work reads this. Null on a limit means unlimited.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `tenantId` | `uuid` | The tenant these are for. |
| `tier` | [`SkuTier`](https://docs.maitento.com/reference/types/sku-tier.md) | The plan. |
| `cadence` | [`BillingCadence`](https://docs.maitento.com/reference/types/billing-cadence.md) | Whether the plan is paid monthly or annually. |
| `currency` | `string` | The currency the tenant is billed in. |
| `status` | [`ContractStatus`](https://docs.maitento.com/reference/types/contract-status.md) | `Frozen` after a failed renewal payment, until it's paid or the time to pay runs out. |
| `skuCatalogueVersion` | `integer` | The version of the plan definitions these terms come from. |
| `priceBookVersion` | `integer` | The version of the price list these prices come from. |
| `billingAnchorUtc` | `datetime` | The instant the tenant's billing months are counted from. |
| `allowances` | [`MeterAllowances`](https://docs.maitento.com/reference/types/meter-allowances.md) | What the plan includes each billing month, per meter. |
| `storageCapGb` | `number \| null` | How much the tenant may store at once, in GB. |
| `lanes` | [`EffectiveLane`](https://docs.maitento.com/reference/types/effective-lane.md)`[]` | How many runs of each kind may run at once. |
| `maxPartitions` | `integer \| null` | The most knowledge bases (temporary ones included) the tenant may hold. |
| `maxFileSystems` | `integer \| null` | The most file systems the tenant may hold. |
| `maxCredentials` | `integer \| null` | The most model credentials the tenant may hold. |
| `maxCredentialStacks` | `integer \| null` | The most credential stacks the tenant may hold. |
| `retentionDefaultHours` | `integer` | How long a finished run is kept, in hours, unless it's retained. Never more than `EffectiveEntitlements.RetentionMaxHours`. |
| `retentionMaxHours` | `integer \| null` | The longest a run can be kept, in hours. |
| `overageDiscountBasisPoints` | `integer` | The discount on work beyond the allowances, in hundredths of a percent (1500 is 15%). |
| `priority` | [`QueuePriorityClass`](https://docs.maitento.com/reference/types/queue-priority-class.md) | Where the tenant's work waits relative to others' when the platform is busy. |
| `premiumExecution` | `boolean` | The plan includes sandboxes (capsules) and code pipelines. |
| `canTopUp` | `boolean` | The plan can buy credit (top-ups and automatic top-ups). |
| `planPricePerMonth` | `number` | The subscription price per month on the contract's cadence. |
| `planPriceAnnualPerMonth` | `number` | The subscription price per month, billed annually. |
| `planPriceMonthly` | `number` | The subscription price per month, billed monthly. |
| `rates` | [`MeterRates`](https://docs.maitento.com/reference/types/meter-rates.md) | What work beyond the allowances costs, per meter. |
| `webFetchUnits` | [`WebFetchUnitTable`](https://docs.maitento.com/reference/types/web-fetch-unit-table.md) | How many fetch units a page costs, by how it's fetched. |
| `lanePrices` | [`LaneAddOnPrice`](https://docs.maitento.com/reference/types/lane-add-on-price.md)`[]` | The price of one more lane of each type the tenant can buy on its tier. |

## Example

```json
{
  "tenantId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "tier": "Free",
  "cadence": "Monthly",
  "currency": "...",
  "status": "Active",
  "skuCatalogueVersion": 0,
  "priceBookVersion": 0,
  "billingAnchorUtc": "2026-10-26T12:00:00.0000000Z",
  "allowances": {
    "standardSeconds": 0,
    "premiumGiBSeconds": 0,
    "webSearchPages": 0,
    "webFetchUnits": 0
  },
  "storageCapGb": 0,
  "lanes": [
    {
      "lane": "Standard",
      "included": 0,
      "purchased": 0,
      "max": 0,
      "limit": 0
    }
  ],
  "maxPartitions": 0,
  "maxFileSystems": 0,
  "maxCredentials": 0,
  "maxCredentialStacks": 0,
  "retentionDefaultHours": 0,
  "retentionMaxHours": 0,
  "overageDiscountBasisPoints": 0,
  "priority": "Spare",
  "premiumExecution": false,
  "canTopUp": false,
  "planPricePerMonth": 0,
  "planPriceAnnualPerMonth": 0,
  "planPriceMonthly": 0,
  "rates": {
    "standardPerHour": 0,
    "premiumPerGiBHour": 0,
    "storagePerGbMonth": 0,
    "webSearchPerPage": 0,
    "webFetchPerUnit": 0
  },
  "webFetchUnits": {
    "datacenterPage": 0,
    "residentialPage": 0,
    "stealthPage": 0,
    "directDownload": 0
  },
  "lanePrices": [
    {
      "tier": "Free",
      "lane": "Standard",
      "annualPerMonth": 0,
      "monthly": 0
    }
  ]
}
```

## Where it's used

- [`billing.plan`](https://docs.maitento.com/reference/api/billing.md) (`GET /billing/plan`)
