Skip to main content
PATCH
/
project-expenses
/
{id}
Update a project expense
curl --request PATCH \
  --url https://www.ruddr.io/api/workspace/project-expenses/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "expenseCategoryId": "<string>",
  "date": "2023-12-25",
  "amount": 123,
  "isBillable": true,
  "vendor": "<string>",
  "notes": "<string>",
  "markupMethod": "amount",
  "markupAmount": 123,
  "markupRatio": 123
}
'
{
  "id": "7e3a1f82-b54d-4c89-a2f1-9d6e0c3b5a47",
  "date": "2025-03-14",
  "amount": 2450.75,
  "total": 2940.9,
  "isBillable": true,
  "vendor": "Delta Airlines",
  "notes": "Flight to client site for Q1 kickoff",
  "createdAt": "2025-03-14T18:23:41.502Z",
  "markupMethod": "percentage",
  "markupAmount": null,
  "markupRatio": 0.2,
  "markup": 490.15,
  "project": {
    "id": "c50fafe3-4ec1-44f2-8a61-ddb3abcc55bb",
    "name": "Website Redesign",
    "client": {
      "id": "aa39afdb-e168-4956-b061-41c7c62e8c2e",
      "name": "Acme Corp"
    }
  },
  "expenseCategory": {
    "id": "175e0635-ac9e-4880-8492-07fa584f1b15",
    "name": "Airfare"
  },
  "invoiced": false
}
Scheduled project expenses that are outside a member’s expense reports.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

The project expense uuid

Body

application/json
expenseCategoryId
string

The expense category ID (uuid) for this expense.

date
string<date>

The date (YYYY-MM-DD) of the expense.

amount
number

The total amount of the expense.

isBillable
boolean

Whether the expense is billable to the client. Can only be true on billable projects.

vendor
string

The vendor for the expense (max 255 characters).

notes
string

Any notes about the expense (max 1024 characters).

markupMethod
enum<string>

The method used to calculate markup. Either amount (fixed dollar amount) or percentage (ratio of the expense amount).

Available options:
amount,
percentage
markupAmount
number

The fixed markup amount. Required when markupMethod is amount.

markupRatio
number

The markup ratio (0–1). Required when markupMethod is percentage.

Response

200

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 | null

The vendor for the expense.

notes
string | null

Any notes about the expense.

createdAt
string<date-time>

The timestamp when the object was created.

markupMethod
enum<string> | null

The method used to calculate markup. Either amount (fixed dollar amount) or percentage (ratio of the expense amount).

Available options:
amount,
percentage,
null
markupAmount
number | null

The fixed markup amount. Present when markupMethod is amount, otherwise null.

markupRatio
number | null

The markup ratio (0–1). Present when markupMethod is percentage, otherwise null.

markup
number | null

The calculated markup value. null when no markup method is set.

project
object

The project this expense belongs to.

expenseCategory
object

The expense category assigned to this expense.

invoiced
boolean

Whether the expense has been invoiced.