Skip to main content

Routes

The studio is reachable two ways, and every link in the product is built from one route table so the two never drift:

  • Standalone (NEXT_PUBLIC_APP_SURFACE=studio, the apiome-suite image at suite.apiome.dev): pages live at unprefixed routes — /workspace, /authoring/scribe.
  • Suite-embedded: the main app registers the same destinations under /ade/studio/* and /ade/authoring/*, which redirect into the standalone app. These are the routes the main app's suite dropdown, launcher cards and deep links use.

Design​

StandaloneSuite-embeddedPage
//ade/studioHome
/editor/ade/studio/editorClassic canvas — the Data Designer
/paths/ade/studio/pathsClassic canvas — the Paths editor
/code/ade/studio/codeCode and exports
/workspace/ade/studio/workspaceWorkspace
/workspace/settings/ade/studio/workspace/settingsWorkspace settings
/login—Sign in

/workspace exists only when the rollout flag is at preview or later; at only, /editor and /paths redirect into it. See Deploy the studio.

Hand-off query parameters​

Links between the classic canvas and the workspace carry their context in the URL, in this order:

ParameterCarries
projectIdThe selected project
versionIdThe selected version
domainThe workspace's domain-folder slug; the classic surfaces hand it back untouched, so a round trip returns to the same domain
lensThe lens to open — schemas, paths or combined. Only read by the workspace

The classic editor's own deep link is /editor?projectId=…&versionId=….

Authoring​

Every authoring route is nested under /authoring (standalone) or /ade/authoring (suite). Scribe and Slate sub-pages sit under their surface's route, so the surface's entitlement and nav state apply to them.

StandalonePage
/authoringAuthoring Overview
/authoring/guidesGuides
/authoring/changelogChangelog
/authoring/referenceReference gallery — not a suite destination
/authoring/scribeScribe workspace
/authoring/scribe/dashboardCoverage dashboard
/authoring/scribe/overviewProject coverage
/authoring/scribe/readmeREADME generator
/authoring/scribe/style-guideStyle guide
/authoring/scribe/stale-alertsStale alerts
/authoring/scribe/settingsScribe settings
/authoring/slateSlate
/authoring/slate/dashboardSite dashboard
/authoring/slate/themeTheme
/authoring/slate/navigationNavigation
/authoring/slate/content-blocksContent blocks
/authoring/slate/previewPreview
/authoring/slate/build-historyBuild history
/authoring/slate/exportExport
/authoring/slate/versionsVersions
/authoring/slate/domainCustom domain
/authoring/slate/settingsSite settings
/authoring/releasesReleases
/authoring/cacheCache
/authoring/securitySecurity
/authoring/edgeEdge
/authoring/insightsInsights

Backend-for-frontend​

The studio's /api/* routes are not pages; they forward to the services behind the Suite with a service bearer (Authentication):

RouteForwards to
/api/auth/*The main app's Better Auth handler, mounted in the studio
/api/llm/*Spire /v1/llm/{tenant}/* — generation, providers, settings, proposals, budget
/api/docs/*Spire /v1/docs/{tenant}/* — content, coverage, stale alerts, style guide
/api/sites/*Spire /v1/sites/{tenant}/* — Slate sites and builds
/api/slate/*apiome-rest /v1/slate/* — the Release Center's control plane
/api/rest/*apiome-rest
/api/ollama/*The Ollama server (OLLAMA_BASE_URL) — the canvas AI buttons and chat
/api/workspace/*, /api/classes/*, /api/paths/*, /api/projects/*, /api/versions/*, /api/properties/*, /api/tags/*, /api/primitives/*The studio's own handlers over apiome-rest and the database: the workspace's lenses, comment threads, try-it, mock, branches and tags