Concepts

Apps And Releases

How Userland app identity, immutable releases, activation, and rollback work.

For agents: Treat app_id as stable identity, account_id as the control-plane owner, and release ids as immutable deployment snapshots. Rollback moves the live pointer only.

Model

Publishing creates an app or release. The runtime origin is always https://<app_id>.apps.userland.fun/.

App names and summaries are mutable metadata. They are not routing identity.

Ownership

Apps are owned by platform accounts. API keys authenticate actor users; app creation and account app lists use the actor’s default account unless the CLI selects an account with --account, USERLAND_ACCOUNT_ID, or accounts use, or the API request sends X-Userland-Account-Id.

Existing app operations authorize against the app’s owning account membership. App-user auth roles inside the runtime do not grant CLI or control-plane API access.

Activation

Activation can be live, pending_secrets, or requires_migration. Non-live releases are stored but do not replace the live pointer.