What are Apps?
Runtype Apps let you take a static web app (HTML, CSS, and JavaScript) and deploy it to a real URL in seconds. Each app gets its own hostname on runtype.run, and everything dynamic (AI chat, flows, agents) comes from Runtype APIs through a client token that Runtype provisions and manages for you. There is no backend to run, no API keys in the browser, and no separate hosting setup.
Runtype Apps is in early access and rolling out in stages. Four surfaces are available now: the
REST API, the Runtype CLI (runtype apps), the MCP tools, and the dashboard Apps page. The
serving edge ships separately, so a deployed app may not serve traffic yet in every environment.
How apps work
An app is a versioned bundle of static files plus a small manifest. Deploying is a three-step cycle:
- Create the app. You choose a slug, and Runtype assigns the hostname
{slug}-{shortId}.runtype.run. The short id is a random suffix that keeps hostnames unique. - Upload a version. You upload a zip of your built app. The bundle must contain
index.htmland aruntype.app.jsonmanifest at the root. Uploading does not change what is served. - Activate the version. Activation flips the app’s active-version pointer. Rolling back is the same operation: activate an older version.
Because activation is a pointer flip, deploys and rollbacks are instant. Every version you upload stays in the version history until you delete the app.
Your app’s URL
Apps serve from https://{slug}-{shortId}.runtype.run. Slug rules:
- Lowercase letters, digits, and hyphens only
- Must start with a letter (digit-prefixed hostnames are reserved for sandbox previews)
- No leading or trailing hyphen
- Up to 40 characters
Custom domains are not available in early access.
The manifest
Every bundle includes a runtype.app.json file that declares what the app is and which Runtype capabilities it uses:
capabilitieslists the flows and agents your app’s frontend can call. Runtype validates at upload that every id exists and belongs to you.datadeclares record namespaces the app intends to read or write. The app data API that uses these grants is coming in a follow-up.authmust be"none"in early access. The values"optional"and"required"are reserved for Log in with Runtype and are rejected at upload.
For the full field reference, see Deploying Runtype Apps.
The app client token
When you create an app, Runtype auto-provisions a client token locked to the app’s own origin. On every activation, the token’s scope is synced to the active manifest’s flows and agents. Your bundle never hard-codes credentials: at serve time, the edge injects a public boot config (window.__RUNTYPE_APP__) containing the client token, the API base URL, and the app and version ids. Rotating the token never requires a redeploy.
To learn how client tokens work in general, see Client tokens and domain restrictions.
Visibility and status
New apps default to unlisted. Public visibility requires a paid plan.
Plan limits
Requests that exceed a plan limit return 402 with an actionable error message. Every bundle is also capped at 500 files, and 50 MB is a hard ceiling on every plan.
Next steps
- Deploying an app walks through the create, upload, and activate workflow
- Deploying Runtype Apps is the full developer reference: manifest fields, bundle rules, and API examples
- What are Flows? covers the workflows your app can call
- What are Agents? covers the agents your app can call
- Billing and plans lists per-plan app limits