API reference / Finance API / Get Expenses

Get Expenses

Required headers: X-App-Key X-App-Secret X-Shop-Id

Returns the manually tracked expenses for the shop in the X-Shop-Id header — both general expenses and creator retainers. Each row includes the amount, date, and the details saved when the expense was added in Kixmon. startDate and endDate are required and filter by expense date.

For how the headers work, refer to Authentication.

GEThttps://api.kixmon.io/api/v1/expenses

Request

Properties Type Description
X-App-KeyRequired string App key created when REST APIs are enabled in Settings. Example: km_your_app_key.
X-App-SecretRequired string App secret created when REST APIs are enabled in Settings. Store it on your server only — never send it from a browser or mobile app.
X-Shop-IdRequired string The shop to query. Get this id from Get Shops.

Query

Properties Type Description
startDateRequired integer Earliest expense date, Unix seconds. Maximum range is 366 days. Example: 1756598400.
endDateRequired integer Latest expense date, Unix seconds. Maximum range is 366 days. Example: 1756684799.
sortOptional string ASC or DESC. Defaults to DESC when omitted. Sorted by date.
pageOptional integer Page number. Defaults to 1.
limitOptional integer Results per page. Defaults to 10, maximum 100.

Dates are Unix timestamps in seconds. The range between startDate and endDate can be at most 366 days.

Example

curl 'https://api.kixmon.io/api/v1/expenses?startDate=1756598400&endDate=1756684799&page=1&limit=10' \
  -H "X-App-Key: $KIXMON_APP_KEY" \
  -H "X-App-Secret: $KIXMON_APP_SECRET" \
  -H "X-Shop-Id: $KIXMON_SHOP_ID"
const res = await fetch("https://api.kixmon.io/api/v1/expenses?startDate=1756598400&endDate=1756684799&page=1&limit=10", {
  headers: {
    "X-App-Key": process.env.KIXMON_APP_KEY,
    "X-App-Secret": process.env.KIXMON_APP_SECRET,
    "X-Shop-Id": process.env.KIXMON_SHOP_ID,
  },
});
const data = await res.json();
import os, requests

resp = requests.get(
    "https://api.kixmon.io/api/v1/expenses",
    headers={
        "X-App-Key": os.environ["KIXMON_APP_KEY"],
        "X-App-Secret": os.environ["KIXMON_APP_SECRET"],
        "X-Shop-Id": os.environ["KIXMON_SHOP_ID"],
    },
    params={"startDate": 1756598400, "endDate": 1756684799, "page": 1, "limit": 10},
    timeout=30,
)
resp.raise_for_status()
data = resp.json()

Response

Parameters

Properties Type Description
success boolean true when the request succeeds
data object Response payload
items array Expenses on this page
id string Expense id
date integer Expense date, Unix seconds
amount number Expense amount
name string Expense name
type string Repeat type, for example One Time or Monthly
category string general_expense or creator_retainer
endDate integer End date, Unix seconds, or null
creators array Creators on a retainer expense. Empty for general expenses
pagination object Pagination details
page integer Current page number
limit integer Results per page
total integer Total matching results
totalPages integer Total number of pages

Example

{
  "success": true,
  "data": {
    "items": [
      {
        "id": "66f1aa...",
        "date": 1756598400,
        "amount": 50,
        "name": "Warehouse rent",
        "type": "Monthly",
        "category": "general_expense",
        "endDate": null,
        "creators": []
      }
    ],
    "pagination": { "page": 1, "limit": 10, "total": 1, "totalPages": 1 }
  }
}

Error Code

HTTP status Code Description
400 INVALID_REQUEST A header or query parameter is invalid.
401 MISSING_CREDENTIALS X-App-Key or X-App-Secret is missing.
401 INVALID_CREDENTIALS App key or app secret is wrong.
403 FEATURE_UNAVAILABLE REST APIs are not on the current plan.
404 SHOP_NOT_FOUND Shop not found or not available for this app key.
429 RATE_LIMITED More than 60 requests were sent in one minute for this app key, or the IP limit was reached. Wait, then retry.
500 INTERNAL_ERROR An unexpected error occurred. Retry later.



Tiktok Shop Partner

Kixmon makes it so easy to know your numbers. See all hidden costs, track every penny, and avoid profit headaches—it’s all at your fingertips.

Get in Touch

©Kixmon LLC. All Rights Reserved.
Certified TikTok Shop Partner