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

# List project expenses

`GET /project-expenses`

## Request

- Base URL: `https://www.ruddr.io/api/workspace`
- URL: `https://www.ruddr.io/api/workspace/project-expenses`
- Auth: HTTP bearer

## Query parameters

- `startingAfter` string
- `endingBefore` string
- `limit` integer
- `projectId` string

## Response `200`

200

- object
  - `results` ProjectExpense[]: The list of results for the current page.
    - `id` string: The unique identifier for the object.
    - `date` string, date: The date of the expense. Will be in the form YYYY-MM-DD.
    - `amount` number: The total amount of the expense.
    - `total` number: The total billed amount of the expense, including any markup.
    - `isBillable` boolean: Whether the expense is billable to the client. Can only be `true` on billable projects.
    - `vendor` string, nullable: The vendor for the expense.
    - `notes` string, nullable: Any notes about the expense.
    - `createdAt` string, date-time: The timestamp when the object was created.
    - `markupMethod` 'amount' | 'percentage' | 'null', nullable: The method used to calculate markup. Either `amount` (fixed dollar amount) or `percentage` (ratio of the expense amount).
    - `markupAmount` number, nullable: The fixed markup amount. Present when `markupMethod` is `amount`, otherwise `null`.
    - `markupRatio` number, nullable: The markup ratio (0–1). Present when `markupMethod` is `percentage`, otherwise `null`.
    - `markup` number, nullable: The calculated markup value. `null` when no markup method is set.
    - `project` object: The project this expense belongs to.
      - `id` string: The unique identifier for the object.
      - `name` string: The name of the project.
      - `client` object: The client associated with the project.
        - `id` string: The unique identifier for the object.
        - `name` string: The name of the client.
    - `expenseCategory` object: The expense category assigned to this expense.
      - `id` string: The unique identifier for the object.
      - `name` string: The name of the expense category.
    - `invoiced` boolean: Whether the expense has been invoiced.
  - `hasMore` boolean: Whether there are more results available after this page.

## Other responses

- `400`: 400

---

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