Recommended workflow
To create and publish a post end-to-end:list-social-accounts-tool— discover connected accountslist-content-types-tool— discover validcontent_typeper platform with limitslist-pinterest-boards-tool(if targeting Pinterest) — resolveplatforms[].meta.board_idlist-discord-channels-tool(if targeting Discord) — resolveplatforms[].meta.channel_idcreate-post-tool— create the draft with content + chosen platforms +metaattach-media-from-url-tool(optional) — attach images or videos from public URLsrequest-media-upload-tool+attach-media-from-upload-tool(optional) — upload a local file when no public URL existspreview-post-tool(optional) — see how each platform will render before publishingpublish-post-tool— publish immediately or schedule for a future timeget-post-metrics-tool(after published) — fetch engagement metrics
Posts
Platforms (read-only)
Signatures
Labels
Social accounts
Workspace
API keys
Per-platform meta (MCP)
platforms[].meta uses the same keys as the REST API. Full tables, limits, and examples: Per-platform meta.
Quick checklist for agents:
Enum-like fields are JSON strings. Send
"privacy_level": "PUBLIC_TO_EVERYONE", not an integer or a renamed value. Unknown meta keys are dropped.Notes
- Workspace scoping — every tool operates on the user’s currently-selected workspace. To act on a different workspace, switch it in the TryPost UI (or, for personal API tokens, create a new key in that workspace).
- Roles — Viewers are read-only. They cannot create/update/publish posts, and they also cannot call compose helpers that gate on create-post permission — including
list-pinterest-boards-toolandlist-discord-channels-tool(error:Not authorized to manage posts.). Owner, Admin, and Member can. See Team. - Cross validation —
create-post-toolandupdate-post-toolreject mismatched combos (e.g.content_type=x_poston a LinkedIn account). Inactive social accounts are also rejected at validation time. - Destructive tools — operations that delete data or publish to the world (
publish-post-tool,delete-*) are markedIsDestructive, which lets the AI client (ChatGPT, Claude Desktop, etc.) prompt you for confirmation before executing. - Local-file uploads —
request-media-upload-toolreturns a single-use signed URL (default TTL 15 minutes).max_bytesis the video ceiling (default 1 GB); per-type caps are inmax_bytes_by_type(image / video / document). POST the file as multipart fieldmedia, then callattach-media-from-upload-toolwith the sameupload_token(optionalaltfor images). SeePOST /uploads/{token}. - Media alt text — image accessibility text lives on
media[].meta.alt_text, not onplatforms[].meta. Via MCP, set it withattach-media-from-url-tool(urls[].alt) orattach-media-from-upload-tool(alt). The REST create/update endpoints also acceptmedia[].meta.alt_textwhen hosting from URL. - No inline
media[]on MCP create/update — unlike RESTPOST/PUT /posts, the MCP create/update tools do not accept amediaarray. Always use the attach tools after create.

