---
title: "Create upload URL"
method: POST
path: "/v1/expenses/upload-url"
tags: ["v1 - Expenses"]
---

# Create upload URL

`POST /v1/expenses/upload-url`

## Request

- Base URL: `https://light.inc` (the document declares no server; this is the origin it was published from)
- URL: `https://light.inc/v1/expenses/upload-url`
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

Creates a pre-signed URL for uploading an expense receipt document

## Request body

- ExternalExpenseReceiptUploadUrlRequestV1Model
  - `filename` string, required: Name of the file being uploaded; kept as the receipt's file name
  - `contentType` string, required: MIME type of the file: application/pdf, image/jpeg, image/png, image/heic, image/heif or image/tiff
  - `shouldAutoCreateExpense` boolean: When true (default), the uploaded receipt is converted to PDF, an expense is created automatically and its fields are extracted by OCR. When false, the receipt is only stored: no expense is created and nothing is parsed; the caller creates the expense itself from the returned key.

## Response `default`

default response

- ExternalExpenseReceiptUploadUrlResponseV1Model
  - `uploadUrl` string, url
  - `key` string
  - `metadata` object, nullable

---

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