syndication

PUT /v1/syndication/posts/{postId}

Change a held post's copy before it goes out.

All syndication endpoints

All developer docs →

Authentication

Send an API key as a bearer token. The key must carry the syndication.manage permission; a key without it is refused with 403, not 404.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X PUT https://api.zinndigital.com/v1/syndication/posts/{postId} \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "text": <string> }'

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

⛔ Refused once the post has gone out — there is nothing to edit. The channel's character limit is enforced here, so a customer typing 400 characters into a Bluesky box is told while they are typing. Gated on syndication.manage.

Parameters

NameTypeRequiredWhat it is
postId (path)stringYes—

Request body

NameTypeRequiredWhat it is
textstringYes—

Response

NameTypeRequiredWhat it is
idstringYes—
channelstringYes—
connection_idstringYes—
connection_labelstringYes—
statusstring<drafting, awaiting_approval, queued, posted, failed, needs_reconnect, skipped>Yes⛔⛔ needs_reconnect is NOT failed. skipped means the customer said no or the connection was removed — nothing went wrong.
textstringYes—
remote_urlstringYesThe live post, read back from the channel where it returns one. ⛔ Empty where the vendor gives us nothing to build a URL from (a Slack incoming webhook answers the literal string…
droppedstring[][]Yes[[field, reason], …] — what this channel could not carry, and WHY. The reason travels: "no image endpoint" and "the upload was refused" are different problems with different…
errorstringYesA machine code, never a sentence.
cost_microsintegerYesWhat this post cost us, in USD micros. One line per channel per post.
character_limitintegerYes—
posted_atstringYes—

Errors this endpoint can return

401 · 403 · 404 · 422