> ## 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.

# Upload from URL

> Upload a PDF by providing a public URL.

## Overview

Provide a publicly accessible URL and OkraPDF will fetch and process the PDF. This is the easiest upload method when your file is already hosted somewhere (S3, GCS, public link).

## Request

<ParamField path="id" type="string" required>
  Document ID (e.g. `doc-abc123`) or 6-char short hash.
</ParamField>

<ParamField body="url" type="string" required>
  Public URL of the PDF to ingest.
</ParamField>

<ParamField body="page_images" type="string">
  Page image rendering strategy: `eager` (default, render all pages), `cover` (page 1 only), or `none`. `lazy` is accepted as a deprecated alias for `eager`.
</ParamField>

<ParamField body="capabilities" type="string">
  Comma-separated capability flags.
</ParamField>

<RequestExample>
  ```bash theme={null}
  curl -X POST https://api.okrapdf.com/v1/documents/doc-abc123/upload-url \
    -H "Authorization: Bearer okra_YOUR_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "url": "https://example.com/report.pdf",
      "page_images": "eager"
    }'
  ```
</RequestExample>

### Response (202)

```json theme={null}
{
  "id": "doc-abc123",
  "phase": "uploading",
  "status_url": "https://api.okrapdf.com/v1/documents/doc-abc123"
}
```
