---
title: "Create Theme"
method: POST
path: "/v4/returns/themes/"
tags: ["Theme"]
---

# Create Theme

`POST /v4/returns/themes/`

## Request

- The document declares no server URL.
- Auth: one of:
  - API key in header `Authorization`
  - HTTP bearer

CRUD operations for `ReturnsTheme` via the public API.

## Request body

- ReturnThemeRequest: Serializer for ReturnsTheme objects exposed via the public API.
  - `account` integer, required
  - `name` string, required
  - `description` string
  - `is_default` boolean
  - `allow_public_selection` boolean: Allow this published theme to be selected through the public theme query parameter 'theme=<UUID>'
  - `extends_theme_external_id` string, nullable

## Response `201`

- ReturnTheme: Serializer for ReturnsTheme objects exposed via the public API.
  - `account` integer, required
  - `external_id` string, required
  - `name` string, required
  - `description` string
  - `is_default` boolean
  - `allow_public_selection` boolean: Allow this published theme to be selected through the public theme query parameter 'theme=<UUID>'
  - `extends_theme_external_id` string, nullable
  - `key` string, required: Technical key for repository-managed themes.
  - `managed_theme` boolean, required: Designates repository-shipped themes.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`
- `403`
- `404`

## Changes

- **2026-11-03** `84524f38b6c9`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/parcellab/apis/parcellab-api/changes/v4/returns/themes/post.md)

---

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