Stop deployment
Stop a running deployment that is not the app’s live production deployment.
Stopped deployments keep their configuration. Preview deployments can be
resumed later with startDeployment.
The deployment must be ready and running. Previous production deployments can be stopped, but stopping one removes instant rollback to it. A deployment that is already draining from a previous stop is rejected with a precondition error.
Stopping is asynchronous: this endpoint only enqueues the stop and returns
immediately. Poll getDeployment until the status reaches stopped.
Required Permissions
Your root key must have write permission on the deployment:
unkey:v1:<workspace_id>:projects/<project_id>/apps/<app_id>/environments/<environment_id>/deployments/<deployment_id>#write
Authorizations
Unkey uses bearer tokens for authentication. Public integrations use root keys, while the dashboard proxy uses short-lived JWTs. To authenticate, include the token in the Authorization header of each request:
Root keys have specific permissions attached to them, controlling what operations they can perform. Legacy permissions use tuple strings like api.*.create_key; resource permissions use Unkey Resource Names plus actions, like unkey:v1:ws_123:keyspaces/*#create_key.
Security best practices:
- Keep root keys secure and never expose them in client-side code
- Use different root keys for different environments
- Rotate keys periodically, especially after team member departures
- Create keys with minimal necessary permissions following least privilege principle
- Monitor key usage with audit logs.
Body
Response
Stop accepted and enqueued. The deployment transitions to stopped
asynchronously; poll getDeployment to observe the transition.