List transactions
List of payment transactions related to completed financial activity (successful charges, refunds, and disputes) that are associated with actual purchases, excluding test transactions, free purchases, failed attempts, and pending transactions.
Pagination
Use page[number] and page[size] parameters to paginate results:
Get first page of 10 items
GET /v1/transactions?page[number]=1&page[size]=10
Get second page of 25 items
GET /v1/transactions?page[number]=2&page[size]=25
The response includes pagination links and meta data:
{
"links": {
"self": "https://api.kajabi.com/v1/transactions?page[number]=2&page[size]=10",
"first": "https://api.kajabi.com/v1/transactions?page[number]=1&page[size]=10",
"prev": "https://api.kajabi.com/v1/transactions?page[number]=1&page[size]=10",
"next": "https://api.kajabi.com/v1/transactions?page[number]=3&page[size]=10",
"last": "https://api.kajabi.com/v1/transactions?page[number]=5&page[size]=10"
},
"meta": {
"total_pages": 5,
"total_count": 50,
"current_page": 2
}
}
Sparse Fields
Use the fields[transactions] parameter to request only specific attributes:
Only return amount_in_cents and sales_tax_in_cents attributes
GET /v1/transactions?fields[transactions]=amount_in_cents,sales_tax_in_cents
Response will only include requested fields
{
"data": [{
"id": "123",
"type": "transactions",
"attributes": {
"amount_in_cents": 9900,
"sales_tax_in_cents": 990
}
}]
}
Filtering
Use the filter[site_id] parameter to filter transactions by site:
Get transactions for site with ID 123
GET /v1/transactions?filter[site_id]=123
Response will include only transactions for the specified site
{
"data": [{
"id": "456",
"type": "transactions",
"attributes": {
"amount_in_cents": 9900,
"sales_tax_in_cents": 990,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
},
"relationships": {
"site": {
"data": {
"id": "123",
"type": "sites"
}
}
}
}]
}
Date Range Filtering
Use the filter[start_date] and filter[end_date] parameters to filter transactions by date range:
Get transactions between January 1st and January 31st, 2024
GET /v1/transactions?filter[start_date]=2024-01-01&filter[end_date]=2024-01-31
Response will include only transactions within the specified date range
{
"data": [{
"id": "456",
"type": "transactions",
"attributes": {
"amount_in_cents": 9900,
"sales_tax_in_cents": 990,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
},
"relationships": {
"site": {
"data": {
"id": "123",
"type": "sites"
}
}
}
}]
}
Filtering by Name or Email
Use the filter[name_or_email] parameter to filter transactions by name or email:
Get transactions for customer with name or email “John”
GET /v1/transactions?filter[name_or_email]=John
Filtering by Customer
Use the filter[customer_id] parameter to filter transactions by customer:
Get transactions for customer with ID 456789
GET /v1/transactions?filter[customer_id]=456789
Using Multiple Parameters Together
You can combine multiple parameters to filter and format the response:
Get paginated, filtered transactions with specific fields
GET /v1/transactions?page[number]=1&page[size]=10&fields[transactions]=amount_in_cents,sales_tax_in_cents&filter[site_id]=123&filter[start_date]=2024-01-01&filter[end_date]=2024-01-31
Response will include paginated transactions matching all filters, with only requested fields:
{
"data": [{
"id": "456",
"type": "transactions",
"attributes": {
"amount_in_cents": 9900,
"sales_tax_in_cents": 990
},
"relationships": {
"site": {
"data": {
"id": "123",
"type": "sites"
}
}
}
}],
"meta": {
"total_pages": 1,
"current_page": 1
}
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Number of documents
Partial attributes as specified, e.g. fields[transactions]=amount_in_cents,sales_tax_in_cents
Filter by site_id, for example ?filter[site_id]=111
Filter by customer_id, for example ?filter[customer_id]=456789
Filter by name or email, for example ?filter[name_or_email]=John
Filter by start_date, for example ?filter[start_date]=2024-12-01
Filter by end_date, for example ?filter[end_date]=2024-12-31