---
title: "Prepare Upload"
method: POST
path: "/v1/organizations/{organization_id}/uploads"
tags: ["Uploads"]
---

# Prepare Upload

`POST /v1/organizations/{organization_id}/uploads`

## Request

- Base URL: `https://api.usealmanac.com`
- URL: `https://api.usealmanac.com/v1/organizations/{organization_id}/uploads`
- Auth: HTTP bearer

## Path parameters

- `organization_id` string, required

## Headers

- `Idempotency-Key` string, required

## Request body

- UploadSourcesRequest
  - `files` SourceUploadFile[], required
    - `mime_type` string, nullable
    - `path` string, required
    - `sha256` string, required
    - `size_bytes` integer, required
  - `guidance` string, nullable

## Response `200`

Successful Response

- UploadPlan
  - `files` UploadFilePlan[], required
    - `file_id` string, required
    - `path` string, required
    - `target` UploadTarget, required
      - `expires_at` string, required
      - `headers` object, required
      - `method` string, required
      - `url` string, required
  - `upload` Upload, required
    - `created_at` string, required
    - `error` string, nullable, required
    - `finished_at` string, nullable, required
    - `source_count` integer, required
    - `status` 'uploading' | 'queued' | 'completed' | 'failed', required
    - `status_label` string, required
    - `status_state` 'ready' | 'running' | 'failed' | 'unknown', required
    - `summary` string, nullable, required
    - `updated_at` string, required
    - `upload_id` string, required

## Other responses

- `400`: Invalid request

---

[API](https://skmtc.dev/usealmanac/apis/almanac-v1-api.md) - [All operations](https://skmtc.dev/usealmanac/apis/almanac-v1-api/llms.txt) - [OpenAPI document](https://skmtc.dev/usealmanac/apis/almanac-v1-api/revisions/2874ff06ed74?raw)
