All collection endpoints require authentication via Authorization: Bearer <accessToken>.

Delta Sync

Fetch collections that changed since your last sync.
curl -H "Authorization: Bearer $ACCESS_TOKEN" \
  "https://api.unisave.io/v1/collections/delta?cursor=&limit=100"
Query Parameters
ParamTypeRequiredDescription
cursorstringNoOpaque cursor from previous response. Omit for initial sync.
limitintegerNoMax records per page. Default: 200.
Response 200
{
  "data": {
    "cursor": "previous-cursor-or-null",
    "nextCursor": "opaque-next-cursor",
    "upserts": [
      {
        "ownerUid": "user-uuid",
        "clientCollectionId": "col-1",
        "name": "Tech Articles",
        "icon": "folder",
        "sortOrder": 0,
        "bookmarkCount": 12,
        "createdAt": "2026-04-12T10:00:00Z",
        "updatedAt": "2026-04-12T10:30:00Z"
      }
    ],
    "tombstones": [
      {
        "clientCollectionId": "col-old",
        "deletedAt": "2026-04-12T11:00:00Z"
      }
    ]
  }
}
The sync algorithm is identical to bookmarks delta sync.

Upsert Collection

Create or update a collection. The clientCollectionId is client-generated.
curl -X PUT \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  "https://api.unisave.io/v1/collections/col-1" \
  -d '{
    "name": "Tech Articles",
    "icon": "folder",
    "sortOrder": 0
  }'
Request Body
FieldTypeRequiredDescription
namestringYesCollection display name
iconstringNoIcon identifier
sortOrderintegerNoSort position (lower = first)
Response 200
{
  "data": {
    "ownerUid": "user-uuid",
    "clientCollectionId": "col-1",
    "name": "Tech Articles",
    "icon": "folder",
    "sortOrder": 0,
    "bookmarkCount": 0,
    "createdAt": "2026-04-12T10:30:01Z",
    "updatedAt": "2026-04-12T10:30:01Z"
  }
}

Delete Collection

Soft-deletes a collection. Bookmarks inside the collection are not deleted — only the collection membership links are removed.
curl -X DELETE \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  "https://api.unisave.io/v1/collections/col-1"
Response 204 No Content