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

# List expenses

`GET /expenses`

## Request

- Base URL: `https://timelodge.com/api/v1`
- URL: `https://timelodge.com/api/v1/expenses`
- Auth: HTTP bearer

Returns a stable, ascending-by-ID page scoped to the token workspace. Requires `expenses:read`.

## Query parameters

- `page` integer
- `per_page` integer
- `user_id` integer, nullable
- `project_id` integer, nullable
- `category_id` integer, nullable
- `expense_date` string, date, nullable
- `status` string, nullable
- `updated_since` string, date-time

## Response `200`

A page of expenses.

- ExpenseCollection
  - `data` Expense[], required
    - `id` integer, nullable
    - `user_id` integer, nullable
    - `project_id` integer, nullable
    - `category_id` integer, nullable
    - `expense_date` string, date, nullable
    - `notes` string, nullable
    - `currency` string, nullable
    - `amount_minor` integer, nullable
    - `tax_minor` integer, nullable
    - `markup_minor` integer, nullable
    - `total_minor` integer, nullable
    - `reimbursable` boolean, nullable
    - `billable` boolean, nullable
    - `status` string, nullable
    - `is_locked` boolean, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `version` string: Opaque representation version used for optimistic concurrency.
  - `meta` PaginationMeta, required
    - `current_page` integer, required
    - `per_page` integer, required
    - `total` integer, required
    - `last_page` integer, required
  - `links` PaginationLinks, required
    - `first` string, uri, nullable
    - `last` string, uri, nullable
    - `previous` string, uri, nullable
    - `next` string, uri, nullable

## Other responses

- `401`: Missing or invalid token.
- `403`: The token lacks the required scope.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/timelodge/apis/timelodge-api.md) · [All operations](https://skmtc.dev/timelodge/apis/timelodge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/timelodge/apis/timelodge-api/revisions/9072baafaa20?raw)
