List Expense (find where)
Find a list of Expense records that match the specified criteria.
Tip: All query parameters accept multiple values for array filtering — e.g. ?id=1&id=2 or ?id[]=1&id[]=2. This also works within the where parameter: ?where={"id":[1,2,3]}.
Note: The per-attribute filter parameters and the where parameter are mutually exclusive. If where is supplied, the per-attribute filters are ignored — put all filter criteria inside where instead. limit, skip, sort, and populate are unaffected.
query Parameters
projectFilter by project ID
expenseCategoryID of the associated ExpenseCategory record
billedAtTimestamp when this expense was billed. Automatically set when an invoice is created or when locked. (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.sssZ). This is an exact match filter; for range queries (greater than, less than), use the where parameter instead
isBillableWhether this expense can be billed to the client.
inBudgetWhether this expense counts towards the project budget. When false, the external price of the expense virtually increases the budget.
invoiceID of the associated Invoice record. The invoice this expense was billed on, if any.
idFilter by record ID
createdAtFilter by creation date (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.sssZ). This is an exact match filter; for range queries (greater than, less than), use the where parameter instead
updatedAtFilter by last update date (YYYY-MM-DD or YYYY-MM-DDTHH:mm:ss.sssZ). This is an exact match filter; for range queries (greater than, less than), use the where parameter instead
whereA JSON-encoded Waterline criteria for advanced filtering. Only whitelisted criteria are supported: project, expenseCategory, billedAt, isBillable, inBudget, invoice, id, createdAt, updatedAt. Sub-attribute modifiers such as startsWith, >=, <=, >, <, and != are supported on any whitelisted criterion. The contains modifier is not supported on this model.
Note: If where is supplied, the per-attribute filter query parameters above are ignored — where is the entire criteria. (limit, skip, sort, and populate are unaffected.) To combine filters, put them all inside where.
e.g. ?where={"startDate":{">=":"2026-06-01","<":"2026-07-01"}}
limitThe maximum number of records to return. Defaults to 10000, capped at 50000.
skipThe number of records to skip (useful for pagination).
sortThe sort order. By default, returned records are sorted by primary key value in ascending order.
e.g. ?sort=lastName%20ASC
List Expense (find where) › Responses
Responds with a paged list of Expense records that match the specified criteria
Get Expense (find one)
Update Expense
Partially update an existing Expense record. Despite using PUT, this endpoint applies PATCH semantics — only the fields included in the request body are modified; omitted fields are left unchanged.
path Parameters
idThe desired Expense record's primary key value
Update Expense › Request Body
Aerion model Expense
Update Expense › Responses
Responds with the newly updated Expense record as a JSON dictionary
Aerion model Expense