---
title: "Publish a knowledge base theme"
method: POST
path: "/knowledge-bases/{id}/themes/{theme_id}/publish"
tags: ["knowledge-base-themes"]
---

# Publish a knowledge base theme

`POST /knowledge-bases/{id}/themes/{theme_id}/publish`

Promotes all current draft files to their published versions. Changes become live immediately when this is the knowledge base's active theme. Publishing a theme with no draft changes is a no-op.

**Rate limit:** 20 requests per minute

## Path parameters

- `id` string, required
- `theme_id` string, required

## Response `200`

- PublishKnowledgeBaseThemeResponseBody
  - `data` KnowledgeBaseTheme
    - `assets` KnowledgeBaseThemeAsset[] — The editable files in the theme.
      - `asset_type` string — The type of theme asset. One of article, collection, css, footer, header, homepage, or scripts.
      - `content` string — The complete current content, including unpublished changes.
      - `has_unpublished_changes` boolean — Whether this asset has changes that have not been published.
      - `published_content` string — The complete published content. Omitted if the asset has never been published.
    - `has_unpublished_changes` boolean — Whether any theme asset has changes that have not been published.
    - `id` string — The ID of the theme.
    - `knowledge_base_id` string — The ID of the knowledge base that owns the theme.
    - `name` string — The name of the theme.
  - `request_id` string — The request ID for tracking.

## Other responses

- `400` — The request was invalid or could not be completed.
- `404`
- `500` — An unexpected internal error occurred.

---

[API](https://skmtc.net/usepylon/apis/pylon-api.md) · [All operations](https://skmtc.net/usepylon/apis/pylon-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/usepylon/pylon-api/revisions/a7231589e927/schema)
