API reference
Webhooks
Scribbles can POST a small JSON event to URLs you configure when published posts or pages change. Use this to trigger static site rebuilds or any automation that accepts an HTTP POST.
Setup
- Open Publishing → Feeds → Actions for your blog.
- Paste one webhook URL per line (HTTPS recommended). Deploy-hook URLs that ignore the body work fine.
- Save actions. The next publish, update, unpublish, or delete of live content will enqueue delivery.
Events
Delivered asynchronously. Drafts, future-scheduled posts, and komments-only updates do not fire webhooks.
| Event | When |
|---|---|
| post.published | A post or page becomes live (create or draft → published) |
| post.updated | A live post or page is saved again |
| post.unpublished | A live post or page is moved back to draft |
| post.deleted | A live post or page is destroyed |
Payload
Requests use Content-Type: application/json
and User-Agent: Scribbles-Webhooks/1.0.
Example body
{
"event": "post.published",
"occurred_at": "2026-07-19T17:00:00Z",
"blog": {
"id": 1,
"slug": "vincent",
"title": "Vincent"
},
"post": {
"id": 42,
"slug": "hello",
"title": "Hello",
"type": "post",
"url": "https://example.com/post/hello",
"published_at": "2026-07-19T17:00:00Z",
"updated_at": "2026-07-19T17:00:00Z"
}
}
Deploy hooks
Paste a Netlify, Vercel, or Cloudflare Pages deploy hook into the Webhooks field. Those endpoints typically ignore the JSON body and start a build on any POST. In the build, fetch posts with the JSON API using an API key stored as a secret in CI.
Fetch published posts in CI
curl -s "https://scribbles.page/api/v1/posts?status=published&include_content=true&limit=100" \
-H "Authorization: Bearer YOUR_API_KEY"