Posts
Attach existing asset
Attach an Asset Library file to a draft or scheduled post.
POST
Reuses a file already in the Asset Library. Nothing is uploaded. For a new file, use
POST /posts/{post}/media or POST /posts/{post}/media/from-url.
Owner, Admin, and Member can call this. Viewers get 403.
Find IDs with GET /assets. MCP: attach-existing-asset-tool.
Path parameters
string
required
Post UUID. Must belong to this workspace. Otherwise
404.Body parameters
string
required
Asset UUID from
GET /assets. Must be a UUID. Missing, other-workspace, logo, or avatar IDs return 422 on asset_id: Asset not found.string
Optional image alt text. Max 2000 characters. Ignored for video and PDF.
- Send a non-empty
altto replace the libraryalt_texton this attachment. - Omit
alt, or sendnull/"", to keep the library item’s existingalt_text.
Behaviour
- The post must be
draftorscheduled. - The file type must be allowed by every enabled platform on the post. If no platform is enabled, any type is allowed. Example: a post that only targets TikTok video rejects an image (
422onasset_id:This file type is not supported by the platforms enabled on the post.). - Calling again with the same
asset_iddoes nothing: no duplicate, andaltis not updated. - The post stores a copy of the library fields (
id,path,url,type,mime_type,original_filename,size, andmetawhen the library had any). If the librarymetais empty, the post item has nometakey. The file on disk is shared — the same path as the library item.
Errors
Response
The updated post, same shape asGET /posts/{post}. The library item is now in media[].

