---
title: "Expenses API"
description: "Create, submit, review, approve and reverse expense records, attach receipts, and read an expense back with its workflow history."
url: "https://bareledger.app/guides/api-expenses"
category: "Developers & API"
updated: "2026-10-04"
publisher: "BareLedger (Syneria Technologies OPC)"
---

# Expenses API

> Create, submit, review, approve and reverse expense records, attach receipts, and read an expense back with its workflow history.

| Method & Path | Permission | Purpose | Side effects |
|---|---|---|---|
| `GET expenses` / `GET expenses/{expense}` | `expense.view` | List / detail | — |
| `POST expenses` | `expense.manage` | Create draft | Computes tax from the linked tax rate |
| `DELETE expenses/{expense}` | `expense.manage` | Delete draft | — |
| `GET expenses/{expense}/pdf` | `expense.view` | Stream PDF with signature block | — |
| `GET/POST expenses/{expense}/attachments` | `expense.view`/`expense.manage` | Attachments (e.g. receipts) | Stores file, audit |
| `GET expenses/{expense}/history` | `expense.view` | Workflow history | — |
| `POST expenses/{expense}/submit` \| `/review` \| `/approve` \| `/reject` \| `/reverse` | `expense.submit/review/approve/reject/reverse` | Workflow | `approve` **posts to ledger** (402 `usage_limit_reached` at the monthly transaction cap); `reverse` **submits a reversing entry for approval** |
