Skip to content

Routes

The gateway recognizes a fixed set of URL grammars, dispatched in a precise order. Earlier matches win — that is how /healthz is reserved before any app can claim it.

Every route below is classified against the substrate's closed list of allowed HTTP boundaries (see P1.43):

  • Boundary — on the closed list. Permanent.
  • Projection — read-only view of a bus actor for non-bus-aware external clients (CI scripts, third-party monitors). Internal substrate consumers MUST use the bus authority.
  • Migrating — currently a projection that is being retired or relabelled.

Pages

Dispatch order

#PathHandlerClassBus authority
1/healthzonHealthBoundaryn/a (liveness)
2/onRootRedirectBoundaryn/a
3/api/identity/bootstraponBootstrapBoundaryissues credentials
4/api/identity/nats-credsonNatsCredsBoundaryissues credentials
5/oauth/<provider>/callbackonOauthCallbackBoundarysystem.auth
6matchesPlatformSurface(path)onPlatformSurfaceMixedvaries
7/api/appsonAppsMigrating (projection of system.catalog)system.catalog
8/api/configonConfigProjectionsystem.gateway.http.config
9/nats-wsonNatsWsPlainHttp (or upgrade)Boundaryn/a
10/favicon.ico, /manifest.json, /branding/*onBrandingAssetBoundarystatic
11/edge or /edge/...302 → /apps/edge/...Boundaryn/a
12/<publicNamespace>/<appName>/...onPublicNamespaceWebappBoundarysystem.gateway.http
13/<spacePath>/<appName>/...onRouteKeyWebappBoundarysystem.gateway.http
14/<email>/<appName>/...onExplicitAuthorityWebappBoundarysystem.gateway.http
15/apps/<appName>/...onWebappBoundarysystem.gateway.http
16/api/statusonStatusMigrating (projection of system.runtimes)system.runtimes
17/api/host/stoponStopMigratinghost.control
18/api/runtimes (GET/POST)onRuntimes / onRuntimeRegisterMigratingsystem.runtimes
19/api/runtimes/startonRuntimeStartMigratinghost.control
20/api/runtimes/stoponRuntimeStopMigratinghost.control
21otherwiseonNotFoundn/a

The dispatch loop is MatrixHostHttpGatewayServer._dispatch in projects/matrix-3/packages/system-gateway-http/src/http-listener.ts.

Status: migration in progress. Endpoints marked Migrating still serve compatibility projections. Internal substrate consumers (matrix-web dashboard, navbar, catalog, setup wizard, matrix-edge, agents, proof scripts) MUST migrate to the named bus authority. New code never calls these endpoints; it calls the bus actor.

Source: projects/matrix-3/packages/system-gateway-http/src/http-listener.ts, projects/matrix-3/packages/system-gateway-http/src/http-routing.ts, P1.43.