---
title: "Update Expense"
method: PUT
path: "/expenses/{expense_id}"
tags: ["Expenses"]
---

# Update Expense

`PUT /expenses/{expense_id}`

Update an existing expense entry.

## Path parameters

- `expense_id` number, required

## Request body

- ExpenseRequestUpdateRequest
  - `amount` integer — Amount in cents.
  - `attachments` integer[] — Attachment IDs to link.
  - `billable` boolean
  - `category` integer — Expense category ID
  - `date` string
  - `details` string
  - `project` string
  - `quantity` number
  - `user` integer
  - `type` 'separate' | 'billable' | 'cost' — Expense type.

## Response `200`

OK

- Expense
  - `amount` integer
  - `attachments` AttachmentDetails[]
    - `id` number
    - `name` string
    - `token` string
  - `billable` boolean
  - `category` number
  - `date` string
  - `details` string
  - `id` number
  - `project` string
  - `quantity` number
  - `user` number

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/everhour/apis/everhour-api.md) · [All operations](https://skmtc.net/everhour/apis/everhour-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/everhour/everhour-api/revisions/fc6136e33352/schema)
