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

Markers

View .md

Endpoints for reading and updating timeline marker positions.

BASE URL https://micro.blog
GET /posts/check

Returns how many timeline posts are newer than since_id, the user’s publishing and media processing state, and every saved marker. Poll it again after check_seconds. Requires a token with the read scope.

Example Request

curl -X GET "https://micro.blog/posts/check?since_id=77479242" \
  --header "Authorization: Bearer ABCDEF1234567890ABCD"

Query Parameters

Name Type Required Description
since_id integer Optional ID of the newest post the client has. count is 0 unless this is a post that exists.
Example: 77479242

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Response

200 OK application/json

Returns new-post and publishing state. check_seconds is 1 while a post is publishing or a video is processing, otherwise 20. markers is keyed by channel name; each marker has the post id, date_marked, and time_published (the Unix timestamp of the marked post, or 0 when it is unknown). Returns 401 without a valid token.

Example Response

{
  "count": 3,
  "check_seconds": 20,
  "markers": {
    "timeline": {
      "id": "77494371",
      "date_marked": "2025-11-07 18:05:00 +0000",
      "time_published": 1762538400
    }
  },
  "is_publishing": false,
  "is_processing": false,
  "publishing_progress": 0,
  "publishing_status": "",
  "latest_url": ""
}
POST /posts/markers

Saves the post a reader has reached in a channel, replacing any earlier marker for that channel. Read markers back from GET /posts/check. Requires a token with the read scope.

Example Request

curl -X POST "https://micro.blog/posts/markers" \
  --header "Authorization: Bearer ABCDEF1234567890ABCD" \
  --data "channel=timeline" \
  --data "id=77494371" \
  --data-urlencode "date_marked=2025-11-07T18:05:00Z"

Header Parameters

Name Type Required Description
Authorization string Required Bearer token for authentication. Format: Bearer {token}.

Request Body

Name Type Required Description
channel string Required Marker channel name. The Micro.blog web timeline uses timeline; any other name creates a separate marker.
Example: timeline
id integer Required ID of the post to mark.
Example: 77494371
date_marked string Required When the marker was set. Any date string Ruby’s DateTime.parse accepts, such as ISO 8601. A missing or unparseable date returns an error.
Example: 2025-11-07T18:05:00Z

Response

200 OK application/json

Returns every saved marker for the user, keyed by channel name, in the same shape as markers in GET /posts/check.

Example Response

{
  "markers": {
    "timeline": {
      "id": "77494371",
      "date_marked": "2025-11-07 18:05:00 +0000",
      "time_published": 1762538400
    }
  }
}