---
title: "Update a user theme"
method: PATCH
path: "/api/v3/theme/update/{theme_id}"
tags: ["V3 Theme"]
---

# Update a user theme

`PATCH /api/v3/theme/update/{theme_id}`

Updates a custom theme owned by the authenticated user. Fields are optional; only supplied values are changed. Passing a new `logo` replaces the previous logo asset, and passing `data` replaces the stored colors and fonts.

## Path parameters

- `theme_id` string, uuid, required

## Headers

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

## Request body

- BodyUpdateThemeApiV3ThemeUpdateThemeIdPatch
  - `name` string, nullable
  - `description` string, nullable
  - `company_name` string, nullable
  - `logo` string, uuid, nullable
  - `data` PresentionThemeDataInput
    - `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

## Response `200`

Theme updated 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.
- `403` — The theme belongs to another user.
- `404` — Theme or logo asset 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)
