---
title: "Update an expense"
method: PUT
path: "/api/v1/expenses/{id}"
tags: ["Expenses"]
---

# Update an expense

`PUT /api/v1/expenses/{id}`

## Request

- Base URL: `https://api.checkcherry.com`
- URL: `https://api.checkcherry.com/api/v1/expenses/{id}`
- Auth: none declared. Required headers: `Api-Key`

Update an existing expense record.

**Required permission:** `expense_write`

## Path parameters

- `id` integer, required

## Headers

- `Api-Key` string, required

## Request body

- object
  - `payee_type` 'custom' | 'staff': Payee type
  - `payee_value` string: Payee name
  - `staff_id` integer: Staff member ID
  - `payment_date` string: Date of payment (YYYY-MM-DD)
  - `payment_method` string: Payment method
  - `amount` number: Expense amount
  - `ref_no` string: Reference number
  - `description` string: Description of the expense
  - `expense_category_id` integer: Expense category ID
  - `event_id` integer: Associated event ID

## Response `200`

expense updated

---

[API](https://skmtc.dev/checkcherry/apis/check-cherry-business-api.md) · [All operations](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/revisions/84a9aabdf519?raw)
