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

# ConsumptionRequest

The request body that contains consumption information for an In-App Purchase.

```
object ConsumptionRequest
```

## Discussion

Use `ConsumptionRequest` to provide information about the customer’s In-App Purchase when you call the [`Send Consumption Information`](/documentation/AppStoreServerAPI/Send-Consumption-Information) endpoint.

> Note: The App Store server rejects requests that have a ``doc://com.apple.appstoreserverapi/documentation/AppStoreServerAPI/customerConsented`` value other than `true` by returning an `HTTP 400` error with an ``doc://com.apple.appstoreserverapi/documentation/AppStoreServerAPI/InvalidCustomerConsentedError``.

You can provide consumption information for any type of product: consumable, non-consumable, non-renewing subscription, and auto-renewable subscription.

Consider the following constraints when providing an optional [`refundPreference`](/documentation/AppStoreServerAPI/ConsumptionRequest/refundPreference):

- The system supports the `GRANT_FULL` and `DECLINE` values for all product types.
- If you choose `GRANT_PRORATED` for an auto-renewable subscription, don’t include a [`consumptionPercentage`](/documentation/AppStoreServerAPI/ConsumptionRequest/consumptionPercentage). The system automatically calculates the percentage.

If the [`deliveryStatus`](/documentation/AppStoreServerAPI/ConsumptionRequest/deliveryStatus) isn’t `DELIVERED`, set the `consumptionPercentage` to `0`; otherwise the request fails with an error.

## Topics

### Consumption data types

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

A Boolean value that indicates whether the customer consented to provide consumption data to the App Store.

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

An integer that indicates the percentage, in milliunits, of the In-App Purchase the customer consumed.

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

A value that indicates whether the app successfully delivered an In-App Purchase that works properly.

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

A value that indicates your preferred outcome for the refund request.

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

A Boolean value that indicates whether you provided, prior to its purchase, a free sample or trial of the content, or information about its functionality.



---

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)