---
title: "Update publication settings"
method: PATCH
path: "/v1/publications/{publicationId}"
tags: ["publications"]
---

# Update publication settings

`PATCH /v1/publications/{publicationId}`

Update settings for a publication. The publication is identified by the API key provided in the Authorization header, and the path `:publicationId` must match the publication that owns the API key.

**Behavior:**
- Only provided fields are updated; omitted fields remain unchanged
- Set `featuredPost` to `"latest"`, `"popular"`, `"disabled"`, or a specific post ID. The post must belong to this publication.
- `pinnedPostIds` replaces the existing pinned list. Pinned posts are hidden from the regular feed (they show in their own section), and unpinned posts return to the feed.
- `emailNotifications` is merged onto the current settings; only the toggles you send are changed.

## Path parameters

- `publicationId` string, required

## Request body

- object
  - `name` string — Display name of the publication
  - `summary` string — Brief description of the publication (max 500 characters)
  - `postListType` 'feed' | 'grid' | 'full-post' — Homepage layout. 'feed' is a single-column list of cards, 'grid' is a 3-column grid, 'full-post' shows full posts in a single column.
  - `themeColor` 'default' | 'orange-500' | 'rose-600' | 'pink-500' | 'fuchsia-600' | 'purple-600' | 'violet-600' | 'indigo-600' | 'blue-600' | 'sky-600' | 'cyan-600' | 'teal-600' | 'emerald-600' | 'green-600' | 'lime-600' | 'yellow-700' | 'amber-600' | 'orange-600' | 'stone-800' | 'rose-900' | 'indigo-950' | 'teal-950' | 'lime-950' | 'orange-950' — Theme accent color for the publication
  - `headerFont` 'default' | 'serif' | 'mono' — Font family used for headers
  - `bodyFont` 'default' | 'serif' | 'mono' — Font family used for body text
  - `showMostPopular` boolean — Whether to show the 'most popular posts' widget
  - `hideStats` boolean — Whether to hide stats like subscriber count, post count, and collects
  - `featuredPost` string — Featured post selector. Use 'latest' for the most recent post, 'popular' for the most-viewed post, 'disabled' to hide the featured slot, or the ID of a specific post in this publication.
  - `disableComments` union — Comment visibility. true disables all comments, false enables them, 'on-platform' hides on-Paragraph comments while keeping Farcaster comments.
    - boolean
    - 'on-platform'
  - `disableHighlights` boolean — Whether to disable highlights on posts
  - `enableTableOfContents` boolean — Whether the table of contents is enabled on posts
  - `enableSubscribePopup` boolean — Whether to show the subscribe popup to first-time visitors arriving from external links
  - `enableSubscribeScroll` boolean — Whether to show the subscribe popup when first-time visitors scroll a post
  - `pinnedPostIds` string[] — Ordered list of post IDs to pin to the top of the homepage. Each ID must belong to this publication. Replaces the existing pinned list. Maximum 50 IDs.
  - `emailNotifications` object — Owner-side email notification toggles
    - `newComment` boolean — Email the writer when someone comments on a post
    - `newSubscriber` boolean — Email the writer when a new free subscriber signs up
    - `newPaidSubscriber` boolean — Email the writer when a new paid subscriber signs up
    - `newContentCollected` boolean — Email the writer when someone collects their content

## Response `200`

Publication updated successfully — returns the updated publication

- object
  - `id` string, required — Unique identifier for the publication
  - `name` string, required — Display name of the publication
  - `ownerUserId` string, required — ID of the user who owns this publication
  - `slug` string, required — URL-friendly identifier for the publication; accessible at paragraph.com/@[slug]
  - `customDomain` string, uri — Custom domain configured for this publication
  - `summary` string — Brief description of the publication (max 500 characters)
  - `logoUrl` string, uri — URL to the publication's logo image
  - `postListType` 'feed' | 'grid' | 'full-post' — Homepage layout. 'feed' is a single-column list of cards, 'grid' is a 3-column grid, 'full-post' shows full posts in a single column.
  - `themeColor` 'default' | 'orange-500' | 'rose-600' | 'pink-500' | 'fuchsia-600' | 'purple-600' | 'violet-600' | 'indigo-600' | 'blue-600' | 'sky-600' | 'cyan-600' | 'teal-600' | 'emerald-600' | 'green-600' | 'lime-600' | 'yellow-700' | 'amber-600' | 'orange-600' | 'stone-800' | 'rose-900' | 'indigo-950' | 'teal-950' | 'lime-950' | 'orange-950' — Theme accent color for the publication
  - `headerFont` 'default' | 'serif' | 'mono' — Font family used for headers
  - `bodyFont` 'default' | 'serif' | 'mono' — Font family used for body text
  - `showMostPopular` boolean — Whether the 'most popular posts' widget is shown
  - `hideStats` boolean — Whether to hide stats like subscriber count, post count, and collects
  - `featuredPost` string — Featured post selector. Use 'latest' for the most recent post, 'popular' for the most-viewed post, 'disabled' to hide the featured slot, or the ID of a specific post in this publication.
  - `disableComments` union — Comment visibility. true disables all comments, false enables them, 'on-platform' hides on-Paragraph comments while keeping Farcaster comments.
    - boolean
    - 'on-platform'
  - `disableHighlights` boolean — Whether to disable highlights on this publication's posts
  - `enableTableOfContents` boolean — Whether the table of contents is enabled on posts
  - `enableSubscribePopup` boolean — Whether to show the subscribe popup to first-time visitors arriving from external links
  - `enableSubscribeScroll` boolean — Whether to show the subscribe popup when first-time visitors scroll a post
  - `pinnedPostIds` string[] — Ordered list of post IDs pinned to the top of the publication's homepage. Pinned posts render in their own section above the regular feed.
  - `emailNotifications` object — Owner-side email notification toggles
    - `newComment` boolean — Email the writer when someone comments on a post
    - `newSubscriber` boolean — Email the writer when a new free subscriber signs up
    - `newPaidSubscriber` boolean — Email the writer when a new paid subscriber signs up
    - `newContentCollected` boolean — Email the writer when someone collects their content

## Other responses

- `400` — Invalid request — check field values
- `401` — Invalid or missing API key
- `403` — API key does not have access to this publication
- `404` — Publication not found
- `500` — Internal server error

---

[API](https://skmtc.net/paragraph-xyz/apis/paragraph-api.md) · [All operations](https://skmtc.net/paragraph-xyz/apis/paragraph-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paragraph-xyz/paragraph-api/versions/7bbf1b62c1a0/schema)
