<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "ExternalPurchaseServerAPI",
  "identifier" : "/documentation/ExternalPurchaseServerAPI/SubscriptionBuyLineItem",
  "metadataVersion" : "0.1.0",
  "role" : "Object",
  "symbol" : {
    "kind" : "Object",
    "modules" : [
      "External Purchase Server API"
    ],
    "preciseIdentifier" : "data:external_purchase_server_api:SubscriptionBuyLineItem"
  },
  "title" : "SubscriptionBuyLineItem"
}
-->

# SubscriptionBuyLineItem

The line item that indicates a subscription-related event or transaction.

```
object SubscriptionBuyLineItem
```

## Discussion

Use a `SubscriptionBuyLineItem` to report a subscription-related transaction or event, or a correction to the same.

Each line-item object represents one transaction. Other types of line-item objects include:

- [`OneTimeBuyLineItem`](/documentation/ExternalPurchaseServerAPI/OneTimeBuyLineItem), for reporting a one-time charge
- [`RefundLineItem`](/documentation/ExternalPurchaseServerAPI/RefundLineItem), for reporting refunds

Include the line-item objects in the `lineItems` array of an [`ExternalPurchaseReport`](/documentation/ExternalPurchaseServerAPI/ExternalPurchaseReport) object. To send the report, include the [`ExternalPurchaseReport`](/documentation/ExternalPurchaseServerAPI/ExternalPurchaseReport) object in a request to the [`Send External Purchase Report`](/documentation/ExternalPurchaseServerAPI/Send-External-Purchase-Report) endpoint.

> Note: Identify a subscription using the ``doc://org.swift.docc.ExternalPurchaseServerAPI/documentation/ExternalPurchaseServerAPI/lineItemId`` of the original subscription-start transaction. A line item for a subscription start has an ``doc://org.swift.docc.ExternalPurchaseServerAPI/documentation/ExternalPurchaseServerAPI/eventType`` of `BUY` and a ``doc://org.swift.docc.ExternalPurchaseServerAPI/documentation/ExternalPurchaseServerAPI/subscriptionEvent`` of `SUBSCRIPTION_START`.

For example, to report a renewal for a subscription, set the renewal transaction’s [`referenceLineItemId`](/documentation/ExternalPurchaseServerAPI/referenceLineItemId) to the `lineItemId` of the subscription-start line item, and set the  `subscriptionEvent` to `RENEWAL`.

For more information, see [Reporting tokens with transactions](/documentation/ExternalPurchaseServerAPI/reportwithtransactions) and [Reporting corrections](/documentation/ExternalPurchaseServerAPI/reportcorrections).

---

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)