API Reference

Bookmarks

Manage browser-style bookmarks with collapsible groups. The server auto-fetches page metadata (title) when a bookmark is added.

Type Definitions

bash
type Bookmark {
  id: ID!
  url: String!
  title: String!              # auto-fetched from <title> when available
  groupId: ID!
  pinned: Boolean!
  sortOrder: Int!
  updatedAt: String!
}

type BookmarkGroup {
  id: ID!
  name: String!
  collapsed: Boolean!
  sortOrder: Int!
}

input BookmarkInput {
  url: String
  title: String
  groupId: String
  pinned: Boolean
  sortOrder: Int
}

Operations

query

bookmarks

List all bookmarks.

bash
query GetBookmarks {
  bookmarks { id url title groupId pinned sortOrder updatedAt }
}
query

bookmarkGroups

List all bookmark groups.

bash
query GetBookmarkGroups {
  bookmarkGroups { id name collapsed sortOrder }
}
mutation

addBookmarks

Add one or more bookmarks to a group. The server fires a metadata-fetch event per bookmark to populate the title.

bash
mutation AddBookmarks($urls: [String!]!, $groupId: String!) {
  addBookmarks(urls: $urls, groupId: $groupId) { id url title groupId pinned sortOrder updatedAt }
}
mutation

updateBookmark

Update one or more fields of an existing bookmark.

bash
mutation UpdateBookmark($id: ID!, $input: BookmarkInput!) {
  updateBookmark(id: $id, input: $input) { id url title groupId pinned sortOrder updatedAt }
}
mutation

deleteBookmarks

Delete one or more bookmarks by ID.

bash
mutation DeleteBookmarks($ids: [ID!]!) {
  deleteBookmarks(ids: $ids)
}
mutation

recordBookmarkClick

Record a click on a bookmark (used for analytics / "most visited" sorting).

bash
mutation RecordBookmarkClick($id: ID!) {
  recordBookmarkClick(id: $id)
}
mutation

createBookmarkGroup

Create a new bookmark group.

bash
mutation CreateBookmarkGroup($name: String!) {
  createBookmarkGroup(name: $name) { id name collapsed sortOrder }
}
mutation

updateBookmarkGroup

Update a bookmark group's name, collapsed state, or sort order.

bash
mutation UpdateBookmarkGroup($id: ID!, $name: String!, $collapsed: Boolean!, $sortOrder: Int!) {
  updateBookmarkGroup(id: $id, name: $name, collapsed: $collapsed, sortOrder: $sortOrder) {
    id name collapsed sortOrder
  }
}
mutation

deleteBookmarkGroup

Delete a bookmark group. Bookmarks inside are not deleted, only ungrouped.

bash
mutation DeleteBookmarkGroup($id: ID!) {
  deleteBookmarkGroup(id: $id)
}