API reference
API reference
Scribbles exposes a JSON API and Micropub for IndieWeb clients. Replace YOUR_API_KEY with the key from
Sign in to open API settings and create a key.
Quick start
Send Authorization: Bearer YOUR_API_KEY on every request.
https://scribbles.page/api/v1
https://scribbles.page/micropub
https://scribbles.page/micropub/media
Example (discover blogs)
curl -s "https://scribbles.page/api/v1/info" \
-H "Authorization: Bearer YOUR_API_KEY"
Guides
Endpoint tables and copy-paste examples live on dedicated pages so you can deep-link and search easily.
JSON
JSON API (v1)
REST-style resources, query filters, attachments, and response shapes.
Micropub
Micropub
IndieWeb create, update, delete, queries, and media uploads.
Actions
Webhooks
Outbound JSON events for deploy hooks, SSG rebuilds, and automation.
Endpoint directory
All JSON routes accept Authorization: Bearer …. Most actions target your selected blog unless you pass blog_id (or Micropub equivalents on the Micropub guide).
| Method | Path | Purpose |
|---|---|---|
| GET | https://scribbles.page/api/v1/info | API metadata and your blogs |
| GET | /posts | List posts (filters, pagination) |
| POST | /posts | Create post |
| GET | /posts/:id | Show post (includes content) |
| PUT/PATCH | /posts/:id | Update post |
| DELETE | /posts/:id | Delete post |
| PATCH | /posts/:id/publish | Publish draft |
| PATCH | /posts/:id/unpublish | Unpublish (draft) |
| GET | /blogs | List blogs |
| GET | /blogs/:id | Show blog |
| GET | /blogs/:blog_id/posts | List posts for a blog |
| GET | /categories | List categories |
| GET | /categories/:id | Show category |
| POST | /attachments | Upload media (multipart) |
Paths above are relative to https://scribbles.page/api/v1. Micropub lives at https://scribbles.page/micropub — see the Micropub guide.
Errors
- 401 — Missing or invalid API key.
- 403 — Authenticated but not allowed for the resource or action.
- 404 — Unknown blog or post.
- 400 — Bad query combination (for example category filters that exclude each other) or missing upload fields.
- 422 — Validation errors; JSON body often includes
errors/message.