*Social Media Manual — [index](../MANUAL.md)*

# 9. Published posts

Once a publication has a `succeeded` result on an account, the live post on the platform can
be read back, edited where the platform allows it, or taken down. All three take
`publication_id` and `account_id`, because one publication may have gone to several accounts.

## Reading back

`social_get_published_post` (viewer or above). Reply:

| field | meaning |
|---|---|
| `live` | the platform still has the post |
| `remote` | what the platform reports: text, url, published_at (null when `live` is false) |
| `external_id`, `url` | the platform's id and the public link |
| `can_edit`, `can_delete` | what the next two tools would be allowed to do on this platform |

A post removed on the platform side (by the user, in the app) reads back as `live: false`;
the connector does not change its own records for that. `NOT_PUBLISHED` means there is no
succeeded attempt for that publication on that account; `social_get_publication` shows what
happened instead.

## Editing text

`social_update_published_post` with the new `text`. **Facebook only**; Instagram and X do not
allow editing a live post and answer `CAPABILITY_UNSUPPORTED` with the advice to delete and
republish. The new text is checked with the preview rules first (`CONTENT_INVALID`). Media and
links are not editable; publish a new post for that.

Who may: the account owner, or an editor who holds an active authorization covering the post
on that account (chapter 3). Otherwise `AUTHORIZATION_REQUIRED`.

## Taking a post down

`social_delete_published_post` removes the post on the platform. Same permission rule as
editing. The attempt is marked `deleted`; later reads of it answer `NOT_PUBLISHED`. The draft
and the publication record stay for history. Archiving the draft (chapter 6) does **not**
remove live copies; this tool does.

## The change log

Every edit and deletion is appended to the publication's `evidence.changes[]` with the kind,
the account, who did it (principal), the request id, the new text for edits, and the time.
`social_get_publication` returns it.

## When the credential is dead

All three tools open a platform session first. If the account's credential no longer works
they answer `RECONNECT_REQUIRED` and the account's health becomes `reconnect_required`; the
owner must reconnect (chapter 4) before the post can be reached again.
