Skip to main content

API Reference

Types of Methods

API methods are categorized into one of four types:

  • get
  • create
  • update
  • delete

Objects may have fields specific for a type of method. For example, the payee field of a transaction is only available in a create method. This field doesn't exist in objects returned from a get method (payee_id is used instead).

Fields specific to a type of request are marked as such in the notes.

id is a special field. All objects have an id field. However, you don't need to specify an id in a create method; all create methods will return the created id back to you.

All update and delete methods take an id to specify the desired object. update takes the fields to update as a second argument — it does not take a full object. That means even if a field is required, you don't have to pass it to update. For example, a category requires the group_id field, however updateCategory(id, { name: "Food" }) is a valid call. Required means that an update can't set the field to null and a create must always contain the field.

Primitives

These are types.

NameTypeNotes
idstringUUID
monthstringYYYY-MM
datestringYYYY-MM-DD
amountintegerA currency amount is an integer representing the value without any decimal places. Usually it's value * 100, but it depends on your currency. For example, a USD amount of $120.30 would be 12030.

Budgets

getBudgetMonths

getBudgetMonths() Promise<month[]>

getBudgetMonth

getBudgetMonth(monthmonth) Promise<Budget>

setBudgetAmount

setBudgetAmount(monthmonth, idcategoryId, amountvalue) Promise<null>

setBudgetCarryover

setBudgetCarryover(monthmonth, idcategoryId, boolflag) Promise<null>

holdBudgetForNextMonth

holdBudgetForNextMonth(monthmonth, amountvalue) Promise<null>

resetBudgetHold

resetBudgetHold(monthmonth) Promise<null>

Transactions

Transaction

FieldTypeRequired?Notes
ididno
accountidyes
datedateyes
amountamountno
payeeidnoIn a