List purchases
Returns a list of purchases (offer purchases) which the current user may access
Pagination
Use page[number] and page[size] parameters to paginate results:
Get first page of 10 items
GET /v1/purchases?page[number]=1&page[size]=10
Get second page of 25 items
GET /v1/purchases?page[number]=2&page[size]=25
The response includes pagination links and meta data:
{
"links": {
"self": "https://api.kajabi.com/v1/purchases?page[number]=2&page[size]=10",
"first": "https://api.kajabi.com/v1/purchases?page[number]=1&page[size]=10",
"prev": "https://api.kajabi.com/v1/purchases?page[number]=1&page[size]=10",
"next": "https://api.kajabi.com/v1/purchases?page[number]=3&page[size]=10",
"last": "https://api.kajabi.com/v1/purchases?page[number]=5&page[size]=10"
},
"meta": {
"count": 10,
"total_count": 50,
"total_pages": 5
}
}
Sparse Fields
Use the fields[purchases] parameter to request only specific attributes:
Only return amount_in_cents attributes
GET /v1/purchases?fields[purchases]=amount_in_cents
Response will only include requested fields
{
"data": [
{
"id": "123",
"type": "purchases",
"attributes": {
"amount_in_cents": 19900
}
},
{
"id": "456",
"type": "purchases",
"attributes": {
"amount_in_cents": 9900
}
}
]
}
Sorting
Use the sort parameter to sort the results:
Sort by effective_start_at in descending order
GET /v1/purchases?sort=-effective_start_at&fields[purchases]=effective_start_at
Response will include purchases sorted by the specified field
{
"data": [
{
"id": "123",
"type": "purchases",
"attributes": {
"effective_start_at": "2025-01-02T00:00:00.000Z"
}
},
{
"id": "456",
"type": "purchases",
"attributes": {
"effective_start_at": "2025-01-01T00:00:00.000Z"
}
}
]
}
List of attributes that may be used to sort: multipay_payments_made, opt_in, currency, effective_start_at, cardholder_name, billing_address_zip, deactivated_at, deactivation_reason, coupon_code, source, referrer, quantity, created_at, updated_at
Filters
Use the filter[site_id] parameter to get purchases for a specific site:
Get purchases for site with ID 123
GET /v1/purchases?filter[site_id]=123
Filter by customer
Use the filter[customer_id] parameter to get purchases for a specific customer:
GET /v1/purchases?filter[customer_id]=456789
List of attributes that may be used to filter: multipay_payments_made, opt_in, currency, effective_start_at, cardholder_name, billing_address_zip, deactivated_at, deactivation_reason, coupon_code, source, referrer, quantity, created_at, updated_at
The filter param uses the following syntax: filter[attribute_name_suffix] with suffix for comparison:
eqfor equalscontfor containsnot_eqfor not equalsnot_contfor not containsgtfor greater thangtefor greater than or equalltfor less thanltefor less than or equalstartfor starts withendfor ends with
For example:
GET /v1/purchases?filter[amount_in_cents_eq]=19900GET /v1/purchases?filter[amount_in_cents_gt]=19900
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Sort order, use: created_at for descending order use '-' e.g. &sort=-created_at
Number of documents
Partial attributes as specified, e.g. fields[purchases]=amount_in_cents
Filter by active purchases (not deactivated), for example ?filter[active]=true
Filter by deactivated purchases, for example ?filter[deactivated]=true
Filter by referrer, for example ?filter[referrer_cont]=•••••
Filter by coupon code, for example ?filter[coupon_code_eq]=•••••
Filter by site_id, for example ?filter[site_id]=111
Filter by customer_id, for example ?filter[customer_id]=456789