Create app
Create an app within a project. The app is created with default production and preview environments.
Set exactly one source. Use git to create a GitHub-sourced app and connect its repository. Use oci to create an app from a prebuilt OCI image.
The slug you provide is the stable, caller-defined handle used to reference this app. It must be unique within the project.
Important: The slug cannot collide with an existing app in the same project. A duplicate slug returns a 409 conflict.
Required Permissions
Your root key must have one of the following permissions:
project.*.create_app(to create apps in any project)project.<project_id>.create_app(to create apps in a specific project)
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
Create an app with exactly one source: git or oci. Requests that omit a
source or provide both sources are rejected.
Response
App created successfully. The response contains the app id used to reference it in subsequent operations.