Api reference
Smart Folders
Rule-based dynamic bookmark folders
Smart folders are virtual folders that automatically contain bookmarks matching a set of rules. They don't physically move bookmarks -- they evaluate rules on demand.
List Smart Folders
GET /smart-foldersScope: bookmarks:read
{
"data": [
{
"id": "sf_abc",
"name": "Unread Articles",
"icon": "book-open",
"color": "orange",
"rules": { ... }
}
]
}Get Smart Folder
GET /smart-folders/:idScope: bookmarks:read
Returns the smart folder with its rule definitions.
Create Smart Folder
POST /smart-foldersScope: bookmarks:write
Body:
{
"name": "Recent GitHub Stars",
"icon": "star",
"color": "yellow",
"rules": {
"match": "all",
"conditions": [
{ "field": "domain", "operator": "equals", "value": "github.com" },
{ "field": "isFavorite", "operator": "equals", "value": "true" }
]
}
}| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Folder name |
icon | string | No | Lucide icon name or emoji |
color | string | No | Color identifier |
rules | object | Yes | Object with match ("all" or "any") and conditions[] array |
rules.match | string | Yes | "all" (every condition must match) or "any" (at least one) |
rules.conditions | array | Yes | Array of { field, operator, value } objects |
Update Smart Folder
PATCH /smart-folders/:idScope: bookmarks:write
Delete Smart Folder
DELETE /smart-folders/:idScope: bookmarks:write
Deletes the folder definition. No bookmarks are affected.
Evaluate Smart Folder
GET /smart-folders/:id/bookmarksScope: bookmarks:read
Evaluates the folder's rules and returns matching bookmarks. This is a heavy endpoint with a rate limit of 1 request per minute.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
cursor | string | Pagination cursor from previous response |
Response:
{
"data": {
"bookmarks": [ ... ],
"continueCursor": "eyJ...",
"truncated": false
}
}Limits:
- Scans up to 5,000 documents per evaluation
- Returns up to 500 matching bookmarks
- Uses cursor-based pagination (200 docs per page)