Build with Micro.blog logo
Build with Micro.blog
API Documentation

Webmention

View .md

Endpoints for receiving webmentions and reading the replies to a post.

BASE URL https://micro.blog
GET /webmention

Returns the Micro.blog replies to a blog post as JSON Feed or JF2, oldest first. No authentication is required.

Example Request

curl -X GET "https://micro.blog/webmention?target=https%3A%2F%2Fwww.manton.org%2F2025%2F11%2F07%2Fif-you-are-on-the.html&format=jsonfeed"

Query Parameters

Name Type Required Description
target string Required Permalink of the blog post. Without it, the endpoint returns an HTML page instead of JSON.
Example: https://www.manton.org/2025/11/07/if-you-are-on-the.html
format string Optional jsonfeed, jf2, or mf2. mf2 returns the same JF2 feed as jf2. Any other value returns an empty body.
Example: jf2

Response

200 OK application/json

Returns a JSON Feed 1.1 document whose items list the reply author under authors. With format=jf2, returns a JF2 feed whose entries carry Webmention.io-style wm-id, wm-received, and mention-of fields. Returns 404 when no Micro.blog post matches target.

Example Response

{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Conversation",
  "home_page_url": "https://micro.blog/manton/77494371",
  "feed_url": "https://micro.blog/webmention?target=https%3A%2F%2Fwww.manton.org%2F2025%2F11%2F07%2Fif-you-are-on-the.html&format=jsonfeed",
  "items": [
    {
      "id": "98765",
      "content_html": "<p><a href=\"https://micro.blog/manton\">@manton</a> Thanks!</p>",
      "url": "https://micro.blog/jean/98765",
      "date_published": "2025-11-07T18:30:00+00:00",
      "authors": [
        {
          "name": "Jean Example",
          "url": "https://jean.example.com",
          "avatar": "https://avatars.micro.blog/avatars/2025/01/example.jpg",
          "_microblog": {
            "username": "jean"
          }
        }
      ]
    }
  ]
}
POST /webmention

Receives a Webmention, as described in the W3C Webmention spec. The mention is queued and processed in the background. No authentication is required.

Example Request

curl -X POST "https://micro.blog/webmention" \
  --data-urlencode "source=https://jean.example.com/2025/11/07/reply.html" \
  --data-urlencode "target=https://www.manton.org/2025/11/07/if-you-are-on-the.html"

Request Body

Name Type Required Description
source string Required URL of the page that links to target.
Example: https://jean.example.com/2025/11/07/reply.html
target string Required URL of the post being mentioned.
Example: https://www.manton.org/2025/11/07/if-you-are-on-the.html

Response

202 OK text/html

Returns 202 Accepted with an empty body once the Webmention is queued. The response does not say whether the mention will be accepted.

Example Response

(empty response body)