Skip to content

Refresh webhook

Static generators and CMSs can ping feedforge the moment they publish, the same role FeedBurner’s old PING interface played.

Terminal window
npx wrangler secret put REFRESH_TOKEN

If REFRESH_TOKEN is unset, the route returns 404 — the webhook is off until you choose a secret.

Terminal window
curl -X POST https://feeds.example.com/api/feeds/myblog/refresh \
-H 'authorization: Bearer <REFRESH_TOKEN>'
{ "id": "myblog", "status": "ok" }

The refresh bypasses the poll-interval skip but still sends conditional headers, so pinging when nothing changed costs one 304 against your origin.

CodeMeaning
200Poll ran; status is ok, not-modified, or skipped
401Missing Authorization: Bearer header
403Wrong token
404Unknown feed id, or REFRESH_TOKEN unset
502Origin fetch or parse failed

GitHub Actions example, after your site deploys:

- name: Ping feedforge
run: |
curl -fsS -X POST https://feeds.example.com/api/feeds/myblog/refresh \
-H "authorization: Bearer ${{ secrets.FEEDFORGE_REFRESH_TOKEN }}"