update_content
Update a content item's metadata in part: only the fields you provide are changed, leaving the rest untouched. Modify privacy, channels, cover, categories, or body widgets.
Instructions
Update a content item's metadata. Only provided fields are changed.
workspace_id: target workspace ID — get available IDs from list_workspaces()
privacy: "Preview", "Private", or "Public"
channels: list of channel IDs (replaces existing placement)
main_asset_id: ID of the primary playable asset
url: external URL to associate with the content
hub_profile_id: the owning hub profile. Optional — when omitted it is
resolved automatically from the content, so you normally do not pass it.
cover_image: http(s):// URL (or local path) of the cover; the URL PATH must
end in an image extension (.jpg/.png/...). Query strings are fine (signed
URLs work); an extension-less URL (e.g. placehold.co/600x400) returns 400.
categories: category assignment objects (REPLACES existing — to append,
read the content first and send the full list back)
context: the body — REPLACES the existing widget list. Same widget shapes
as create_content, camelCase keys: "Text"{content}; "LinkList"{links:[{$type,
title,url}]}; "Media"{assetId,autoplay}; "HubProfile"{hubProfileIds:[...]};
"ContentWidget"{referenceType,referenceIds:[{$type,id}]}. To append to the
current body, read it first (get_content_v2) and send the existing widgets
plus the new ones.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| name | No | ||
| context | No | ||
| details | No | ||
| privacy | No | ||
| channels | No | ||
| categories | No | ||
| content_id | Yes | ||
| cover_image | No | ||
| workspace_id | Yes | ||
| main_asset_id | No | ||
| hub_profile_id | No |