Skip to content
Select themeSelect language

`GET /api/marketplace/seller/purchases` — list purchases where the authenticated user is the seller (sales received).

GET
/api/marketplace/seller/purchases
curl --request GET \
--url https://example.com/api/marketplace/seller/purchases
status
string
limit
integer format: int64
offset
integer format: int64
Media typeapplication/json
Array<object>

A purchase record tying a buyer (user + workspace) to a specific item version via a price row. All monetary amounts are in minor units (cents). fee_policy_snapshot captures the fee settings at purchase time for audit.

object
amount_minor
required
integer format: int32
buyer_user_id
required
string format: uuid
buyer_workspace_id
required
string format: uuid
cancel_at_period_end
required
boolean
canceled_at
string | null format: date-time
created_at
required
string format: date-time
currency
required
string
current_period_end

Stripe’s truth: the end of the period that is currently paid for.

string | null format: date-time
disputed_at
string | null format: date-time
fee_policy_snapshot
required
id
required
string format: uuid
item_version_id
required
string format: uuid
license_expires_at

The single enforcement instant the license gate reads. None = perpetual (a one-time purchase). See migration 350 for why it is derived from current_period_end plus the grace window rather than equal to it.

string | null format: date-time
platform_fee_minor
required
integer format: int32
price_id
required
string format: uuid
provider_checkout_id
string | null
provider_fee_minor
required
integer format: int32
provider_payment_id
string | null
provider_subscription_id

The Stripe subscription (sub_...) this license is driven by. Also the routing key that CLAIMS an invoice.* / customer.subscription.* event for the marketplace instead of org billing.

string | null
purchased_at
string | null format: date-time
refunded_at
string | null format: date-time
seller_profile_id
required
string format: uuid
status
required

Purchase lifecycle status (marketplace_purchases.status CHECK). Runtime stays String; the spec narrows it to the closed [PurchaseStatusSpec].

string
Allowed values: pending active refunded partially_refunded disputed revoked past_due suspended canceled
updated_at
required
string format: date-time
Example
[
{
"status": "pending"
}
]