---
title: "Get customer entitlement value"
method: GET
path: "/api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value"
tags: ["Entitlements", "Customers"]
---

# Get customer entitlement value

`GET /api/v1/customers/{customerIdOrKey}/entitlements/{featureKey}/value`

Checks customer access to a given feature (by key). All entitlement types share the hasAccess property in their value response, but multiple other properties are returned based on the entitlement type.

## Path parameters

- `customerIdOrKey` union, required — ULID (Universally Unique Lexicographically Sortable Identifier) or external unique key.
  - string — ULID (Universally Unique Lexicographically Sortable Identifier).
  - string — ExternalKey is a looser version of key.
- `featureKey` string, required

## Query parameters

- `time` string, date-time

## Response `200`

The request has succeeded.

- EntitlementValue — Entitlements are the core of OpenMeter access management. They define access to features for subjects. Entitlements can be metered, boolean, or static.
  - `hasAccess` boolean, required — Whether the subject has access to the feature. Shared accross all entitlement types.
  - `balance` number, double — Only available for metered entitlements. Metered entitlements are built around a balance calculation where feature usage is deducted from the issued grants. Balance represents the remaining balance of the entitlement, it's value never turns negative.
  - `usage` number, double — Only available for metered entitlements. Returns the total feature usage in the current period.
  - `overage` number, double — Only available for metered entitlements. Overage represents the usage that wasn't covered by grants, e.g. if the subject had a total feature usage of 100 in the period but they were only granted 80, there would be 20 overage.
  - `totalAvailableGrantAmount` number, double — Only available for metered entitlements. The summed amount of all grant active at query time PLUS the used amount of since inactive grants.
  - `config` string — Only available for static entitlements. The JSON parsable config of the entitlement.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The request has not been applied because it lacks valid authentication credentials for the target resource.
- `403` — The server understood the request but refuses to authorize it.
- `404` — The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `412` — One or more conditions given in the request header fields evaluated to false when tested on the server.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.
- `503` — The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
- `default` — An unexpected error response.

---

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