Skip to main content
Resolve a change whose outcome was lost

Authorizations

Authorization
string
header
required

LithoBlocks API key obtained from your organization dashboard. The LithoBlocks MCP server also presents a Supabase-issued user session token here on the user's behalf; such a token acts as that user with the scopes their organization role allows.

Headers

Idempotency-Key
string

Any unique string (a UUID is fine). Repeating a request with the same key and body within 24 hours replays the original response with Idempotency-Replayed: true instead of running again; the same key with a different body is a 409. Incomplete and 5xx outcomes are retained for reconciliation beyond 24 hours. Applies only on the documented endpoints. Never automatically change keys to bypass an uncertain outcome.

Required string length: 1 - 255
Example:

"3f7d2c1a-9b4e-4f0a-8c6d-2e1b5a7c9d10"

Path Parameters

id
string<uuid>
required

Body

application/json

Whether the change reached Slack

applied
boolean
required

Whether the change reached Slack: look at the message there. true records it as done; false leaves the message as it was.

Response

The message, as now recorded

id
string<uuid>
required

LithoBlocks' id for the message; send responses return it as message_id.

template_id
string<uuid> | null
required

Null once the template has been deleted.

template_name
string | null
required

The template's name when the message was sent.

template_version_id
string<uuid> | null
required
workspace_id
string
required

The Slack workspace (team) id.

channel_id
string | null
required

The resolved channel; a D… id for a direct message.

channel_name
string | null
required

The channel's name when the message was sent, without the #. Null for direct messages, private channels and messages sent before 2026-10-22.

message_ts
string
required

Slack's timestamp for the message.

recipient_email
string | null
required
recipient_slack_id
string | null
required
sent_at
string
required
sent_by
string<uuid>
required

The user the send is attributed to; for an API key, the key's owner.

sender_api_key_id
string<uuid> | null
required
sender_client_id
string | null
required

The OAuth client a session token was issued to, e.g. an MCP client.

source
enum<string> | null
required

How it was sent. Null for messages sent before 2026-10-22.

Available options:
api,
api_bulk,
web,
scheduled,
digest,
slash
reference
string | null
required

The caller's own handle for the message, if it gave one.

lifecycle
enum<string>
required

What has happened to the message in Slack since it was sent.

Available options:
live,
deleted,
expired
revision
integer
required

Increments with every change; a change names the revision it was made against.

edited_at
string | null
required
deleted_at
string | null
required
expired_at
string | null
required
change_state
enum<string>
required

needs_reconciliation: Slack's answer to a change was lost, and a person must say whether it went through before anything else can change.

Available options:
idle,
in_progress,
needs_reconciliation
pending_action
enum<string> | null
required
Available options:
edit,
rerender,
interaction_update,
delete,
expire
fallback_text
string | null
required

The notification text sent with the blocks.

text_editable
boolean
required

Whether the stored blocks are exactly what Slack holds, so the text can be corrected in place.

expiration
object | null
required

The message's expiry, if one was ever set.