API Documentation
Micropub
IndieWeb-compatible Micropub at https://scribbles.page/micropub with a media endpoint. Authenticate with the same bearer token as the JSON API.
Micropub
https://scribbles.page/micropub
Media
https://scribbles.page/micropub/media
Create (form-encoded)
POST
https://scribbles.page/micropub
Classic h=entry style posts.
Example Request
curl -X POST "https://scribbles.page/micropub" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "h=entry&name=Hello&content=My first post!"
Create (JSON)
POST
https://scribbles.page/micropub
Example Request
curl -X POST "https://scribbles.page/micropub" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type":["h-entry"],"properties":{"name":["Title"],"content":["Body"],"category":["notes"],"post-status":["published"]}}'
Updates and deletes
POST
https://scribbles.page/micropub (action in JSON body)
Example Request
curl -X POST "https://scribbles.page/micropub" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action":"update","url":"https://your.site/post-url","replace":{"content":["New body"]}}'
curl -X POST "https://scribbles.page/micropub" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action":"delete","url":"https://your.site/post-url"}'
Queries
Micropub supports discovery via the q parameter.
GET
https://scribbles.page/micropub?q=config
Capabilities and endpoints.
GET
https://scribbles.page/micropub?q=source
Recent posts.
GET
https://scribbles.page/micropub?q=source&url=POST_URL
Single post by URL (encode the URL query value).
GET
https://scribbles.page/micropub?q=category
Categories for the target blog.
Multi-blog hints
Use blog_id as a query parameter or X-Blog-ID header, or mp-destination with the blog URL inside Micropub payloads, aligning with your JSON API workflow.
Media upload
POST
https://scribbles.page/micropub/media
Example Request
curl -X POST "https://scribbles.page/micropub/media" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "blog_id=YOUR_BLOG_ID" \
-F "[email protected]"
Note:
Insert the returned attachment HTML into Micropub content when you need the same rich embedding model as the JSON API.
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.