Notifications, Search & Themes
Three smaller sub-clients, grouped together here since each has a compact surface.
NotificationsClient (client.notifications)
Section titled “NotificationsClient (client.notifications)”client.notifications.list({ types, unread, limit, offset })client.notifications.unreadCount({ types })client.notifications.markRead(id) // bare stringclient.notifications.markUnread(id) // bare stringclient.notifications.markAllRead({ types })client.notifications.dismiss(id) // bare stringSearchClient (client.search)
Section titled “SearchClient (client.search)”client.search.search({ query, page, type, since, searchIn })searchIn is an object of booleans -- { posts, pages, groups, users, bookmarks, servers } -- flattened internally into a comma-joined searchIn query param before the request goes out. Convenience wrappers pre-fill it for you:
client.search.searchPosts({ query })client.search.searchGroups({ query })client.search.searchUsers({ query })client.search.searchBookmarks({ query })client.search.searchPages({ query })client.search.searchServers({ query })ThemesClient (client.themes)
Section titled “ThemesClient (client.themes)”client.themes.list() // public, no authclient.themes.getById(id) // public, no auth
client.themes.create(theme) // admin onlyclient.themes.update(id, updates) // admin onlyclient.themes.delete(id) // admin onlyclient.themes.setDefault(themeId) // admin onlyTheme shape: { id, name, description, colorScheme, colors, postColors }. Built-in themes (system, kowloon-light, kowloon-dark) are seeded server-side and can't be edited or deleted even by an admin -- see the REST API admin docs for the server-side enforcement.