Skip to navigation

Public Surface

Not every HTTP route or MCP server is a public app integration surface. Use this page to choose the right boundary.

Public and supported

SurfaceStatusUse
Generated Runtime RESTPublic generated app APIExternal systems execute commands, read projections, import events, and rebuild projections when authorized.
Generated OpenAPIPublic generated app contractCanonical REST contract for one published app.
GraphQL runtime APIPublic generated app APIUI-friendly command mutations and projection queries.
Runtime MCPPublic agent integrationPublished app operation by agents.
Hosted Custom Page SDKPublic host-provided page contractCustom Pages import @ces/app-sdk for authenticated data, files, agent selection, chat, and navigation without handling tokens; the SDK contract declares each hook’s runtime-source behavior.
Public Custom Page SharePublic no-login page surfaceExternal visitors open chrome-free custom pages under /public/p/{appId}/{shareId}/...; SDK reads and commands use the public page API as a constrained public principal.
WebhooksPublic inbound integrationExternal events mapped into commands.
SubscriptionsPublic outbound integrationEvent delivery to external consumers.

Builder and identity surfaces

SurfaceStatusUse
Builder UIBuilder appHuman design and operation workflow.
Design MCP read-onlyBuilder/agent onboardingApp inspection, reference lookup, review, and PRD work.
Design MCP fullTrusted builder automationWorkspace edits, validation, page preview, changesets, and promotion.
OAuth routesPublic auth infrastructureMCP OAuth discovery, consent, token, refresh, and client registration.

Limited support surfaces

SurfaceStatusUse
Adapter call routePlatform-managed supportPolicy and workspace-controlled calls to configured external services. Not the normal external app API.

Promotion rule

If a surface is intended for external consumers, it needs a documented contract, auth story, error behavior, versioning plan, and smoke test. Otherwise keep it builder-only or platform-managed.

Public custom page shares are enabled through Workspace page metadata and become reachable only after the ChangeSet is promoted to production. Treat the generated shareId as a revocable bearer URL. Projection and command access still depends on explicit model authRules; resources without public-share authorization are not exposed through the public page API.

The Hosted Custom Page SDK and Runtime REST are different supported boundaries. The SDK receives auth and runtime source from the page host. External frontends and BFFs use the generated OpenAPI and Runtime REST and must not call platform-internal Custom Page routes.