Update publication settings
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
disableHighlightssetting is no longer supported and must be removed from requests. - Set
featuredPostto"latest","popular","disabled", or a specific post ID. The post must belong to this publication. pinnedPostIdsreplaces 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.emailNotificationsis merged onto the current settings; only the toggles you send are changed.
apiKeyAuthorizationBearer <token>API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.
publicationId*stringUnique identifier of the publication to update
Body
application/json- body
name?stringDisplay name of the publication
1 <= length <= 100summary?stringBrief description of the publication (max 500 characters)
length <= 500postListType?stringHomepage layout. 'feed' is a single-column list of cards, 'grid' is a 3-column grid, 'full-post' shows full posts in a single column.
"feed""grid""full-post"themeColor?stringTheme accent color for the publication
"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?stringFont family used for headers
"default""serif""mono"bodyFont?stringFont family used for body text
"default""serif""mono"showMostPopular?booleanWhether to show the 'most popular posts' widget
hideStats?booleanWhether to hide stats like subscriber count, post count, and collects
featuredPost?stringFeatured 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.
1 <= lengthenableTableOfContents?booleanWhether the table of contents is enabled on posts
enableSubscribePopup?booleanWhether to show the subscribe popup to first-time visitors arriving from external links
enableSubscribeScroll?booleanWhether 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.
items <= 50emailNotifications?Owner-side email notification toggles
Publication updated successfully — returns the updated publication
application/json- response
id*stringUnique identifier for the publication
name*stringDisplay name of the publication
ownerUserId*stringID of the user who owns this publication
slug*stringURL-friendly identifier for the publication; accessible at paragraph.com/@[slug]
1 <= length <= 256customDomain?stringCustom domain configured for this publication
urisummary?stringBrief description of the publication (max 500 characters)
length <= 500logoUrl?stringURL to the publication's logo image
uripostListType?stringHomepage layout. 'feed' is a single-column list of cards, 'grid' is a 3-column grid, 'full-post' shows full posts in a single column.
"feed""grid""full-post"themeColor?stringTheme accent color for the publication
"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?stringFont family used for headers
"default""serif""mono"bodyFont?stringFont family used for body text
"default""serif""mono"showMostPopular?booleanWhether the 'most popular posts' widget is shown
hideStats?booleanWhether to hide stats like subscriber count, post count, and collects
featuredPost?stringFeatured 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.
1 <= lengthenableTableOfContents?booleanWhether the table of contents is enabled on posts
enableSubscribePopup?booleanWhether to show the subscribe popup to first-time visitors arriving from external links
enableSubscribeScroll?booleanWhether 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 }}