---
title: "Update an expense"
method: PUT
path: "/v1/expenses/card/{expense_id}"
tags: ["Card Expenses"]
---

# Update an expense

`PUT /v1/expenses/card/{expense_id}`

Update an expense. Admin and bookkeeper have access to any expense, and regular users can only access their own.

## Path parameters

- `expense_id` string, required

## Request body

- UpdateExpenseRequest — The parameter for updating an expense.
  - `memo` string, nullable — Expense memo.

## Response `200`

Update an expense response.

- Expense
  - `id` string, required — Unique ID associated with the expense.
  - `memo` string, nullable — The memo of the expense.
  - `location_id` string, nullable
  - `department_id` string, nullable
  - `updated_at` string, date-time, required — The last time the expense was updated.
  - `category` 'ADVERTISING_AND_MARKETING' | 'GROCERY' | 'TELEPHONY' | 'OFFICE_SUPPLIES' | 'PRIVATE_AIR_TRAVEL' | 'CLOTHING' | 'CAR_RENTAL' | 'VEHICLE_EXPENSES' | 'RESTAURANTS' | 'GAMBLING' | 'FLOWERS' | 'ELECTRONICS' | 'LEGAL_SERVICES' | 'UTILITIES' | 'FURNITURE' | 'BARS_AND_NIGHTLIFE' | 'LAUNDRY' | 'EVENT_EXPENSES' | 'SHIPPING' | 'OTHER_TRAVEL_EXPENSES' | 'CHARITY' | 'SOFTWARE_NON_RECURRING' | 'LODGING' | 'FACILITIES_EXPENSES' | 'SERVERS' | 'CONFERENCES' | 'FOOD_DELIVERY' | 'RENT' | 'AIRLINE_EXPENSES' | 'OTHER_BUSINESS_EXPENSES' | 'BANK_AND_FINANCIAL_FEES' | 'BOOKS_AND_NEWSPAPERS' | 'CONSULTANT_AND_CONTRACTOR' | 'CORPORATE_INSURANCE' | 'DIGITAL_GOODS' | 'FEES_AND_LICENSES_AND_TAXES' | 'GAS_AND_FUEL' | 'GENERAL_MERCHANDISE' | 'MEDICAL' | 'MEMBERSHIPS_AND_CLUBS' | 'PARKING_EXPENSES' | 'POLITICAL_DONATIONS' | 'PUBLIC_TRANSPORTATION' | 'RECURRING_SOFTWARE_AND_SAAS' | 'RIDESHARE_AND_TAXI' | 'TOLL_AND_BRIDGE_FEES' | 'TRAINING_AND_EDUCATION' | 'TRAVEL_WIFI' — The category of expenses.
  - `merchant_id` string, nullable
  - `budget_id` string, nullable
  - `original_amount` object, nullable — The original amount of the expense is the amount that the employee submitted or incurred for reimbursements or card spends.
    - `amount` integer, required — The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.
    - `currency` string, nullable — The type of currency, in ISO 4217 format.
  - `billing_amount` object, nullable — The billing amount of the expense is the amount that the entity is charged, on the entity's currency, for reimbursements or card spends.
    - `amount` integer, required — The amount of money, in the smallest denomination of the currency indicated by currency. For example, when currency is USD, amount is in cents.
    - `currency` string, nullable — The type of currency, in ISO 4217 format.
  - `purchased_at` string, date-time, nullable — The time the purchase was made.
  - `status` 'DRAFT' | 'SUBMITTED' | 'APPROVED' | 'OUT_OF_POLICY' | 'VOID' | 'CANCELED' | 'SPLIT' | 'SETTLED'
  - `payment_status` 'NOT_STARTED' | 'PROCESSING' | 'CANCELED' | 'DECLINED' | 'CLEARED' | 'REFUNDING' | 'REFUNDED' | 'CASH_ADVANCE' | 'CREDITED' | 'AWAITING_PAYMENT' | 'SCHEDULED'

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found

---

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