{ "opencollection": "1.0.0", "info": { "name": "ZeroSettle IAP Cancel Flow StoreKit API", "version": "1.0.0" }, "request": { "auth": { "type": "apikey", "key": "X-ZeroSettle-Key", "value": "{{X-ZeroSettle-Key}}", "placement": "header" } }, "items": [ { "info": { "name": "StoreKit", "type": "folder" }, "items": [ { "info": { "name": "Sync StoreKit Transaction", "type": "http" }, "http": { "method": "POST", "url": "https://api.zerosettle.io/v1/iap/storekit-transactions", "body": { "type": "json", "data": "{}" } }, "docs": "Forwards a StoreKit 2 JWS (JSON Web Signature) transaction to ZeroSettle for verification and recording. The backend verifies the JWS against Apple's root certificate chain, creates a `Transaction` and `Entitlement`, and returns success. The SDK should call `transaction.finish()` only after receiving a success response.\n\nSDK 1.3+ additionally forwards `will_auto_renew` (pulled from `Product.SubscriptionInfo.RenewalInfo.willAutoRenew`) on every sync. The backend diffs this against the stored enti" }, { "info": { "name": "Get StoreKit Subscription Status", "type": "http" }, "http": { "method": "GET", "url": "https://api.zerosettle.io/v1/iap/storekit-subscription-status", "params": [ { "name": "original_transaction_id", "value": "", "type": "query", "description": "The StoreKit original transaction ID for the subscription." } ] }, "docs": "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." } ] } ], "bundled": true }