iOS · Schema
JWSTransactionDecodedPayload
Decoded JWSTransaction payload returned by the App Store Server API. Represents a single in-app purchase or subscription transaction.
iOSAppleMobileApp StorePush NotificationsIn-App PurchasesSubscriptionAuthenticationWalletsDeveloper Platform
Properties
| Name | Type | Description |
|---|---|---|
| transactionId | string | |
| originalTransactionId | string | |
| webOrderLineItemId | string | |
| bundleId | string | |
| productId | string | |
| subscriptionGroupIdentifier | string | |
| purchaseDate | integer | |
| originalPurchaseDate | integer | |
| expiresDate | integer | |
| quantity | integer | |
| type | string | |
| appAccountToken | string | |
| inAppOwnershipType | string | |
| signedDate | integer | |
| offerType | integer | |
| offerIdentifier | string | |
| environment | string | |
| storefront | string | Three-letter country code. |
| storefrontId | string | |
| transactionReason | string | |
| price | integer | Price in micro-units of the currency. |
| currency | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/ios/main/json-schema/app-store-server-transaction-schema.json",
"title": "JWSTransactionDecodedPayload",
"description": "Decoded JWSTransaction payload returned by the App Store Server API. Represents a single in-app purchase or subscription transaction.",
"type": "object",
"properties": {
"transactionId": { "type": "string" },
"originalTransactionId": { "type": "string" },
"webOrderLineItemId": { "type": "string" },
"bundleId": { "type": "string" },
"productId": { "type": "string" },
"subscriptionGroupIdentifier": { "type": "string" },
"purchaseDate": { "type": "integer", "format": "int64" },
"originalPurchaseDate": { "type": "integer", "format": "int64" },
"expiresDate": { "type": "integer", "format": "int64" },
"quantity": { "type": "integer" },
"type": {
"type": "string",
"enum": ["Auto-Renewable Subscription", "Non-Consumable", "Consumable", "Non-Renewing Subscription"]
},
"appAccountToken": { "type": "string", "format": "uuid" },
"inAppOwnershipType": {
"type": "string",
"enum": ["FAMILY_SHARED", "PURCHASED"]
},
"signedDate": { "type": "integer", "format": "int64" },
"offerType": { "type": "integer" },
"offerIdentifier": { "type": "string" },
"environment": {
"type": "string",
"enum": ["Sandbox", "Production"]
},
"storefront": { "type": "string", "description": "Three-letter country code." },
"storefrontId": { "type": "string" },
"transactionReason": {
"type": "string",
"enum": ["PURCHASE", "RENEWAL"]
},
"price": { "type": "integer", "description": "Price in micro-units of the currency." },
"currency": { "type": "string" }
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/app-store-server-transaction"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.