Deploy hook: keep tracked pages fresh
Quillly tracks the pages you already own — pricing, features, landing pages — and re-checks them for SEO issues and content changes on a schedule. The deploy hook lets you skip the wait: ping it the moment your site redeploys and Quillly re-fetches your sitemap and re-checks every tracked page right away.
What the deploy hook does#
Your CI knows exactly when your content changed; Quillly does not have to guess. When you call the hook, Quillly re-fetches your tracked-page sitemap, discovers new or removed URLs, and re-checks existing pages — prioritizing a content-hash probe so genuinely changed pages are caught first. The work runs in the background, so the request returns immediately.

Endpoint reference#
Method and URL
POST https://quillly.com/api/ping/pages/<websiteId>Authentication — use your site's verification token, either way:
Query:
?token=<token>Header:
Authorization: Bearer <token>
A signed-in owner can also trigger it from the dashboard's "Re-check now" button.
Parameters
delay— seconds to wait before running the re-check,0–1800(default0). Use it to line the re-check up with your CDN propagation instead of running instantly.recheck— defaulttrue. If a run finds no changes yet, Quillly automatically re-checks again at +5 and +15 minutes, so a slow cache still gets caught.
Cooldown — one re-check per site per 120 seconds. A chattier caller gets 429.
Response codes
202 Accepted— queued:
{ "success": true, "data": { "queued": 2, "message": "Re-check queued — tracked pages will re-sync in the background." } }200 OK— no page endpoints configured:{ "success": true, "data": { "queued": 0, "message": "No page endpoints with a sitemap are configured for this website." } }429 Too Many Requests— within the cooldown:{ "success": false, "error": { "code": "RATE_LIMITED", "message": "Re-check already queued recently. Try again in up to 120s." } }401invalid token,403service inactive,404unknown website.
Examples#
curl
curl -X POST \
"https://quillly.com/api/ping/pages/<websiteId>?delay=120" \
-H "Authorization: Bearer <token>"GitHub Actions — add a final step after your deploy job:
- name: Ping Quillly deploy hook
run: |
curl -fsS -X POST \
"https://quillly.com/api/ping/pages/${{ secrets.QUILLLY_WEBSITE_ID }}?delay=120" \
-H "Authorization: Bearer ${{ secrets.QUILLLY_DEPLOY_TOKEN }}"Generic post-deploy script
#!/usr/bin/env bash
set -euo pipefail
curl -fsS -X POST \
"https://quillly.com/api/ping/pages/${QUILLLY_WEBSITE_ID}?delay=90&recheck=true" \
-H "Authorization: Bearer ${QUILLLY_DEPLOY_TOKEN}"Choosing a delay#
Set delay to roughly your deploy-plus-CDN-propagation time — the gap between "CI finished" and "the new HTML is actually live at the edge." If your pages serve in seconds, delay=0 is fine; if a CDN takes a minute or two to purge, delay=90 or delay=120 avoids re-checking stale HTML. You do not need to be precise: with recheck on, the automatic +5 and +15 minute passes catch anything that was not live yet. Just stay under the 120-second cooldown — one ping per deploy is all you need.
To see what counts as a tracked page and how endpoints are served, read Content types & endpoints. New to Quillly? Start with Getting started with Quillly.
