bookmark.land
Api reference

Collections

Organize bookmarks into nested collections

Collections are folders for organizing bookmarks. They support nesting via parent-child relationships.

List Collections

GET /collections

Scope: collections:read

Returns a flat list of all collections. Use the parentId field to build a tree client-side.

{
  "data": [
    {
      "id": "col_abc",
      "name": "Development",
      "icon": "code",
      "color": "blue",
      "parentId": null,
      "path": "/Development",
      "createdAt": "2026-01-10T08:00:00Z"
    },
    {
      "id": "col_def",
      "name": "Frontend",
      "icon": "layout",
      "color": "green",
      "parentId": "col_abc",
      "path": "/Development/Frontend",
      "createdAt": "2026-01-12T09:00:00Z"
    }
  ]
}

Get Collection

GET /collections/:id

Scope: collections:read


Create Collection

POST /collections

Scope: collections:write

Body:

{
  "name": "My Collection",
  "icon": "folder",
  "color": "blue",
  "parentId": "col_abc"
}
FieldTypeRequiredDescription
namestringYesCollection name
iconstringNoLucide icon name or emoji
colorstringNoColor identifier
parentIdstringNoParent collection ID for nesting

Update Collection

PATCH /collections/:id

Scope: collections:write

Body:

{
  "name": "Renamed Collection",
  "icon": "star",
  "color": "yellow",
  "notes": "Collection notes"
}

Delete Collection (Soft)

DELETE /collections/:id

Scope: collections:write

Moves the collection to trash. Child collections and bookmarks are cascaded.


Restore Collection

POST /collections/:id/restore

Scope: collections:write


List Trashed Collections

GET /collections/trashed

Scope: collections:read


List Bookmarks in Collection

GET /collections/:id/bookmarks

Scope: bookmarks:read

Returns all bookmarks assigned to this collection.


Get Share Status

GET /collections/:id/share

Scope: collections:read

{
  "data": {
    "shared": true,
    "publicUrl": "https://bookmark.land/shared/col_abc"
  }
}

On this page