Skip to main content

MiniAppContext

The full context the host passes to the MiniApp during the handshake. It is returned from app.init() and available via app.getContext().

MiniAppUser

number
required
The user’s internal ID in Exode. For an unauthenticated visitor (a page with the “Available without login” option) it is 0, and the other fields are empty.
string | null
The user’s public UUID.
string | null
The user’s first name.
string | null
The user’s last name.
object | null
Avatar: id and links in three sizes, small, medium, maximum (each string | null).
string | null
The user’s email.
string | null
The user’s phone number.
string
required
Role: Student, Tutor, Parent, etc.
string | null
Interface language: en, ru, uz, qa.

MiniAppTheme

MiniAppConfig

Platform

native means Exode is running inside a native shell (for example, an iOS/Android app). Otherwise it is web.

school

The school field contains the school’s public data used by the Exode app itself (for example, name, domain, preferenceSettings). The SDK types it as Record<string, unknown>: the set of fields is not fixed by the contract, so check that the field you need is present before using it.

Host events (MiniAppEventMap)

Sent by the host when data changes. The MiniApp subscribes via app.on(event, handler).
The context:updated event is applied to the internal cache automatically. Other events do not update the app.getContext() cache; see Getting the current context.

MiniApp → host commands (MiniAppCommandMap)

Called via the app.route and app.ui namespaces.
minimize collapses the app window and works only for pages with the “Floating window”, “Side panel” or “Fullscreen” window type (see Custom pages). For the “Page” type the command does nothing. A collapsed window is not unloaded: the iframe stays alive, its state is preserved, and the app receives visibility:changed with visible: false.

BridgeMessage

The low-level postMessage message format. You usually do not need it, but it is useful for debugging.
Do not send postMessage manually. All valid interactions go through the ExodeMiniApp methods: only they guarantee a correct handshake, requestId and origin validation.

Importing types


Updated: 2026-09-28 05:04 UTC