MiniAppContext
The full context the host passes to the MiniApp during the handshake. It is returned fromapp.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
Theschool 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 viaapp.on(event, handler).
MiniApp → host commands (MiniAppCommandMap)
Called via theapp.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-levelpostMessage message format. You usually do not need it, but it is useful for debugging.
Importing types
Updated: 2026-09-28 05:04 UTC