Social posts tools
Connect a brand's social accounts, then draft, schedule and publish posts to them. Connecting an account happens on a settings page a person completes; posts stay drafts until they are published.
- get_social_connection_link
- list_social_accounts
- disconnect_social_account
- create_social_post
- update_social_post
- publish_social_post
- get_social_post
- list_social_posts
- cancel_social_post
- retry_social_post
get_social_connection_link
Return the brand's Social Settings URL. A human completes OAuth there; this call does not start OAuth.
platformenum- facebook | instagram | googlebusiness
teamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
list_social_accounts
List stable account IDs, network, health and supported formats. refresh performs bounded read-only checks.
refreshbooleanteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
disconnect_social_account
Fence an account, cancel pending remote targets and disconnect after cleanup. Repeated calls resume cleanup. Published posts remain published.
account_idstringrequiredteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
create_social_post
Create a local draft using a team-unique key, 1–3 account IDs and an optional owned image asset_id. Instagram requires an image. Never publishes implicitly. Identical key/payload replays are safe.
keystringrequiredcontentstringrequiredaccount_idsstring[]requiredasset_idstring | nulldefault nullcaption_overridesobject (any keys)default {}teamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
update_social_post
Edit a draft or confirmed scheduled post with expected_revision and request_id. Destinations are immutable after submission. target_ids repairs only mismatched scheduled targets using unchanged desired content/schedule; successful siblings are untouched.
post_idstringrequiredexpected_revisionnumberrequiredrequest_idstringrequiredcontentstringasset_idstring | nullaccount_idsstring[]caption_overridesobject (any keys)default {}scheduled_forstringtarget_idsstring[]teamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
publish_social_post
Submit a draft once per account. Supply expected_revision, request_id and exactly one of publish_now:true or scheduled_for with Z/UTC offset and at least two minutes lead. 202/pending means persisted work, not delivery. Reuse the same request_id/payload after a lost response.
post_idstringrequiredexpected_revisionnumberrequiredrequest_idstringrequiredpublish_nowliteral- true
scheduled_forstringteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
get_social_post
Read desired content, revision, per-account confirmed schedules/content, delivery URLs, operations and actionable errors. refresh reconciles read-only and never publishes.
post_idstringrequiredrefreshbooleanteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
list_social_posts
List posts including unscheduled drafts, filtered by status, account_id and absolute date range. Bounded pagination orders by schedule/creation.
statusenum- draft | scheduled | publishing | published | failed | partial | unknown | cancelled
account_idstringdate_fromstringdate_tostringlimitnumberoffsetnumberteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
cancel_social_post
Archive a draft or cancel pending provider destinations with revision and request ID. Published targets return already_published and are never unpublished. Inspect partial outcomes.
post_idstringrequiredexpected_revisionnumberrequiredrequest_idstringrequiredteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.
retry_social_post
Immediately publish selected definitively failed target_ids; this is publish-now, not rescheduling. Requires current expected_revision and a new request_id. Never retries successful, cancelled or uncertain targets; changed content requires a new draft.
post_idstringrequiredexpected_revisionnumberrequiredrequest_idstringrequiredtarget_idsstring[]requiredteamstringrequired- Brand/team to act on (slug or id) → X-Cadence-Team. Required — your account key authorizes every brand you own, so this picks which one.