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
  • Unknown or removed settings are rejected. The legacy disableHighlights setting is no longer supported and must be removed from requests.
  • 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.

Authorization

apiKey
headerAuthorizationBearer <token>

API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.

Path Parameters

publicationId*string

Unique identifier of the publication to update

Request Body

Body

application/json
  1. body
name?string

Display name of the publication

Length1 <= length <= 100
summary?string

Brief description of the publication (max 500 characters)

Lengthlength <= 500
postListType?string

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.

Value in"feed""grid""full-post"
themeColor?string

Theme accent color for the publication

Value in"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"
headerFont?string

Font family used for headers

Value in"default""serif""mono"
bodyFont?string

Font family used for body text

Value in"default""serif""mono"
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.

Length1 <= length
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?array<>

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.

Itemsitems <= 50
emailNotifications?

Owner-side email notification toggles

Response Body

Publication updated successfully — returns the updated publication

application/json
  1. response
id*string

Unique identifier for the publication

name*string

Display name of the publication

ownerUserId*string

ID of the user who owns this publication

slug*string

URL-friendly identifier for the publication; accessible at paragraph.com/@[slug]

Length1 <= length <= 256
customDomain?string

Custom domain configured for this publication

Formaturi
summary?string

Brief description of the publication (max 500 characters)

Lengthlength <= 500
logoUrl?string

URL to the publication's logo image

Formaturi
postListType?string

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.

Value in"feed""grid""full-post"
themeColor?string

Theme accent color for the publication

Value in"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"
headerFont?string

Font family used for headers

Value in"default""serif""mono"
bodyFont?string

Font family used for body text

Value in"default""serif""mono"
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.

Length1 <= length
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?array<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?

Owner-side email notification toggles

curl -X PATCH "https://example.com/v1/publications/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "name": "string",  "ownerUserId": "string",  "slug": "string",  "customDomain": "http://example.com",  "summary": "string",  "logoUrl": "http://example.com",  "postListType": "feed",  "themeColor": "default",  "headerFont": "default",  "bodyFont": "default",  "showMostPopular": true,  "hideStats": true,  "featuredPost": "string",  "enableTableOfContents": true,  "enableSubscribePopup": true,  "enableSubscribeScroll": true,  "pinnedPostIds": [    "string"  ],  "emailNotifications": {    "newSubscriber": true  }}