---
title: "Upload Receipt"
method: POST
path: "/api/v1/expenses/{expense_id}/receipts"
tags: ["expenses", "expenses"]
---

# Upload Receipt

`POST /api/v1/expenses/{expense_id}/receipts`

## Request

- Base URL: `https://api.peil.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.peil.app/api/v1/expenses/{expense_id}/receipts`
- Auth: OAuth 2 (password, token URL `/api/v1/auth/jwt/login`)

Keep a photo or PDF of the receipt. Images are compressed and stripped of
EXIF (location); PDFs are kept as they are. `detail` on a refusal is a code:
unsupported_type, too_large, image_too_large, unreadable, empty.

## Path parameters

- `expense_id` integer, required

## Response `201`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/peil/apis/peil-api.md) · [All operations](https://skmtc.dev/peil/apis/peil-api/llms.txt) · [OpenAPI document](https://skmtc.dev/peil/apis/peil-api/revisions/ee3ca1246dde?raw)
