Substratal Apps Substratal Apps Hub specs
GitHub

Help Screens My apps

Launch app APP-03

Mint an app token (or authorization code) and open the app.

Who can use itActive entitlement
Where it is/apps/:appId/launch · link: https://hub.substratalapps.com/apps/:appId/launch or substratal://apps/:appId/launch
Available onWeb (PWA), iOS / iPadOS, Android, Windows, Linux (GNOME), macOS
PhaseMVP

What you can do here

  • Embedded launch — 200 AppToken (5-min JWT) → open launch_url with token per app contract; never cache the token. 403 → refresh status, show APP-02; embedded_login_not_allowed (a third-party, self-registered app) → hosted launch below, or open launch_url without a token while hosted_launch is off. 409 → choose org.
  • Hosted launch (Phase 3) — 201 → open redirect_uri?code=…&state=… in system browser / auth session

On your platform

AppStatusHow it's built
Web (PWA)—window.open (new tab) / same-tab redirect for PKCE
iOS / iPadOS—openURL / ASWebAuthenticationSession
AndroidPlannedCustom Tabs / Auth Tab
Windows—Launcher.LaunchUriAsync
Linux (GNOME)—GtkUriLauncher (OpenURI portal)
macOS—NSWorkspace.open / ASWebAuthenticationSession

Status is reported by each app's repository; — means that app doesn't report it yet.

For developers: API calls

MethodPathWhat it does
POST/auth/app-tokensMint a per-app JWT from a platform session (embedded login)
POST/auth/oauth/authorization-codesMint a one-time authorization code for a hosted launch (PKCE)

Every call sends Substratal-Version: 1. Paths are at the host root, with no /v1.

Full screen specification

Last updated 2026-10-24 · Built 2026-10-25 from a9ef3be · API 1.0.0-draft.13 · Substratal-Version: 1