# Bookmarks

Page: https://microblog.dev/api/bookmarks/
API base URL: https://micro.blog

Endpoints for bookmarks, bookmark tags, bookmark highlights, and reader web views.

## Endpoints
### GET /posts/bookmarks

URL: `https://micro.blog/posts/bookmarks`

Returns the authenticated user's bookmarks in JSON Feed format.




Query parameters:
- `before_id` (integer, optional): Only return posts older than this post ID.
  Example: `15563191`
- `tag` (string, optional): Bookmark tag name.
  Example: `life`
- `q` (string, optional): Search query or Micropub query type.
  Example: `search term`



Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X GET "https://micro.blog/posts/bookmarks" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns a JSON Feed response.
Example response:

```json
{
  "version": "https://jsonfeed.org/version/1",
  "title": "Micro.blog - Bookmarks",
  "home_page_url": "https://micro.blog",
  "feed_url": "https://micro.blog/posts/bookmarks",
  "_microblog": {
    "about": "https://micro.blog/about/api",
    "is_showing_summaries": true
  },
  "items": [
    {
      "id": "12345",
      "content_html": "<p>Saved bookmark text.</p>",
      "summary": "Saved bookmark summary.",
      "url": "https://example.com/article",
      "date_published": "2026-04-26T12:00:00+00:00",
      "tags": "reading, reference",
      "author": {
        "name": "Vincent",
        "url": "https://vincent.micro.blog/",
        "avatar": "https://avatars.micro.blog/avatars/2026/123.jpg",
        "_microblog": {
          "username": "vincent"
        }
      },
      "_microblog": {
        "date_relative": "12:00",
        "date_favorited": "2026-04-26T12:05:00+00:00",
        "date_timestamp": 1777204800,
        "links": [
          {
            "id": 987,
            "url": "https://example.com/article",
            "archived_url": "https://micro.blog/archives/987"
          }
        ],
        "is_bookmark": true,
        "is_favorite": true,
        "is_deletable": false,
        "is_conversation": false
      }
    }
  ]
}
```

### POST /posts/bookmarks

URL: `https://micro.blog/posts/bookmarks`

Adds a timeline post to the authenticated user's bookmarks.




Query parameters:
- `id` (integer, required): Identifier for the resource.
  Example: `1760000`



Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X POST "https://micro.blog/posts/bookmarks?id=1760000" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns an empty JSON object on success.
Example response:

```json
{}
```

### GET /posts/bookmarks/highlights

URL: `https://micro.blog/posts/bookmarks/highlights`

Returns saved bookmark highlights in JSON Feed format.






Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X GET "https://micro.blog/posts/bookmarks/highlights" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns a JSON Feed response.
Example response:

```json
{
  "version": "https://jsonfeed.org/version/1",
  "title": "Micro.blog - Highlights",
  "home_page_url": "https://micro.blog",
  "feed_url": "https://micro.blog/posts/bookmarks/highlights",
  "_microblog": {
    "about": "https://micro.blog/about/api",
    "count": 1
  },
  "items": [
    {
      "id": 456,
      "title": "Saved article title",
      "content_text": "Highlighted passage from the saved article.",
      "url": "https://example.com/article",
      "date_published": "2026-04-26T12:00:00+00:00"
    }
  ]
}
```

### DELETE /posts/bookmarks/highlights/{id}

URL: `https://micro.blog/posts/bookmarks/highlights/{id}`

Deletes a bookmark highlight.


Path parameters:
- `id` (integer, required): Resource identifier.
  Example: `12345`





Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X DELETE "https://micro.blog/posts/bookmarks/highlights/{id}" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns an empty JSON object on success.
Example response:

```json
{}
```

### GET /posts/bookmarks/tags

URL: `https://micro.blog/posts/bookmarks/tags`

Returns bookmark tag names for the authenticated user.




Query parameters:
- `recent` (boolean, optional): Set to `1` to return recent tags first.
  Example: `1`
- `count` (integer, optional): Maximum number of items to return.
  Example: `10`



Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X GET "https://micro.blog/posts/bookmarks/tags" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns an array of bookmark tag names.
Example response:

```json
[
  "reading",
  "reference"
]
```

### DELETE /posts/bookmarks/tags/{id}

URL: `https://micro.blog/posts/bookmarks/tags/{id}`

Deletes a bookmark tag and clears it from bookmarks.


Path parameters:
- `id` (integer, required): Resource identifier.
  Example: `12345`





Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X DELETE "https://micro.blog/posts/bookmarks/tags/{id}" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns an empty JSON object on success.
Example response:

```json
{}
```

### DELETE /posts/bookmarks/{id}

URL: `https://micro.blog/posts/bookmarks/{id}`

Removes a bookmark by bookmark ID or original post ID.


Path parameters:
- `id` (integer, required): Identifier for the resource.
  Example: `12345`





Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X DELETE "https://micro.blog/posts/bookmarks/{id}" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns an empty JSON object on success.
Example response:

```json
{}
```

### GET /posts/bookmarks/{id}

URL: `https://micro.blog/posts/bookmarks/{id}`

Returns a single bookmark by bookmark ID or original post ID.


Path parameters:
- `id` (integer, required): Identifier for the resource.
  Example: `12345`





Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X GET "https://micro.blog/posts/bookmarks/{id}" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns a JSON Feed response.
Example response:

```json
{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "Micro.blog - Bookmark",
  "home_page_url": "https://micro.blog",
  "feed_url": "https://micro.blog/posts/bookmarks/12345",
  "icon": "https://micro.blog/images/icons/favicon_256.png",
  "favicon": "https://micro.blog/images/icons/favicon_32.png",
  "_microblog": {
    "about": "https://micro.blog/about/api"
  },
  "items": [
    {
      "id": "12345",
      "content_html": "<p>Saved bookmark text.</p>",
      "url": "https://example.com/article",
      "date_published": "2026-04-26T12:00:00+00:00",
      "tags": "reading, reference"
    }
  ]
}
```

### POST /posts/bookmarks/{id}

URL: `https://micro.blog/posts/bookmarks/{id}`

Updates tags for an existing bookmark.


Path parameters:
- `id` (integer, required): Identifier for the resource.
  Example: `12345`



Query parameters:
- `tags` (string, required): Comma-separated bookmark tags.
  Example: `html, robots, something`



Header parameters:
- `Authorization` (string, required): Bearer token for authentication. Format: `Bearer {token}`.
  Example: `Bearer EF7BB9BCAC1F6D561C93`




Example request:

```sh
curl -X POST "https://micro.blog/posts/bookmarks/{id}?tags=html%2C+robots%2C+something" \
  --header "Authorization: Bearer EF7BB9BCAC1F6D561C93"
```

Response:
- Status: 200
- Content-Type: `application/json`
- Description: Returns an empty JSON object on success.
Example response:

```json
{}
```

