---
title: "Upload Pdf"
method: POST
path: "/v1/ui-upload/pdf"
tags: ["ui-upload"]
---

# Upload Pdf

`POST /v1/ui-upload/pdf`

## Request

- Base URL: `https://api.slideforge.dev`
- URL: `https://api.slideforge.dev/v1/ui-upload/pdf`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Accept a PDF from the MCP Apps iframe, kick off conversion.

Returns `{job_id, status: "queued", poll_url}` immediately. The
iframe polls the signed poll_url against `/v1/jobs/{job_id}` for
completion, then transitions the result card to the populated state.

Auth: `X-Upload-Token` header (minted by `upload_asset(purpose="pdf")`).
No Bearer token; the upload token carries the user identity.

## Headers

- `X-Upload-Token` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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