<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "AppStoreServerAPI",
  "identifier" : "/documentation/AppStoreServerAPI/HistoryResponse",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "App Store Server API"
    ],
    "preciseIdentifier" : "data:app_store_server_api:HistoryResponse"
  },
  "title" : "HistoryResponse"
}
-->

# HistoryResponse

A response that contains the customer’s transaction history for an app.

```
object HistoryResponse
```

## Discussion

The [`Get Transaction History`](/documentation/AppStoreServerAPI/Get-Transaction-History) endpoint returns the [`HistoryResponse`](/documentation/AppStoreServerAPI/HistoryResponse). This response contains results for all in-app purchase product types: auto-renewable subscriptions, non-renewing subscriptions, non-consumables, and consumables. The result includes transactions in any state, including transactions that are refunded or revoked, and transactions that the app has or hasn’t marked as finished.

The history response returns a maximum of 20 transactions per response. If your customer has more than 20 in-app transactions, the [`hasMore`](/documentation/AppStoreServerAPI/HistoryResponse/hasMore) value is `true`. Each response includes a [`revision`](/documentation/AppStoreServerAPI/HistoryResponse/revision) value. Call [`Get Transaction History`](/documentation/AppStoreServerAPI/Get-Transaction-History) again with the `revision` token in the query to receive the next set of transactions; use the same query parameters for each subsequent call that includes `revision`. When the App Store has no more transactions to send, the `hasMore` value is `false`.

If a customer upgrades a subscription or the App Store revokes an in-app purchase while you’re receiving transaction history, the App Store updates the relevant transaction. If the response is sorted in `ASCENDING` order, you receive the transaction again, with updated data.

> Note:
> The ``doc://com.apple.appstoreserverapi/documentation/AppStoreServerAPI/Get-Transaction-History-V1`` endpoint also returns the ``doc://com.apple.appstoreserverapi/documentation/AppStoreServerAPI/HistoryResponse``, however, it doesn’t include consumable in-app purchases that the app has marked as finished. Use ``doc://com.apple.appstoreserverapi/documentation/AppStoreServerAPI/Get-Transaction-History`` instead.

## Topics

### Response data types

[`appAppleId`](/documentation/AppStoreServerAPI/appAppleId)

The unique identifier of an app in the App Store.

[`bundleId`](/documentation/AppStoreServerAPI/bundleId)

The bundle identifier of an app.

[`environment`](/documentation/AppStoreServerAPI/environment)

The server environment, either sandbox or production.

[`hasMore`](/documentation/AppStoreServerAPI/hasMore)

A Boolean value indicating whether the App Store has more transaction data.

[`revision`](/documentation/AppStoreServerAPI/revision)

A token you use in a query to request the next set of transactions for the customer.

[`JWSTransaction`](/documentation/AppStoreServerAPI/JWSTransaction)

Transaction information signed by the App Store, in JSON Web Signature (JWS) Compact Serialization format.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)