Docs / Deploy hooks & CI

Deploy hooks & CI

Every deploy purges parts of your CDN cache. A deploy hook re-warms it immediately — instead of your visitors paying the cold-cache penalty until the next scheduled run.

Get your hook URL

  1. Open your project in the dashboard and go to Settings.
  2. Under Deploy hook, click Generate hook URL.
  3. Copy the URL and store it as a secret in your CI system — anyone with the URL can trigger runs for this project.

The URL looks like this:

https://warmup.rocks/api/hooks/<token>

You can rotate it (old URL stops working, new one is issued) or disable it entirely at any time, in the same place.

GitHub Action (recommended)

Use the official warmup-rocks/warm-action (also on the GitHub Marketplace). Add your hook URL as an encrypted repository secret named WARMUP_HOOK_URL, then append one step to your deploy workflow:

- name: Warm CDN cache
  uses: warmup-rocks/warm-action@v1
  with:
    hook-url: ${{ secrets.WARMUP_HOOK_URL }}

The Action runs in your repository's CI, takes about a second, and fails your workflow only if the hook is unreachable or invalid — never because a run was skipped.

Plain curl (works everywhere)

The hook is a single POST request, so any CI system, deploy script or platform webhook can call it:

curl -fsS -X POST "$WARMUP_HOOK_URL"

Responses & rate limiting

The endpoint always answers with JSON:

{ "ok": true, "runId": 1234 }          // run started
{ "ok": true, "skipped": "already-running" }
{ "ok": true, "skipped": "cooldown" }  // < 5 min since last hook run

Runs triggered this way appear in your run history with the trigger deploy, with the same per-location statistics as scheduled runs.

Security notes

Next: Analytics & WAF filtering →