---
title: "List expenses"
method: GET
path: "/expenses"
tags: ["Expenses"]
---

# List expenses

`GET /expenses`

Returns a paginated list of expenses with filtering and chart data

## Query parameters

- `start_date` string, date
- `end_date` string, date
- `clients` integer[]
- `projects` integer[]
- `categories` integer[]
- `status` 'unbilled' | 'billed'
- `search` string

## Response `200`

Successful response

- object
  - `data` Expense[]
    - `id` integer
    - `team_id` integer
    - `project_id` integer, nullable
    - `client_id` integer, nullable
    - `category_id` integer, nullable
    - `amount` number
    - `vendor` string
    - `description` string, nullable
    - `status` 'unbilled' | 'billed'
    - `date` string, date
    - `date_formatted` string
    - `client` object
      - `id` integer, nullable
      - `name` string
    - `project` object
      - `id` integer, nullable
      - `name` string
    - `category` object
      - `id` integer, nullable
      - `name` string
    - `created_at` string, date-time
  - `meta` object

## Other responses

- `401` — Unauthenticated

---

[API](https://skmtc.net/harpoonapp/apis/harpoon-api-documentation.md) · [All operations](https://skmtc.net/harpoonapp/apis/harpoon-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/harpoonapp/harpoon-api-documentation/revisions/e8fd192f94c6/schema)
