---
title: "Create a theme"
method: POST
path: "/themes"
tags: ["Theme"]
---

# Create a theme

`POST /themes`

## Request

- Base URL: `https://telescope.ac/api`
- URL: `https://telescope.ac/api/themes`
- Auth: none declared

Creates a theme from the supplied customization blob, or — with from_space_id — from a space's current customization ("save as theme").

**API credit cost:** 5

## Headers

- `Authorization` string

## Request body

- PostThemeInputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `css` string: Theme stylesheet (pro only). Served from /themes/{id}.css on spaces that apply the theme.
  - `customization` SpaceCustomization
    - `accent_color` string, nullable
    - `background_color` string, nullable
    - `blog_layout_data` object
    - `blog_layout_style` string, nullable
    - `branding_icon_file_id` string, uuid
    - `content_width` string, nullable
    - `corner_radius` string, nullable
    - `custom_css` string, nullable
    - `dark_theme_background_color` string, nullable
    - `dark_theme_header_color` string, nullable
    - `dark_theme_header_text_color` string, nullable
    - `dark_theme_mode` string, nullable
    - `dark_theme_tabs_text_color` string, nullable
    - `dark_theme_text_color` string, nullable
    - `font` string, nullable
    - `font_size` string, nullable
    - `header_color` string, nullable
    - `header_data` object
    - `header_text_color` string, nullable
    - `image_file_id` string, uuid
    - `line_height` string, nullable
    - `publication_content_width` string, nullable
    - `publication_data` object
    - `text_color` string, nullable
    - `title_font` string, nullable
    - `title_font_size` string, nullable
    - `title_font_weight` string, nullable
  - `description` string: Short description.
  - `from_space_id` string, uuid: Snapshot this space's current customization as the theme's blob (requires space admin).
  - `title` string, required: Display title.

## Response `200`

OK

- ThemeOutputBody
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `theme` Theme, required
    - `contract_version` integer, required
    - `created_at` string, date-time, nullable, required
    - `css` string, required
    - `customization` Jsonb, required
    - `deleted_at` string, date-time
    - `description` string, required
    - `id` string, uuid, required
    - `status` 'private' | 'listed', required
    - `title` string, required
    - `updated_at` string, date-time, nullable, required
    - `user_id` string, uuid, required

## Other responses

- `default`: Error

---

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