Skip to content

List expenses (role-scoped)

Request

Returns a paginated list of expenses filtered by the caller's role.

  • CARD USER – own expenses only
  • REVIEWER – expenses belonging to teams the reviewer manages
  • ADMIN / APPROVER / SUPER ADMIN – all business expenses

For dashboard roles, expenses are fetched across all business currency wallets in parallel and merged. Pass accountref to restrict results to a single currency wallet.

Security
oauth2ClientCredentials(Required scopes: expenses:read)
Query
pagenumber

Page number (minimum: 1)

Example:page=1
limitnumber

Number of items per page (minimum: 1, maximum: 1000)

Example:limit=20
accountrefstring

Wallet org_wallet_ref to scope expenses to a specific currency. When omitted, all business currency wallets are fetched and merged.

Example:accountref=1
tostring

End date for filtering expenses (ISO 8601, e.g. 2026-04-30)

Example:to=2026-04-30
fromstring

Start date for filtering expenses (ISO 8601, e.g. 2026-01-01)

Example:from=2026-01-01
Headers
org_wallet_refstring

Organization wallet reference, defaults to "1" if not provided

business_idstringrequired

Business identifier for the request

curl -i -X GET \
  'https://developer.boyahq.com/_mock/v2/openapi/expenses?page=1&limit=20&accountref=1&to=2026-04-30&from=2026-01-01' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'business_id: string' \
  -H 'org_wallet_ref: string'

Responses

Paginated list of expenses scoped to the caller's role

Bodyapplication/json
docsArray of objects(ExpenseV1Dto)

Expense documents

totalnumber

Total count

limitobject

Limit per page

pageobject

Current page

pagesnumber

Total pages

Response
{ "docs": [ {} ], "total": 0, "limit": {}, "page": {}, "pages": 0 }