Create deployment
Create a deployment for an app in a project.
Provide exactly one source:
image: deploy a prebuilt Docker image as-is (no build).git: build and deploy from the app’s connected GitHub repository, a branch, a specific commit, or a fork commit. Requires the app to have a repository connected.deployment: re-run an existing deployment by its id. Git-connected apps rebuild from the recorded commit; other apps reuse the recorded image.
Returns immediately with a deploymentId. The build and rollout run asynchronously — poll deployments.getDeployment to watch status until it is ready.
Authentication: requires a root key with permission to create deployments.
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
- Option 1
- Option 2
- Option 3
Create a deployment. Provide exactly one of git, image, or deployment.
Identifies a resource by either its unique ID or its slug. Accepts a prefixed ID (such as 'proj_' or 'app_') or a slug.
3 - 255^[a-zA-Z0-9_-]+$"proj_1234abcd"
Identifies a resource by either its unique ID or its slug. Accepts a prefixed ID (such as 'proj_' or 'app_') or a slug.
3 - 255^[a-zA-Z0-9_-]+$"proj_1234abcd"
Identifies a resource by either its unique ID or its slug. Accepts a prefixed ID (such as 'proj_' or 'app_') or a slug.
3 - 255^[a-zA-Z0-9_-]+$"proj_1234abcd"
Deploy a prebuilt Docker image as-is.
Build from the app's connected GitHub repository.
Re-run an existing deployment.
Response
Deployment created successfully