Create deployment
INTERNAL - This endpoint is internal and may change without notice. Not recommended for production use.
Creates a new deployment for a project using either a pre-built Docker image or build context.
Authentication: Requires a valid root key with appropriate permissions.
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
Create a deployment from a pre-built Docker image
Project slug
1"my-project"
App slug within the project
1"default"
Git branch name
1"main"
Environment slug (e.g., "production", "staging")
1"production"
Docker image reference to deploy
1"ghcr.io/user/app:v1.0.0"
Optional keyspace ID for authentication context
"key_abc123"
Optional git commit information
Response
Deployment created successfully