---
title: "Publish Preferences Page"
method: POST
path: "/preferences/publish"
tags: ["Preference Topics"]
---

# Publish Preferences Page

`POST /preferences/publish`

Publishes the workspace preference page, snapshotting every preference and topic, and returns the page id and a preview URL.

## Headers

- `Idempotency-Key` string
- `x-idempotency-expiration` string

## Request body

- PublishPreferencesRequest — Optional page metadata to apply when publishing the workspace's preferences page. All fields are optional; omitted fields fall back to the page defaults (and the workspace default brand).
  - `heading` string, nullable — Heading shown at the top of the hosted preferences page.
  - `description` string, nullable — Description shown under the heading on the hosted preferences page.
  - `brand_id` string, nullable — Brand for the hosted page - "default" (workspace default brand), "none" (no brand), or a specific brand id. Defaults to "default".

## Response `200`

- PublishPreferencesResponse — Result of publishing the workspace's preferences page.
  - `page_id` string, required — Id of the published page snapshot.
  - `published_at` string, required — ISO-8601 timestamp of the publish.
  - `published_by` string, nullable — Id of the publisher.
  - `published_version` number, required — Monotonic published version (epoch milliseconds).
  - `preview_url` string, nullable — Draft-mode hosted preferences page URL for previewing.

## Changes

- **2026-07-29** `f76bed79a913` — 4 info
  - api tag `Preference Topics` added
  - api tag `Workspace Preferences` removed
  - added the new optional `header` request parameter `Idempotency-Key`
  - added the new optional `header` request parameter `x-idempotency-expiration`
- **2026-07-09** `49e3cc128b6c` — 1 info
  - added optional request body
- **2026-06-26** `61131080b185` — 3 info
  - api operation id `preferenceSections_publish` removed and replaced with `workspacePreferences_publish`
  - api tag `Workspace Preferences` added
  - api tag `Preference Sections` removed
- **2026-06-24** `124a60dd716b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/trycourier/apis/courier/changes/preferences/publish/post.md)

---

[API](https://skmtc.dev/trycourier/apis/courier.md) · [All operations](https://skmtc.dev/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycourier/courier/revisions/cb8586034158/schema)
