Publish community content (including articles)
Creates a community post. type=ARTICLE requires title and body (Markdown) and builds a slug unique per organization (manual via slug, or derived from title if omitted); type=TEXT/IMAGE require content or imageUrl, same as the dashboard composer. Unlike the dashboard, this path does NOT resolve the link’s Open Graph snapshot (link is always null in the response). Minimum role ADMIN, like every other POST in /api/v1. If the workspace has the community_v2 flag enabled, publishing enqueues a notification to members in the same transaction; with a future publishedAt, the notification goes out when the post is published. The response does not change.
/content/postsAuthorizationAPI key · headerrequiredAPI key prefixed with Bearer . Alternative: the x-api-key header with the raw key. Available scopes: read and write (see /.well-known/oauth-protected-resource).
x-api-keyAPI key · headerrequiredRaw API key (without Bearer ), alternative to Authorization.
X-Workspace-IdstringActive workspace to operate on. Optional: when omitted, the default workspace of the user who owns the key is used (pickActiveOrg).
application/jsontypestringrequiredTEXTIMAGEARTICLEcontentstringimageUrlstring<uri> | nullShow propertiesHide properties
string<uri>nulltitlestringRequired when type=ARTICLE.
subtitlestring | nullShow propertiesHide properties
stringnullslugstring | nullManual; if omitted it is derived from the title.
Show propertiesHide properties
stringnullbodystringMarkdown. Required when type=ARTICLE.
lockedbooleanrequiredtrue = restricted to current members.
eventIdstring | nullShow propertiesHide properties
stringnullpublishedAtstring<date-time>OK
dataContentPostrequiredShow propertiesHide properties
idstringrequiredtypestringrequiredTEXTIMAGEVIDEOARTICLEcontentstring | nullrequiredShow propertiesHide properties
stringnullimageUrlstring | nullrequiredARTICLE post: also serves as the article's cover image.
Show propertiesHide properties
stringnullvideoIdstring | nullrequiredVIDEO post: id of the ContentVideo, to cross-reference with GET /content/videos.
Show propertiesHide properties
stringnulleventIdstring | nullrequiredShow propertiesHide properties
stringnulllockedbooleanrequiredtrue = post restricted to current members; its content arrives redacted.
titlestring | nullrequiredARTICLE posts only; null for every other type.
Show propertiesHide properties
stringnullsubtitlestring | nullrequiredARTICLE posts only.
Show propertiesHide properties
stringnullslugstring | nullrequiredARTICLE posts only. Permalink at /comunidades/articulos/{slug}, unique per organization.
Show propertiesHide properties
stringnullbodystring | nullrequiredARTICLE posts only. Body in Markdown.
Show propertiesHide properties
stringnullreadingMinutesinteger | nullrequiredARTICLE posts only. Not redacted when locked: it does not leak content, only its length.
Show propertiesHide properties
integernulllinkobject | nullrequiredOpen Graph snapshot of the first link in the text. Always null for ARTICLE posts.
Show propertiesHide properties
urlstringrequiredtitlestring | nullrequiredShow propertiesHide properties
stringnulldescriptionstring | nullrequiredShow propertiesHide properties
stringnullimageUrlstring | nullrequiredShow propertiesHide properties
stringnulldomainstringrequirednullcommentsCountintegerrequiredVisible comments: excludes deleted ones and those hidden by moderation (and replies to a hidden comment). 0 if the post arrives redacted.
publishedAtstringrequiredMissing or invalid credential.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequiredretryablebooleanrequireddetailsanyInsufficient role or resource not accessible.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequiredretryablebooleanrequireddetailsanyResource does not exist or is out of scope.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequiredretryablebooleanrequireddetailsanyRequest body/parameter validation failed.
errorobjectrequiredShow propertiesHide properties
codestringrequiredmessagestringrequiredretryablebooleanrequireddetailsany
