Skip to main content
PATCH
/
project-budget-expenses
/
{id}
Update a project budget expense
curl --request PATCH \
  --url https://www.ruddr.io/api/workspace/project-budget-expenses/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "expenseCategoryId": "<string>",
  "billableAmount": 123,
  "nonBillableAmount": 123,
  "notes": "<string>"
}
'
{
  "id": "3f8a1c2d-5b7e-4a9f-8c6d-1e2f3a4b5c6d",
  "billableAmount": 2500,
  "nonBillableAmount": 750,
  "createdAt": "2026-01-14T09:32:11.452Z",
  "expenseCategory": {
    "id": "7d4e9f2a-1c3b-4d5e-6f7a-8b9c0d1e2f3a",
    "name": "Airfare"
  },
  "project": {
    "id": "a1b2c3d4-e5f6-7a8b-9c0d-e1f2a3b4c5d6",
    "name": "Website Redesign",
    "client": {
      "id": "f9e8d7c6-b5a4-3210-fedc-ba9876543210",
      "name": "Acme Corporation"
    }
  }
}
The budget for an expense category on a project. Only available for projects that are using a budget and the budget mode is either “detailed” or “aggregated”.

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 budget expense uuid

Body

application/json
expenseCategoryId
string

The ID (uuid) of the expense category for this budget expense.

billableAmount
number | null

The total billable amount for the expense category.

nonBillableAmount
number | null

The total non-billable amount for the expense category.

notes
string | null

Notes about this budget expense. Maximum 5000 characters.

Response

200

id
string

The unique identifier for the object.

billableAmount
number | null

The total billable amount for the expense category. null when the project is non-billable.

nonBillableAmount
number | null

The total non-billable amount for the expense category.

createdAt
string<date-time>

The timestamp when the object was created.

expenseCategory
object
project
object