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
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
The complete set of content sources. Anything omitted is deleted.
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
Owned types only. The single primary website, mirrored to the org’s primary_website_url. At most one source may set it.
website/blog/docs/developers are properties you OWN; linkedin/reddit/twitter are external channels.
Full URL - the site URL for an owned property, the profile URL for an external channel.
Responses
200
Successful Response
object
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
422
Validation Error