> ## Documentation Index
> Fetch the complete documentation index at: https://docs.okrapdf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Direct Upload

> Create a direct-to-storage upload session for a PDF.

## Overview

Use this for larger PDFs or browser/server uploads where you want to PUT bytes directly to the signed storage URL, then finalize the file with `/v1/files/finalize`.

<ParamField body="fileName" type="string" required>
  Original filename.
</ParamField>

<ParamField body="fileSize" type="integer" required>
  File size in bytes.
</ParamField>

<ParamField body="sha256" type="string" required>
  SHA-256 digest of the file bytes.
</ParamField>

<RequestExample>
  ```bash theme={null}
  curl -X POST https://api.okrapdf.com/v1/files/presign \
    -H "Authorization: Bearer $OKRA_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "fileName": "report.pdf",
      "fileSize": 10485760,
      "sha256": "..."
    }'
  ```
</RequestExample>
