Skip to content

Update Content Sources

PUT
/org/content-sources

REPLACE the content sources. Anything omitted is deleted.

At most one owned source may be primary, and setting it moves the org’s primary website - which changes what future Studio documents are generated about. That is the widest side effect on this route.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Mirrors UpdateContentSourcesRequest.

REPLACES the whole list. There is no partial update: send every source you want to keep, or it is removed.

object
sources
required

The complete set of content sources. Anything omitted is deleted.

Array<object>

Mirrors campaign_builder.routers.org_settings.ContentSourceItem.

extra="forbid" matches the app: a typo’d key on a content source is a silently ignored instruction otherwise, and the list is REPLACED wholesale on every write, so a dropped key is a dropped source.

object
primary

Owned types only. The single primary website, mirrored to the org’s primary_website_url. At most one source may set it.

boolean
type
required

website/blog/docs/developers are properties you OWN; linkedin/reddit/twitter are external channels.

string
Allowed values: website blog docs developers linkedin reddit twitter
url
required

Full URL - the site URL for an owned property, the profile URL for an external channel.

string

Responses

200

Successful Response

object
data
required

An open envelope for one settings block, document or brand artefact.

OPEN on purpose. These surfaces are configuration and generated content, and both grow: a new toggle on a settings block or a new field on a generated document must reach a caller on the day it ships, not on the day somebody remembers to widen a mirror. A closed response model here would silently DROP the new key, which reads to the caller as “the product does not have that setting”.

The request side is the opposite and is mirrored exactly - see the module docstring for why the asymmetry is deliberate.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string