---
title: "POST /v2/uploads/prepare"
method: POST
path: "/v2/uploads/prepare"
tags: ["Uploads"]
---

# POST /v2/uploads/prepare

`POST /v2/uploads/prepare`

## Request

- Base URL: `https://glass.health/api/external`
- URL: `https://glass.health/api/external/v2/uploads/prepare`
- Auth: API key in header `X-Api-Key`

Prepare a file upload. Returns a signed URL for resumable direct upload and a fileUploadId for consuming APIs: Scribe (audio, `application/json`) and Messages (images, PDFs, and documents via `fileUploadIds` on Glass 5.5). Audio may be up to 1 GB; documents and images are capped at 50 MB.

## Request body

- object
  - `originalFileName` string, required
  - `fileSizeInBytes` number, required

## Response `200`

Signed upload URL and file id

- object
  - `fileUploadId` string, uuid, required
  - `signedUploadUrl` string, required
  - `fileSizeInBytes` integer, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/glass/apis/glass-health-api.md) - [All operations](https://skmtc.dev/glass/apis/glass-health-api/llms.txt) - [OpenAPI document](https://skmtc.dev/glass/apis/glass-health-api/revisions/0417e5333583?raw)
