Deploy webhooks
A deploy webhook is an authenticated Coolify API URL that starts a deployment without using the dashboard. Use it after CI checks pass, from a Git provider without a native Coolify integration, or from another automation system.
Resource deploy webhooks target one application or service. Tag deploy webhooks target every application and service assigned to the selected tag.
Before you start
You need:
- API access enabled for the Coolify instance
- permission to create an API token for the active team
- the resource or tag you want the webhook to deploy
- a secure secret store in the system that will call the webhook
On a self-hosted instance, open Settings > Advanced and turn on API Access if the API is disabled.
Create a deploy token
Open API Tokens
Open Keys & Tokens in the main sidebar, then select API Tokens.
Configure the token
Enter a description, choose an expiration period, and select the deploy permission.
A deploy-only token can trigger deploy webhooks without receiving general read or write access to the API.
Create and copy the token
Click Create, then copy the token immediately. Coolify shows the token value only once.
Store the token
Save it in your CI or automation platform's secret store, for example as COOLIFY_TOKEN. Do not commit it to a repository or place it directly in a workflow file.
Read API Tokens for team scoping, expiration, and API access controls.
Copy a webhook URL
Choose the URL that matches the deployment target.
Use a resource webhook to deploy one application or service.
- Open the application or service.
- Select Configuration > Webhooks.
- Copy Deploy Webhook (auth required).
The generated URL has this form:
https://coolify.shadowarcanist.com/api/v1/deploy?uuid=<resource-uuid>&force=falseTrigger the deployment
Store the copied URL as COOLIFY_DEPLOY_WEBHOOK, then send a GET request with the token in the Authorization header:
curl --request GET "$COOLIFY_DEPLOY_WEBHOOK" \
--header "Authorization: Bearer $COOLIFY_TOKEN"Coolify also accepts POST requests. The endpoint requires either uuid or tag; do not send both in one request.
The URL identifies the deployment target, but the Bearer token authorizes the action. Revoke the token from Keys & Tokens > API Tokens if it is exposed.
Request options
| Option | Purpose | Example |
|---|---|---|
uuid | Deploy one or more resource UUIDs. Separate several UUIDs with commas. | uuid=abc,def |
tag | Deploy one or more tag groups. Separate several names with commas. | tag=api,worker |
force | Rebuild an application without using its build cache. | force=true |
For a JSON POST request, send the same option names in the request body:
curl --request POST "https://coolify.shadowarcanist.com/api/v1/deploy" \
--header "Authorization: Bearer $COOLIFY_TOKEN" \
--header "Content-Type: application/json" \
--data '{"uuid":"<resource-uuid>","force":false}'Verify the deployment
A successful application request returns deployment details, including a deployment UUID when a deployment was queued. Open the application's Deployments page and confirm that the matching deployment starts and finishes successfully.
For a service or tag request, verify each affected resource from its Coolify page. Do not treat an accepted API request as proof that every resource became healthy.
