Kajabi · Example Payload

Kajabi Transactions List Example

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: ```json { "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 ```json { "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 ```json { "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 ```json { "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: ```json { "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 } } ```

Transactions

Kajabi Transactions List Example is an example object payload from Kajabi, with 8 top-level fields. It illustrates the shape of data this provider's APIs accept or return.

Top-level fields

summarydescriptionmethodpathtagsparametersrequestBodyresponses

Example Payload

Raw ↑
{
  "summary": "List transactions",
  "description": "  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.\n\n  ## Pagination\n  Use `page[number]` and `page[size]` parameters to paginate results:\n  ### Get first page of 10 items\n  * `GET /v1/transactions?page[number]=1&page[size]=10`\n  ### Get second page of 25 items\n  * `GET /v1/transactions?page[number]=2&page[size]=25`\n\n  The response includes pagination links and meta data:\n  ```json\n  {\n    \"links\": {\n      \"self\": \"https://api.kajabi.com/v1/transactions?page[number]=2&page[size]=10\",\n      \"first\": \"https://api.kajabi.com/v1/transactions?page[number]=1&page[size]=10\",\n      \"prev\": \"https://api.kajabi.com/v1/transactions?page[number]=1&page[size]=10\",\n      \"next\": \"https://api.kajabi.com/v1/transactions?page[number]=3&page[size]=10\",\n      \"last\": \"https://api.kajabi.com/v1/transactions?page[number]=5&page[size]=10\"\n    },\n    \"meta\": {\n      \"total_pages\": 5,\n      \"total_count\": 50,\n      \"current_page\": 2\n    }\n  }\n  ```\n  ## Sparse Fields\n  Use the `fields[transactions]` parameter to request only specific attributes:\n  ### Only return amount_in_cents and sales_tax_in_cents attributes\n  * `GET /v1/transactions?fields[transactions]=amount_in_cents,sales_tax_in_cents`\n\n  Response will only include requested fields\n  ```json\n  {\n    \"data\": [{\n      \"id\": \"123\",\n      \"type\": \"transactions\",\n      \"attributes\": {\n        \"amount_in_cents\": 9900,\n        \"sales_tax_in_cents\": 990\n      }\n    }]\n  }\n  ```\n  ## Filtering\n  Use the `filter[site_id]` parameter to filter transactions by site:\n  ### Get transactions for site with ID 123\n  * `GET /v1/transactions?filter[site_id]=123`\n\n  Response will include only transactions for the specified site\n  ```json\n  {\n    \"data\": [{\n      \"id\": \"456\",\n      \"type\": \"transactions\",\n      \"attributes\": {\n        \"amount_in_cents\": 9900,\n        \"sales_tax_in_cents\": 990,\n        \"created_at\": \"2024-01-15T10:30:00Z\",\n        \"updated_at\": \"2024-01-15T10:30:00Z\"\n      },\n      \"relationships\": {\n        \"site\": {\n          \"data\": {\n            \"id\": \"123\",\n            \"type\": \"sites\"\n          }\n        }\n      }\n    }]\n  }\n  ```\n  ## Date Range Filtering\n  Use the `filter[start_date]` and `filter[end_date]` parameters to filter transactions by date range:\n  ### Get transactions between January 1st and January 31st, 2024\n  * `GET /v1/transactions?filter[start_date]=2024-01-01&filter[end_date]=2024-01-31`\n\n  Response will include only transactions within the specified date range\n  ```json\n  {\n    \"data\": [{\n      \"id\": \"456\",\n      \"type\": \"transactions\",\n      \"attributes\": {\n        \"amount_in_cents\": 9900,\n        \"sales_tax_in_cents\": 990,\n        \"created_at\": \"2024-01-15T10:30:00Z\",\n        \"updated_at\": \"2024-01-15T10:30:00Z\"\n      },\n      \"relationships\": {\n        \"site\": {\n          \"data\": {\n            \"id\": \"123\",\n            \"type\": \"sites\"\n          }\n        }\n      }\n    }]\n  }\n  ```\n## Filtering by Name or Email\nUse the `filter[name_or_email]` parameter to filter transactions by name or email:\n### Get transactions for customer with name or email \"John\"\n* `GET /v1/transactions?filter[name_or_email]=John`\n## Filtering by Customer\nUse the `filter[customer_id]` parameter to filter transactions by customer:\n### Get transactions for customer with ID 456789\n* `GET /v1/transactions?filter[customer_id]=456789`\n## Using Multiple Parameters Together\nYou can combine multiple parameters to filter and format the response:\n### Get paginated, filtered transactions with specific fields\n* `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`\n\nResponse will include paginated transactions matching all filters, with only requested fields:\n```json\n{\n  \"data\": [{\n    \"id\": \"456\",\n    \"type\": \"transactions\",\n    \"attributes\": {\n      \"amount_in_cents\": 9900,\n      \"sales_tax_in_cents\": 990\n    },\n    \"relationships\": {\n      \"site\": {\n        \"data\": {\n          \"id\": \"123\",\n          \"type\": \"sites\"\n        }\n      }\n    }\n  }],\n  \"meta\": {\n    \"total_pages\": 1,\n    \"current_page\": 1\n  }\n}\n```\n",
  "method": "GET",
  "path": "/v1/transactions",
  "tags": [
    "Transactions"
  ],
  "parameters": [
    {
      "name": "page[number]",
      "in": "query",
      "required": false,
      "schema": {
        "type": "number"
      }
    },
    {
      "name": "page[size]",
      "in": "query",
      "required": false,
      "description": "Number of documents",
      "schema": {
        "type": "number"
      }
    },
    {
      "name": "fields[transactions]",
      "in": "query",
      "required": false,
      "description": "Partial attributes as specified, e.g. fields[transactions]=amount_in_cents,sales_tax_in_cents",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "filter[site_id]",
      "in": "query",
      "required": false,
      "description": "Filter by site_id, for example ?filter[site_id]=111",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "filter[customer_id]",
      "in": "query",
      "required": false,
      "description": "Filter by customer_id, for example ?filter[customer_id]=456789",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "filter[name_or_email]",
      "in": "query",
      "required": false,
      "description": "Filter by name or email, for example ?filter[name_or_email]=John",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "filter[start_date]",
      "in": "query",
      "required": false,
      "description": "Filter by start_date, for example ?filter[start_date]=2024-12-01",
      "schema": {
        "type": "string"
      }
    },
    {
      "name": "filter[end_date]",
      "in": "query",
      "required": false,
      "description": "Filter by end_date, for example ?filter[end_date]=2024-12-31",
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": null,
  "responses": {
    "200": {
      "description": "Success, lists transactions which the current user may access",
      "content_type": "application/json"
    }
  }
}