API ReferenceOrder line items

Retrieve an order line item

Retrieve one product-level sale record for the authenticated store.

The response uses the product and variant titles captured at checkout, so later catalog edits do not rewrite historical reporting. A line item whose store does not match its linked order is treated as inaccessible and returns 404.

GET
/v2/line-items/{lineItem}

Authorization

AuthorizationBearer <token>

Provide your SellApp API key as a bearer token.

In: header

Path Parameters

lineItem*integer

The purchase line-item ID.

Header Parameters

X-STORE?string

Store slug. Required for OAuth access tokens. API keys may omit it to use their current store, or the first accessible store when no current store is selected.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://sell.app/api/v2/line-items/9001" \  -H "X-STORE: launch-lab"
{
  "data": {
    "id": 9001,
    "order": {
      "id": 4001,
      "status": "COMPLETED",
      "payment_method": "STRIPE",
      "customer_id": 501,
      "created_at": "2026-07-10T14:00:00.000000Z",
      "updated_at": "2026-07-10T14:01:00.000000Z"
    },
    "status": "COMPLETED",
    "product": {
      "id": 101,
      "title": "The Project Planning Guide"
    },
    "variant": {
      "id": 201,
      "title": "Monthly"
    },
    "customer_id": 501,
    "quantity": 1,
    "currency": "USD",
    "currency_rate": "1",
    "payment_method": "STRIPE",
    "amounts": {
      "unit_price": "10.0000",
      "subtotal_cents": 1000,
      "credit_cents": null,
      "total_exclusive_cents": 1000,
      "total_exclusive_usd_cents": 1000,
      "total_cents": 1000,
      "total_usd_cents": 1000,
      "revenue_cents": 950,
      "revenue_usd_cents": 950,
      "fee_cents": 50,
      "fee_rate": 5
    },
    "discounts": {
      "coupon": null,
      "modifiers": []
    },
    "tax": {},
    "promotion": null,
    "referral": null,
    "subscription": {
      "id": 7001,
      "provider": "stripe",
      "status": "ACTIVE",
      "current_period_start": "2026-07-10T14:00:00.000000Z",
      "current_period_end": "2026-08-10T14:00:00.000000Z",
      "cancel_at_period_end": false
    },
    "fulfillment": {
      "deliveries_count": 1,
      "delivered_quantity": 1,
      "types": [
        "DYNAMIC"
      ],
      "first_delivered_at": "2026-07-10T14:01:00.000000Z",
      "last_delivered_at": "2026-07-10T14:01:00.000000Z"
    },
    "created_at": "2026-07-10T14:00:00.000000Z",
    "updated_at": "2026-07-10T14:01:00.000000Z"
  }
}
{
  "type": "invalid_request_error",
  "code": "bad_request",
  "message": "The request could not be understood.",
  "status": 400,
  "param": null,
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#bad-request"
}
{
  "type": "authentication_error",
  "code": "unauthenticated",
  "message": "Unauthenticated.",
  "status": 401,
  "param": null,
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#unauthenticated"
}
{
  "type": "authorization_error",
  "code": "forbidden",
  "message": "This action is unauthorized.",
  "status": 403,
  "param": null,
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#forbidden"
}
{
  "type": "not_found_error",
  "code": "resource_not_found",
  "message": "Not Found.",
  "status": 404,
  "param": null,
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#resource-not-found"
}
{
  "type": "validation_error",
  "code": "validation_failed",
  "message": "The selected product variant id is invalid.",
  "status": 422,
  "param": "product_variant_id",
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#validation-failed",
  "errors": {
    "product_variant_id": [
      "The selected product variant id is invalid."
    ]
  }
}
{
  "type": "rate_limit_error",
  "code": "rate_limit_exceeded",
  "message": "Too Many Attempts.",
  "status": 429,
  "param": null,
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#rate-limit-exceeded"
}
{
  "type": "api_error",
  "code": "api_error",
  "message": "Server Error",
  "status": 500,
  "param": null,
  "request_id": "01992a65-e064-71ba-b38f-902b7966a6be",
  "docs_url": "https://sell.app/docs/api/errors#api-error"
}