---
title: "Get StoreKit Subscription Status"
method: GET
path: "/iap/storekit-subscription-status"
tags: ["StoreKit"]
---

# Get StoreKit Subscription Status

`GET /iap/storekit-subscription-status`

Returns the current status of a StoreKit subscription by its original transaction ID. Useful for checking renewal state and expiry. The response includes normalized `is_active` and `auto_renew_enabled` booleans (SDK 1.2+); prefer these over the raw `status`/`auto_renew_status` fields for canonical access decisions.

## Query parameters

- `original_transaction_id` string, required

## Response `200`

Subscription status

- StorekitSubscriptionStatus — Status of a StoreKit subscription. Prefer the normalized `is_active` and `auto_renew_enabled` booleans for canonical access decisions; `status` and `auto_renew_status` are diagnostic fields that mirror the raw Apple payload.
  - `status` integer — Diagnostic only — SDK-collapsed Apple status: 1 (active) or 2 (not active). Prefer `is_active` for access decisions.
  - `auto_renew_status` integer — Diagnostic only — raw Apple `autoRenewStatus` integer (0 = off, 1 = on). Prefer `auto_renew_enabled` for canonical use.
  - `expires_at` string, date-time, nullable — When the subscription expires or renews.
  - `is_active` boolean, required — Canonical active-entitlement flag. `true` when the Apple status code represents active access (active, grace period, or billing retry with access). Derived server-side from `apple_status` — use this instead of interpreting `status` yourself.
  - `auto_renew_enabled` boolean, required — Canonical auto-renew flag. Equivalent to `auto_renew_status == 1`, exposed as a boolean for consistency with the rest of the API.

## Other responses

- `401` — Invalid or missing API key.
- `404` — Resource not found.

## Changes

- **2026-04-21** `689588dd867f` — 3 breaking, 6 info
  - the response property `expires_at` became nullable for the status `200`
  - the `auto_renew_status` response's property type/format changed from `boolean`/`` to `integer`/`` for status `200`
  - the `status` response's property type/format changed from `string`/`` to `integer`/`` for status `200`
  - removed the `active` enum value from the `status` response property for the response status `200`
  - …5 more
- **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/storekit-subscription-status/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)
