v1

latestOpenAPI 3.0.32026-07-2632131.4 MB
Expenses (only available for accounting add-on users)

Get expenses with filtering

Retrieves expenses with optional filtering and pagination.

Filters by status (comma-separated), category, vendor, owner, listing, reservation IDs, and date ranges.

Returns up to 100 items per page. Defaults to 50 items, sorted by creation date descending.

get/expenses-api/expenses

Query parameters

status'scheduled' | 'submitted' | 'insufficient_funds' | 'paid' | 'canceled'

Comma-separated expense statuses to filter by. Valid values: scheduled, submitted, insufficient_funds, paid, canceled

categoryIdstring
Example:123e4567-e89b-12d3-a456-426614174000

Category ID to filter expenses by

vendorIdstring
Example:68187ca2a50537610c0a3af2

Vendor ID to filter expenses by (MongoDB ObjectId)

ownerIdstring
Example:68187ca2a50537610c0a3af3

Owner ID to filter expenses by (MongoDB ObjectId)

listingIdstring
Example:68187ca2a50537610c0a3af4

Listing ID to filter expenses by (MongoDB ObjectId)

reservationIdstring
Example:68187ca2a50537610c0a3af5

Reservation ID to filter expenses by (MongoDB ObjectId)

expenseRuleIdstring
Example:123e4567-e89b-12d3-a456-426614174005

Expense Rule ID to filter expenses by

expenseDateFromstring
Example:2024-01-01

Filter expenses from this date (inclusive, ISO date format)

expenseDateTostring
Example:2024-01-31

Filter expenses to this date (inclusive, ISO date format)

limitnumber
Example:50

Number of expenses to return (1-100)

skipnumber

Number of expenses to skip for pagination

sortBy'expenseDate' | 'createdAt' | 'amount'

Field to sort expenses by

sortOrder'ASC' | 'DESC'

Sort order for the results

Response

Paginated response with filtered expenses, total count, and pagination metadata

countnumber required

Total number of expenses matching the filter criteria

limitnumber required

Number of expenses returned in this response (max items per page)

skipnumber required

Number of expenses skipped (for pagination)

Example response

{
  "count": 147,
  "limit": 50
}