messages:write.
Send
Idempotency-Key is required on every send. See
Idempotency before you write retry logic.
Response 201:
conversation_id is dm_… for a direct message, or the grp_… / chn_…
you sent to. Keep it — you’ll want it for edits, and it’s what interaction
callbacks reference in a later phase.
Edit
{ "text": "…", "blocks": […], "metadata": {…} }. text is
required. blocks replaces the stored blocks — leave it out to clear
them. metadata, if present, is merged key-by-key into what’s already
stored (it doesn’t replace it). to, thread_id and unfurl_links are
ignored; you can’t move a message after sending it. You can only edit
messages your own bot sent.
200
Delete
200 {"ok": true}, or 404 message_not_found if it’s already gone
— treat both as success. This works even after your bot was removed from
the conversation. Deletion removes the message’s content immediately from
every client and API; see Data & security.
Errors specific to sending
Full table on Errors.