---
title: "Get Entitlements"
method: GET
path: "/iap/entitlements"
tags: ["Entitlements"]
---

# Get Entitlements

`GET /iap/entitlements`

Returns all entitlements for a user, including active subscriptions, one-time purchases, and expired items. Use this to determine what the user has access to.

## Query parameters

- `user_id` string
- `email` string

## Response `200`

User entitlements

- object
  - `entitlements` Entitlement[], required
    - `id` string — Stable transaction-derived identifier in the form `txn_<uuid>`. Older entitlements may still return the legacy `txn_<db_pk>` format.
    - `product_id` string — The product's reference ID.
    - `product_type` 'consumable' | 'non_consumable' | 'non_renewing_subscription' | 'auto_renewable_subscription' — The type of product.
    - `source` 'web_checkout' | 'store_kit' | 'play_store' — Where the entitlement originated.
    - `status` 'active' | 'expired' | 'cancelled' | 'paused' | 'revoked' | 'billing_retry' | 'billing_grace_period' — Current entitlement status.
    - `is_active` boolean — Whether the user currently has access to this product.
    - `expires_at` string, date-time, nullable — When the entitlement expires, or null for lifetime purchases.
    - `purchased_at` string, date-time — When the entitlement was originally purchased.
    - `will_renew` boolean — Whether the subscription will auto-renew at the end of the current period.
    - `is_trial` boolean — Whether the entitlement is currently in a free trial period.
    - `trial_ends_at` string, date-time, nullable — When the trial period ends, or null if not on trial.
    - `cancelled_at` string, date-time, nullable — When the subscription was cancelled, or null if not cancelled.

## Other responses

- `400` — Invalid request -- missing or malformed parameters.
- `401` — Invalid or missing API key.

## Changes

- **2026-04-17** `185f44b9c367` — 1 breaking
  - the `entitlements/items/id` response's property type/format changed from `integer`/`` to `string`/`` for status `200`
- **2026-03-22** `8c7fa6fb5be3` — 1 info
  - endpoint added
- **2025-12-11** `919eb7a392aa` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/zerosettle/apis/zerosettle-iap-api/changes/iap/entitlements/get.md)

---

[API](https://skmtc.dev/zerosettle/apis/zerosettle-iap-api.md) · [All operations](https://skmtc.dev/zerosettle/apis/zerosettle-iap-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zerosettle/zerosettle-iap-api/revisions/1a7aa12f3d5e/schema)
