---
title: "Create a user theme"
method: POST
path: "/api/v3/theme/create"
tags: ["V3 Theme"]
---

# Create a user theme

`POST /api/v3/theme/create`

Creates a custom presentation theme for the authenticated user. The request body must include a name, description, and complete theme data with colors and fonts. Optionally pass `company_name` and a `logo` image asset id; the logo must already exist.

## Headers

- `Authorization` string, required — Bearer JWT or API Key

## Request body

- BodyCreateThemeApiV3ThemeCreatePost
  - `name` string, required
  - `description` string, required
  - `data` PresentionThemeDataInput, required
    - `colors` PresentionThemeColors, required
      - `primary` string, required
      - `background` string, required
      - `card` string, required
      - `stroke` string, required
      - `primary_text` string, required
      - `background_text` string, required
      - `graph_0` string, required
      - `graph_1` string, required
      - `graph_2` string, required
      - `graph_3` string, required
      - `graph_4` string, required
      - `graph_5` string, required
      - `graph_6` string, required
      - `graph_7` string, required
      - `graph_8` string, required
      - `graph_9` string, required
    - `fonts` PresentionThemeFonts, required
      - `textFont` PresentionThemeTextFont, required
        - `name` string, required
        - `url` string, required
  - `company_name` string, nullable
  - `logo` string, uuid, nullable

## Response `200`

Theme created successfully.

- PresentationThemeResponse
  - `name` string, required
  - `description` string, required
  - `logo` string, uuid, nullable, required
  - `logo_url` string, nullable, required
  - `company_name` string, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `data` PresentionThemeDataOutput, required
    - `colors` PresentionThemeColors, required
      - `primary` string, required
      - `background` string, required
      - `card` string, required
      - `stroke` string, required
      - `primary_text` string, required
      - `background_text` string, required
      - `graph_0` string, required
      - `graph_1` string, required
      - `graph_2` string, required
      - `graph_3` string, required
      - `graph_4` string, required
      - `graph_5` string, required
      - `graph_6` string, required
      - `graph_7` string, required
      - `graph_8` string, required
      - `graph_9` string, required
    - `fonts` PresentionThemeFonts, required
      - `textFont` PresentionThemeTextFont, required
        - `name` string, required
        - `url` string, required
  - `id` string, uuid, required
  - `user` string, uuid, nullable, required

## Other responses

- `401` — Authentication is required.
- `404` — The provided logo asset was not found.
- `422` — Validation Error

---

[API](https://skmtc.dev/presenton/apis/fastapi.md) · [All operations](https://skmtc.dev/presenton/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/presenton/fastapi/revisions/5dae3adc4ee8/schema)
