Create LinkedIn post
Publish ONE feed post under the account’s own identity (wire create-post). Public and irreversible through this API: there is no delete verb here. Identity-bound: linkedin_account_sid REQUIRED, spends the posting bucket (the tightest write limit, 1200 s between posts), saturation returns 429. text is REQUIRED as a key but may be an EMPTY string when an image is attached; a call with neither non-blank text nor an image is a 422. At most ONE image, base64 only, no fetch-by-url. Body and alt text are published byte for byte, blank lines included. Nothing is stored here: the response carries the published post (urn, url, time, the body LinkedIn kept) plus the activity-log row.
Contract:
- MCP tool
create_linkedin_post, registry packagemcp.linkedin/linkedin_posting, mountlinkedin.content. - Operation
action, response envelopeaction. - Flags: dangerous: the MCP layer gates it behind a preview/commit token, and the effect cannot be undone through this API.
Authorizations
Access token issued by gtm.service.id. Its access_identity claim carries team_sid, actor_sid and actor_type, and that team scope is authoritative.
Team scope for tokens that do not carry one. Ignored when the token already names a team.
Body
Request body of create_linkedin_post.
LinkedIn account sid (ln_ac_…), the authoring account. Identity-bound: REQUIRED, posts publish AS this account.
18^ln_ac_Post body, always present. Empty is legal ONLY alongside an image. 3000 is LinkedIn's own cap, refused here rather than burning a posting slot.
3000At most one image. The wire refuses a second, so a longer array is a 422 here instead of a spent browser dispatch.
1ANYONE (the node default) or CONNECTIONS_ONLY. Omit to let the node apply its own default.
ANYONE, CONNECTIONS_ONLY Who may comment: ALL (the node default), CONNECTIONS_ONLY, or NONE to disable comments.
ALL, CONNECTIONS_ONLY, NONE