---
title: "Gets a list of expenses"
method: GET
path: "/api/v1/expenses"
tags: ["expenses"]
---

# Gets a list of expenses

`GET /api/v1/expenses`

## Request

- Base URL: `https://demo.invoiceninja.com`
- URL: `https://demo.invoiceninja.com/api/v1/expenses`
- Auth: none declared. Required headers: `X-API-TOKEN`, `X-Requested-With`
- TypeScript: <https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/docs/api/v1/expenses/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists expenses, search and filters allow fine grained lists to be generated.

    Query parameters can be added to performed more fine grained filtering of the expenses, these are handled by the ExpenseFilters class which defines the methods available

## Query parameters

- `include` string
- `index` string
- `per_page` integer
- `page` integer
- `sort` string[]

## Headers

- `X-API-TOKEN` string, required
- `X-Requested-With` string, required

## Response `200`

A list of expenses

- object
  - `data` Expense[]
    - `id` string: The expense hashed id
    - `user_id` string: The user hashed id
    - `assigned_user_id` string: The assigned user hashed id
    - `project_id` string: The associated project_id
    - `client_id` string: The client hashed id
    - `invoice_id` string: The related invoice hashed id
    - `bank_id` string: The bank id related to this expense
    - `invoice_currency_id` string: The currency id of the related invoice
    - `currency_id` string: The currency id of the expense
    - `invoice_category_id` string: The invoice category id
    - `payment_type_id` string: The payment type id
    - `recurring_expense_id` string: The related recurring expense this expense was created from
    - `private_notes` string: The private notes of the expense
    - `public_notes` string: The public notes of the expense
    - `transaction_reference` string: The transaction references of the expense
    - `transcation_id` string: The transaction id of the expense
    - `custom_value1` string: A custom value
    - `custom_value2` string: A custom value
    - `custom_value3` string: A custom value
    - `custom_value4` string: A custom value
    - `tax_amount` number: The tax amount
    - `tax_name1` string: Tax Name 1
    - `tax_name2` string: Tax Name 2
    - `tax_name3` string: Tax Name 3
    - `tax_rate1` number, float: Tax rate 1
    - `tax_rate2` number, float: Tax rate 2
    - `tax_rate3` number, float: Tax rate 3
    - `amount` number, float: The total expense amont
    - `foreign_amount` number, float: The total foreign amount of the expense
    - `exchange_rate` number, float: The exchange rate at the time of the expense
    - `date` string: The expense date format Y-m-d
    - `payment_date` string: The date of payment for the expense, format Y-m-d
    - `should_be_invoiced` boolean: Flag whether the expense should be invoiced
    - `is_deleted` boolean: Boolean determining whether the expense has been deleted
    - `invoice_documents` boolean: Passing the expense documents over to the invoice
    - `updated_at` number: Timestamp
    - `archived_at` number: Timestamp
    - `calculate_tax_by_amount` boolean: Flag indicating whether to calculate tax based on amount rather than percentage
    - `category_id` string: The unique identifier of the expense category
    - `number` string: The unique number assigned to this expense
    - `purchase_order_id` string: The unique identifier of the associated purchase order
    - `tax_amount1` number, float: The amount of the first tax
    - `tax_amount2` number, float: The amount of the second tax
    - `tax_amount3` number, float: The amount of the third tax
    - `transaction_id` string: The unique identifier of the transaction
    - `uses_inclusive_taxes` boolean: Flag indicating whether taxes are included in the price
    - `vendor_id` string: The unique identifier of the vendor associated with this expense
  - `meta` Meta
    - `pagination` Pagination
      - `total` integer: The total number of items
      - `count` integer: The number of items per page
      - `per_page` integer: The number of items per page
      - `current_page` integer: The current page number
      - `total_pages` integer: The total number of pages
      - `links` object: The pagination links

## Other responses

- `401`: Authentication error
- `403`: Authorization error
- `422`: Validation error
- `default`: Unexpected Error

## Changes

- **2026-05-06** `89876e7e51d6`: 1 info
  - added the new optional `query` request parameter `sort`
- **2026-04-20** `69a36036d334`: 3 info
  - added the new optional `query` request parameter `page`
  - added the new optional `query` request parameter `per_page`
  - the response optional property `data/items/id` became read-only for the status `200`
- **2025-11-22** `00ad5cc89fad`: 10 info
  - added the optional property `data/items/calculate_tax_by_amount` to the response with the `200` status
  - added the optional property `data/items/category_id` to the response with the `200` status
  - added the optional property `data/items/number` to the response with the `200` status
  - added the optional property `data/items/purchase_order_id` to the response with the `200` status
  - …6 more
- **2025-05-24** `93bb427f804b`: 1 breaking
  - the `meta` response's property type changed from `object` to no type for status `200`
- **2024-06-06** `8e82a2bd77e0`: 2 breaking, 40 info
  - the response's body type changed from no type to `object` for status `default`
  - the `data/items/` response's property type changed from no type to `object` for status `200`
  - added the optional property `code` to the response with the `default` status
  - added the optional property `data/items/amount` to the response with the `200` status
  - …38 more

[Operation history](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/changes/api/v1/expenses/get.md)

---

[API](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference.md) - [All operations](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/invoiceninja/apis/invoice-ninja-api-reference/revisions/bcda1f823746?raw)
