---
title: "Check entitlement (beta)"
method: GET
path: "/api/v1-beta/customers/{id}/entitlements/check"
tags: ["Governance Entitlements Check"]
---

# Check entitlement (beta)

`GET /api/v1-beta/customers/{id}/entitlements/check`

Experimental — request and response shapes may change without notice. Same semantics as `Check entitlement`, plus an optional `dimensions` query param that resolves to per-entity governance limits surfaced as `chains` on the response.

## Path parameters

- `id` string, required

## Query parameters

- `featureId` string
- `currencyId` string
- `resourceId` string
- `requestedUsage` integer
- `requestedValues` string[]
- `dimensions` object

## Headers

- `X-ACCOUNT-ID` string
- `X-ENVIRONMENT-ID` string

## Response `200`

The single entitlement with optional `chains` array carrying per-entity governance limits when `dimensions` was provided.

- CheckEntitlementResponseBetaDto — Response object
  - `data` union, required
    - object — Feature entitlement with optional governance chains attached.
      - `isGranted` boolean, required
      - `type` 'FEATURE', required
      - `accessDeniedReason` 'FeatureNotFound' | 'CustomerNotFound' | 'CustomerIsArchived' | 'CustomerResourceNotFound' | 'NoActiveSubscription' | 'NoFeatureEntitlementInSubscription' | 'RequestedUsageExceedingLimit' | 'RequestedValuesMismatch' | 'BudgetExceeded' | 'Unknown' | 'FeatureTypeMismatch' | 'Revoked' | 'InsufficientCredits' | 'EntitlementNotFound', nullable, required
      - `feature` object
        - `id` string, required — The unique reference ID of the entitlement.
        - `displayName` string, required — The human-readable name of the entitlement, shown in UI elements.
        - `featureType` 'BOOLEAN' | 'NUMBER' | 'ENUM', required — The type of feature associated with the entitlement.
        - `featureStatus` 'NEW' | 'SUSPENDED' | 'ACTIVE', required — The current status of the feature.
      - `usageLimit` number, nullable
      - `hasUnlimitedUsage` boolean
      - `resetPeriod` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR', nullable
      - `currentUsage` number
      - `usagePeriodAnchor` string, date-time — The anchor for calculating the usage period for metered entitlements with a reset period configured
      - `usagePeriodStart` string, date-time — The start date of the usage period for metered entitlements with a reset period configured
      - `usagePeriodEnd` string, date-time — The end date of the usage period for metered entitlements with a reset period configured
      - `entitlementUpdatedAt` string, date-time — Timestamp of the last update to the entitlement grant or configuration.
      - `validUntil` string, date-time — The next time the entitlement should be recalculated
      - `chains` array[] — Per-entity rollups, one chain per resolved dimension. Omitted when dimensions was not provided.
        - object[]
          - `entityId` string, required — External id of the entity within the customer.
          - `scopeEntityIds` string[], required — External ids of the entities this budget is scoped to. Empty (`[]`) is the node-wide budget; a non-empty set is the dimension-scoped budget that matched this request — use it to tell apart multiple budgets on the same entity.
          - `usageLimit` number, nullable, required — Hard usage limit for this node; null when no assignment is configured.
          - `currentUsage` number, required — Amount consumed by this entity in the current cadence period.
          - `isGranted` boolean, required — Whether this node alone permits the requested usage.
    - object — Credit entitlement with optional governance chains attached.
      - `isGranted` boolean, required
      - `type` 'CREDIT', required
      - `accessDeniedReason` 'FeatureNotFound' | 'CustomerNotFound' | 'CustomerIsArchived' | 'CustomerResourceNotFound' | 'NoActiveSubscription' | 'NoFeatureEntitlementInSubscription' | 'RequestedUsageExceedingLimit' | 'RequestedValuesMismatch' | 'BudgetExceeded' | 'Unknown' | 'FeatureTypeMismatch' | 'Revoked' | 'InsufficientCredits' | 'EntitlementNotFound', nullable, required
      - `usageLimit` number, required
      - `currentUsage` number, required
      - `usageUpdatedAt` string, date-time, required — Timestamp of the last update to the credit usage.
      - `currency` object, required — The currency associated with a credit entitlement.
        - `currencyId` string, required — The unique identifier of the custom currency.
        - `displayName` string, required — The display name of the currency.
        - `description` string, nullable — A description of the currency.
        - `unitSingular` string, nullable — The singular form of the currency unit.
        - `unitPlural` string, nullable — The plural form of the currency unit.
        - `metadata` object, nullable — Additional metadata associated with the currency.
      - `entitlementUpdatedAt` string, date-time — Timestamp of the last update to the entitlement grant or configuration.
      - `validUntil` string, date-time — The next time the entitlement should be recalculated
      - `usagePeriodEnd` string, date-time — The end date of the current billing period for recurring credit grants.
      - `chains` array[] — Per-entity rollups, one chain per resolved dimension. Omitted when dimensions was not provided.
        - object[]
          - `entityId` string, required — External id of the entity within the customer.
          - `scopeEntityIds` string[], required — External ids of the entities this budget is scoped to. Empty (`[]`) is the node-wide budget; a non-empty set is the dimension-scoped budget that matched this request — use it to tell apart multiple budgets on the same entity.
          - `usageLimit` number, nullable, required — Hard usage limit for this node; null when no assignment is configured.
          - `currentUsage` number, required — Amount consumed by this entity in the current cadence period.
          - `isGranted` boolean, required — Whether this node alone permits the requested usage.

## Other responses

- `400` — bad request.
- `401` — User is not authenticated.
- `403` — User is not allowed to access this resource.
- `404` — Entitlement not found.
- `429` — Too many requests.

---

[API](https://skmtc.net/stiggio/apis/stigg-api.md) · [All operations](https://skmtc.net/stiggio/apis/stigg-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stiggio/stigg-api/versions/ffc977f1c07e/schema)
