Skip to main content
Schedule a message

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"

Body

application/json

The message to schedule

template_id
string<uuid>
required
data
object
required

Values for the template's placeholders (its request_format)

destination
object
required
schedule
object
required
recurrence
object

Repeat every interval_minutes from the previous send until max_repeats or end_at

delivery_conditions
object
follow_live
boolean

true sends whatever version of the template is live at send time, recurring sends included. Omitted or false, the message is pinned to the version live now, as it always has been

expiration
object

Expire the message: replace it with a notice, or delete it. Precise to about a minute; a button clicked after the deadline does nothing even before the message is replaced.

Response

Scheduled

id
string
required
status
enum<string>
required
Available options:
scheduled,
processing,
sent,
failed,
cancelled,
expired
template_id
string | null
required
template_version_id
string | null
required

The version this message is pinned to. null sends whatever version is live when it sends (follow_live); a legacy policy-driven message with no pin of its own uses its policy's

queue_policy_id
string | null
required

Set on legacy policy-driven messages only

destination
object
required
data
object
required
schedule
object
required
recurrence
object | null
required
repeat_count
integer
required
delivery_conditions
object | null
required
max_delay_at
string | null
required
expiration
object | null
required

The schedule's own expiry for each message it sends; the template's default and maximum apply too

source
string
required
error_message
string | null
required
created_at
string
required
processed_at
string | null
required