List the mini apps
GET /v1/mini-apps — scope sessions:read
The mini apps in the template’s order, each with its pages and what it reads: every source bound on any of its pages, media_library for the library block, and posts_waiting where it lists posts waiting on a person (who can decide them from it). reads is derived from the declaration by the platform, never written by the template.
Read a page
GET /v1/mini-apps/{slug}?page={page} — scopes sessions:read, agents:read and files:read
A page shows agents, the board, routines, the setup’s answers, social handles and media, so a key
needs the scopes that guard those on their own routes. Spend also needs billing:read.
One page, read now on the company’s clock: the one page names, else the first. The answer is the
mini app’s summary plus networks (the template’s networks, each { platform, connected }, where
connected says whether a persona is connected to it and is null when that could not be read),
page (the slug that was read),
as_of, timezone and spec. spec is a flat map of elements under one Page: each element is
{ type, props, children? }, and each data slot is the source it names plus what was read, such as
{ "$source": "spend_total", "days": 14, "value": 4120000 }. Money is integer micro-USD.
A block that could not be read is an Unread element in its place, with the reason:
billing:read. An unknown mini app or page is not_found.