Skip to content

SVG Badge

The app serves a dynamic SVG badge that reflects the live status of any issue's checklist. Embed it anywhere Markdown is rendered.

Badge URL

GET /api/badge/{owner}/{repo}/{issue_number}

Example:

https://your-worker.workers.dev/api/badge/acme/backend/42

Embedding in Markdown

![Checklist status](https://your-worker.workers.dev/api/badge/acme/backend/42)

With a link back to the checklist:

[![Checklist status](https://your-worker.workers.dev/api/badge/acme/backend/42)](https://your-worker.workers.dev/checklist/acme/backend/42)

Badge states

Checklist status Badge appearance
All items done or na ✅ Complete
Some items pending 🔄 In progress (N remaining)
Any item exception without approval ⚠️ Exception needed
No template found ➖ No checklist

Caching

The badge endpoint sets Cache-Control: s-maxage=60. Cloudflare edge nodes cache it for up to 60 seconds, keeping GitHub API usage well within rate limits even on busy repos.

If you need a fresh badge immediately after a state update, append a cache-busting query parameter:

/api/badge/acme/backend/42?v=2