Manual deploy markers
If your deploy pipeline doesn't fit Vercel/Railway/GitHub-Actions templates, a one-liner works:
curl -fsS -X POST \
"https://pgblame.com/v1/deploy?token=${PGBLAME_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"source":"manual","ref":"main","commit_sha":"'"$(git rev-parse HEAD)"'","commit_message":"'"$(git log -1 --pretty=%s)"'"}'Drop that in your deploy script (Render, Fly, Heroku, your own VM) right after a successful deploy.
Useful patterns
Tag the environment
-d '{"source":"manual","ref":"production","commit_sha":"abc123"}'
-d '{"source":"manual","ref":"staging","commit_sha":"abc123"}'The Timeline shows separate streams. Useful for "did the staging migration help before we rolled to prod?".
Annotate non-code changes
-d '{"source":"manual","ref":"infra","commit_message":"increased Postgres CPU to 4 cores"}'The timeline correlates query performance against any event you mark.
Idempotency
Repeat POSTs of the same (source, ref, deployed_at) are deduplicated server-side. If your pipeline retries, you won't get duplicate markers.
Don't fail your build
Use || true at the end. pgblame is observability, not a critical path:
curl -fsS -X POST "https://pgblame.com/v1/deploy?token=${PGBLAME_TOKEN}" \
-H "Content-Type: application/json" \
-d "{...}" || true