---
title: "Upload Theme Template"
method: POST
path: "/v1/ui-upload/theme"
tags: ["ui-upload"]
---

# Upload Theme Template

`POST /v1/ui-upload/theme`

## Request

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

Accept a brand template PPTX from the MCP Apps drop-zone, extract the theme.

Token is minted by `upload_asset(purpose="theme")` with no inline data. Unlike pdf/translate
there is NO job to poll — extraction is synchronous and the response carries `theme_id`; the
result card renders a success panel (U4 ADR §7.4: renders on this theme are NATIVE by default,
built on the uploaded file).

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