Skip to main content
PATCH
/
expense-items
/
{id}
Update an expense item
curl --request PATCH \
  --url https://www.ruddr.io/api/workspace/expense-items/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "vendorName": "<string>",
  "notes": "<string>",
  "attendees": "<string>",
  "date": "2023-12-25",
  "currency": "<string>",
  "expenseAmount": 123,
  "markupMethod": "percentage",
  "markupRatio": 0.5,
  "markupAmount": 123,
  "unitCount": 123,
  "unitAmount": 123,
  "isReimbursable": true,
  "isBillable": true,
  "expenseReportId": "<string>",
  "expenseCategoryId": "<string>",
  "projectId": "<string>"
}
'
{
  "id": "3b7e1f2a-4c8d-4e9f-a0b1-2c3d4e5f6a7b",
  "statusId": "not_submitted",
  "vendor": "Personal Vehicle",
  "notes": "Client site visit for project kickoff meeting.",
  "attendees": "Alice Johnson, Bob Smith",
  "date": "2025-01-15",
  "currency": "USD",
  "amount": 33.5,
  "markupMethod": "amount",
  "markupRatio": null,
  "markupAmount": 5,
  "markup": 5,
  "total": 38.5,
  "unitCount": 50,
  "unitAmount": 0.67,
  "isReimbursable": true,
  "isBillable": true,
  "createdAt": "2025-01-15T20:47:03.284Z",
  "expenseReport": {
    "id": "4a186944-4259-4e8a-8aba-b9aaf6937c04",
    "title": "January 2025 Expenses"
  },
  "expenseCategory": {
    "id": "175e0635-ac9e-4880-8492-07fa584f1b15",
    "name": "Mileage",
    "unitName": "Mile"
  },
  "member": {
    "id": "7c8f2e19-4d5a-4a3b-9c6d-2e8f1a0b3c4d",
    "name": "Jane Smith"
  },
  "project": {
    "id": "b4cc2b99-3b3a-4b73-8f4e-8c1d7a94e5b0",
    "name": "Website Redesign",
    "client": {
      "id": "56deca22-a707-4148-a5f7-ea3ae6391d67",
      "name": "Acme Corp"
    }
  },
  "invoiced": false
}
A purchased product or service recorded for reimbursement or project billing.

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

Body

application/json
vendorName
string | null

The name of the vendor for the expense. Max 255 characters.

notes
string | null

Notes about the expense item. Max 5000 characters.

attendees
string | null

Attendees for the expense. Max 5000 characters.

date
string<date>

The date of the expense. Should be in the form YYYY-MM-DD.

currency
string

The ISO 4217 currency code for the expense amount (e.g. USD).

expenseAmount
number

The expense amount in the expense's currency.

markupMethod
enum<string> | null

The markup method to apply to the expense.

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

The markup ratio (e.g. 0.1 for 10%). Must be between 0 and 1. Used when markupMethod is percentage.

Required range: 0 <= x <= 1
markupAmount
number | null

The fixed markup amount. Used when markupMethod is amount.

unitCount
number | null

The number of units for unit-based expense categories.

unitAmount
number | null

The per-unit amount for unit-based expense categories.

isReimbursable
boolean

Whether the expense is reimbursable to the member.

isBillable
boolean

Whether the expense item is billable back to the client.

expenseReportId
string

The expense report ID (uuid) this item belongs to.

expenseCategoryId
string

The expense category ID (uuid) for this item.

projectId
string | null

The project ID (uuid) to associate this expense with.

Response

200

id
string

The unique identifier for the object.

statusId
enum<string>

The approval status of the expense item.

Available options:
not_submitted,
pending_approval,
approved,
rejected
vendor
string | null

The name of the vendor for the expense.

notes
string | null

Additional notes about the expense item.

attendees
string | null

The attendees for the expense (e.g. for meals or entertainment categories).

date
string<date>

The date of the expense. In the form YYYY-MM-DD.

currency
string

The ISO 4217 currency code for the expense amount (e.g. USD).

amount
number

The expense amount in the expense's currency.

markupMethod
enum<string> | null

The markup method applied to the expense. null if no markup is applied.

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

The markup ratio (e.g. 0.1 for 10%). Present when markupMethod is percentage, otherwise null.

markupAmount
number | null

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

markup
number | null

The computed markup value in the expense's currency. null when no markup method is set.

total
number

The total billed amount including any markup, in the expense's currency.

unitCount
number | null

The number of units for unit-based expense categories. null if not applicable.

unitAmount
number | null

The per-unit amount for unit-based expense categories. null if not applicable.

isReimbursable
boolean

Whether the expense is reimbursable to the member.

isBillable
boolean

Whether the expense item is billable back to the client.

createdAt
string<date-time>

The timestamp when the object was created.

expenseReport
object

The expense report this item belongs to.

expenseCategory
object

The expense category for this item.

member
object

The member who submitted the expense.

project
object

The project associated with this expense item. null if not assigned to a project.

invoiced
boolean

Whether this record has been invoiced.