Messages rendered inside your app rather than by the OS: definitions and their lifecycle actions on the admin side, and the per-subscription fetch the SDK calls.
Fetch compiled in-app message HTML
The self-contained HTML document for one in-app message, with Liquid already resolved against the given device, a narrow native bridge, safe-area-aware placement and carousel page-change events.
subscription_id is required as a query parameter — the document is personalised, so there
is no device-less rendering of it.
path Parameters
app_idiam_idquery Parameters
subscription_idFetch compiled in-app message HTML › Responses
A self-contained HTML document
List in-app messages
In-app message definitions for one app with per-tab counts and a total.
status filters by lifecycle tab; omit it for all. The page is capped at 100 rows.
path Parameters
app_idquery Parameters
statusList in-app messages › Responses
Definitions, per-status counts and the total
Create an in-app message
Creates an in-app message definition — layout, blocks, triggers, audience,
dismissal, scheduling, frequency, and optional Liquid fields. It is created as a draft
unless the body sets live: true, in which case it is taken live in the same call.
path Parameters
app_idCreate an in-app message › Request Body
nameMessage name shown in the console and reports.
Structured cards and blocks for the block editor.
dismiss_modeHow the message closes.
Seconds before auto-dismissal.
editorStructured blocks or raw HTML editor.
Optional Unix end time.
Excluded segment names.
frequencyRedisplay policy.
HTML source, up to 256 KB, when editor is html.
Included segment names when target is segments.
layoutSupported in-app layout.
liveCreate and immediately take the message live.
Minimum seconds between redisplays.
Maximum displays when frequency is multiple.
Optional Unix start time.
targetAudience selection mode.
Rules that make the message eligible to show.
Create an in-app message › Responses
The new definition's id and lifecycle status
Read an in-app message report
One in-app message definition together with its report summary — impressions, clicks and the per-block engagement recorded from device receipts.
path Parameters
app_idiam_idRead an in-app message report › Responses
The definition and its report summary
Delete an in-app message
Deletes an in-app message definition. Drafts only — a definition that
has been live is archived rather than deleted, and asking to delete one is a 409.
path Parameters
app_idiam_idDelete an in-app message › Responses
Confirmation that the definition was deleted
Update an in-app message
Updates an in-app message definition. Only drafts are editable — lifecycle changes are explicit actions on the action route, never a field in this patch.
path Parameters
app_idiam_idUpdate an in-app message › Request Body
Structured cards and blocks for the block editor.
dismiss_modeHow the message closes.
Seconds before auto-dismissal.
editorStructured blocks or raw HTML editor.
Optional Unix end time.
Excluded segment names.
frequencyRedisplay policy.
HTML source, up to 256 KB, when editor is html.
Included segment names when target is segments.
layoutSupported in-app layout.
liveCreate and immediately take the message live.
Replacement message name.
Minimum seconds between redisplays.
Maximum displays when frequency is multiple.
Optional Unix start time.
targetAudience selection mode.
Rules that make the message eligible to show.
Update an in-app message › Responses
The updated definition
Run an in-app lifecycle action
Moves an in-app message along its lifecycle. action is exactly one of
set-live, pause, resume, end, archive or restore — those six values and
nothing else; anything else is 404 unknown in-app action.
Duplicating a definition and sending a test exist in the product but are console-only,
so POST …/duplicate and POST …/test are 404s here. A transition the message's current
status does not allow is a 409.
path Parameters
app_idiam_idactionRun an in-app lifecycle action › Responses
The message id and its new lifecycle status
Fetch in-app messages for a device
The in-app message definitions eligible for one device at the start of a
session — stable ids, placement, triggers, duration and redisplay rules, with either
resolved structured blocks or an html_path to fetch. Capped at the active definitions the
device qualifies for.
Called with the SDK key. On the shared sample app a bound device credential is required as
well, and a subscription that is not this device's reads as a 404.
path Parameters
app_idsub_idFetch in-app messages for a device › Responses
The in-app message definitions this device is eligible for