ZeroSettle User Offer API declares
1 security scheme
for authenticating requests.
An API key is passed in the header as X-ZeroSettle-Key (ApiKeyAuth).
By default, every request must be authenticated.
ApiKeyAuth — Your publishable API key. Use zspktest for sandbox or zspklive for production.
Paths & Operations 1
Across 1 path, the API surfaces 1 operation — 1 GET. Each is listed below with its method, path, parameters, and response codes.
The contract defines 12 schemas that model the data the API accepts and returns. The most detailed are OfferEligibility (13 properties), SubscriptionStateActiveWeb (10 properties), SubscriptionStateActiveStorekit (10 properties), SubscriptionStateMigrationTrial (9 properties). Each schema is shown below with its type and property counts.
SubscriptionStateActiveWeb
object
User has an active web-sourced subscription (may be in grace period, past due, or paused).
10 properties7 required
SubscriptionStateCancelledActive
object
Subscription is cancelled but access remains until expiresat.
8 properties5 required
SubscriptionStateMigrationTrial
object
Dual-active migration trial window: the user has a web subscription inside its free trial plus an overlapping StoreKit entitlement that has not yet expired.
9 properties8 required
SubscriptionStateActiveStorekit
object
User has an active StoreKit-sourced subscription.
10 properties8 required
UserOfferResponse
object
Canonical response from GET /iap/user-offer/. Wraps the user's current subscription state (as a tagged union keyed by subscription.type) together with exactly…
6 properties6 required
UserOfferSubscription
Tagged-union describing the user's current subscription state. Discriminated by the type field. Exactly one variant is returned per request.
AppleSubscriptionSummary
object
Normalized view of the user's Apple (StoreKit) subscription. Present only when the user currently has — or recently had — a StoreKit entitlement. Clients shoul…
4 properties3 required
SubscriptionStateNone
object
User has no active subscription entitlement from any source.
1 property1 required
OfferProration
object
Stripe proration preview for web-to-web upgrades. Present only when actiontype is upgradewebtoweb.
3 properties2 required
OfferEligibility
object
The offer decision. Exactly one actiontype is returned per user per request. iseligible is false iff actiontype is noaction.
13 properties7 required
Error
object
Error response.
2 properties1 required
OfferDisplayV2
object
Presentation copy for the user-offer card. Distinct from the legacy OfferDisplay schema used by /iap/products/ offer config — field names are simplified and th…
9 properties8 required
Specification
The full machine-readable OpenAPI contract behind this narrative.