June 26, 2026
New features
Stop and start apps, and auto-sleep previews
Apps can now be stopped and started, and preview environments automatically scale to zero when idle so you don't pay for traffic that isn't there. See Deployments.
HTTP API for projects and apps
The Unkey HTTP API now covers projects and apps end to end. New endpoints let you create, get, list, update, and delete projects, and create and get apps — so you can script workspace setup the same way you script keys and identities.
MFA is now avaiable
You can now enroll in multi-factor authentication when signing in to the dashboard, with a unified enrollment flow.
Scope portal-created keys by external ID
Keys created through a portal session are now automatically scoped to the session's external ID, so portal users can only mint keys against their own identity.
Updates
Domain Connect returns you to the app
After completing a Domain Connect DNS setup, you now land back on the app settings page where you added the domain instead of project settings.
Build logs focus on the failing step
When a deployment fails, the build logs viewer now auto-scrolls to the step that errored so you don't have to hunt for it.
Bug fixes
- Patched two SSRF paths — one through HTTP redirects and one through the proxy to the API.
- Blocked a cross-tenant deletion path on shared resources.
- Identity creation no longer permanently blocks reusing an external ID after the previous identity was deleted; soft-deleted rows are now ignored by the duplicate check.
- Fixed the ratelimit origin circuit breaker so transient origin errors no longer wedge it open.
- The app overview "requests this week" chart now spans the full labeled time window instead of contracting to ~24h, and its request rate is no longer inflated by an over-eager client-side downsample.
- List search inputs are debounced and filter IDs are stable, so typing no longer thrashes the URL or re-runs queries on every keystroke.
- Cleaned up several visual rough edges in the new sleep/stop UI components.
- Improved Sentry error capture so dashboard exceptions carry more useful context.