Skip To Main Content
All modules

Books

Fields marked * are required. Updates keep every field they are not given. An AI app can ask vritto_describe for the same details, filtered to what its connection may use.

Bookbook

A book in the user's library, with status, progress, and rating. The same operations reach its reading timeline, one read with its dates each (type 'reading_log').

books_findFindthrough vritto_find

Read Books: with no filter what the user is reading now and the want-to-read shortlist; query and status search the library; reads in a period (type 'reading_log' with from/to); counts and pages (view 'stats'); what one person recommended (personId); one book by id. Compact rows unless detail is 'full'.

Note: With no filter: what the user is reading now and the want-to-read shortlist. type 'reading_log' with from/to reads what was read in a period; view 'stats' counts.

FieldTypeDescription
typeone of book, reading_logRecord type: 'book' (default) a book in the library; 'reading_log' one entry on the reading timeline, a read with its start and finish dates.
idstringReturn just this saved book.
viewone of list, stats'stats': totals, status breakdown, pages read, books finished by year, and ratings. Default 'list'.
querystringText matched against title, authors, categories, and shelves.
statusone of want_to_read, reading, read, dnfBooks with this reading status.
fromstringReading logs finished ON or AFTER this YYYY-MM-DD date (started date for logs without a finish).
tostringReading logs finished ON or BEFORE this YYYY-MM-DD date. ALWAYS pass from/to when the question concerns a period (a year, a month, 'recently').
yearstringWith view 'stats': only this four-digit year.
bookIdstringReading logs of one book.
personIdstringVritto People record id: the books they recommended.
detailone of summary, full'summary' (default) compact rows; 'full' every field incl. review, notes and description.
limitintegerMax rows (books 50, reading logs 100 by default).
cursorstringPagination cursor from a previous nextCursor.
Example input
{
  "status": "reading"
}
books_addCreate or Updatethrough vritto_create or vritto_update

Add to Books: a book by Google Books providerId (imports full metadata; a re-import keeps the user's status, rating, review and progress), a manual book body, or a past read on the reading timeline (type 'reading_log'). A bookId with a book body edits that book, omitted fields kept.

Note: Pass providerId from vritto_lookup (book_catalog) to save a book with full details. type 'reading_log' backfills a past read.

FieldTypeDescription
typeone of book, reading_logRecord type: 'book' (default) a book in the library; 'reading_log' one entry on the reading timeline, a read with its start and finish dates.
providerIdstringGoogle Books volume id: pass this alone to import and save with metadata.
bookIdstringAn existing saved book to update with book; defaults to a provider-derived id.
bookobjectBook record body. Fields you omit keep their stored values (key-presence merge), so send only what should change.
book.providerRef*objectProvider reference identifying the book.
book.title*stringBook title.
book.subtitlestring
book.authorslist of stringAuthor names.
book.descriptionstring
book.thumbnailUrlstringCover image URL.
book.pageCountinteger
book.categorieslist of string
book.publishedDatestringPublication date (may be partial, e.g. '2019').
book.publisherstring
book.languagestring
book.statusone of want_to_read, reading, read, dnfDefaults to "want_to_read".
book.formatone of paperback, hardcover, ebook, audiobook
book.currentPageintegerCurrent page number (reading progress).
book.startedOnstringYYYY-MM-DD the current read started.
book.finishedOnstringYYYY-MM-DD the book was finished.
book.rereadCountintegerCompleted re-reads beyond the first read.
book.ratinginteger
book.reviewstringPersonal review.
book.notesstring
book.shelveslist of stringShelf tags.
book.favoriteboolean
book.recommendedByPersonIdslist of stringVritto People record IDs who recommended this book.
readingLogIdstringA reading log: an explicit id. Defaults to a new one.
logobjectType 'reading_log': a read of a saved book, a start and/or finish date, optional rating and notes.
log.bookId*stringSaved book record id, from books_find.
log.startedOnstringDate started, YYYY-MM-DD.
log.finishedOnstringDate finished, YYYY-MM-DD.
log.ratinginteger
log.notesstring
Example input
{
  "providerId": "zyTCAlFPjgYC"
}
books_changeUpdatethrough vritto_update

Change one book by bookId: currentPage (progress; finishing stamps the finish date), status alone, rating and review, personIds (who recommended it), or patch (shelves, format, notes, favorite, dates). Or one reading-timeline entry (type 'reading_log', its id and log). Omitted fields keep their values.

Note: Send only what changes: currentPage, status, rating and review, personIds (replaces the whole list) or patch. type 'reading_log' edits a timeline entry.

FieldTypeDescription
typeone of book, reading_logRecord type: 'book' (default) a book in the library; 'reading_log' one entry on the reading timeline, a read with its start and finish dates.
idstringThe book, or with type 'reading_log' the entry, to change.
bookIdstringThe book to change (same as id).
currentPageintegerCurrent page number.
statusone of want_to_read, reading, read, dnfNew reading status; with currentPage it applies with the progress.
ratinginteger1-5 stars, or null to clear.
reviewstringPersonal review text.
personIdslist of stringVritto People record IDs: the complete recommender set (also keeps the 'Recommended by' shelves).
patchobjectLoose fields to change; omitted fields keep their values.
patch.formatone of paperback, hardcover, ebook, audiobook
patch.shelveslist of string
patch.notesstring
patch.favoriteboolean
patch.startedOnstring
patch.finishedOnstring
patch.ratinginteger1-5 stars, or null to clear.
patch.recommendedByPersonIdslist of stringPrefer personIds, which also keeps shelves.
expectedRevisionintegerOptimistic concurrency guard.
readingLogIdstringType 'reading_log': the entry (same as id).
logobjectType 'reading_log': the fields to change.
log.startedOnstringDate started, YYYY-MM-DD (empty string clears it).
log.finishedOnstringDate finished, YYYY-MM-DD (empty string clears it).
log.ratinginteger1-5 stars, or null to clear.
log.notesstring
Example input
{
  "bookId": "book_dune",
  "currentPage": 212
}
books_removeDeletethrough vritto_delete

Remove one saved book with its reading timeline, or one timeline entry (type 'reading_log'). Only for explicit removals; to correct an entry, change it.

Note: type 'reading_log' removes one timeline entry instead.

FieldTypeDescription
typeone of book, reading_logRecord type: 'book' (default) a book in the library; 'reading_log' one entry on the reading timeline, a read with its start and finish dates.
idstringThe book, or with type 'reading_log' the entry, to remove.
bookIdstringOlder name for a book's id.
readingLogIdstringOlder name for a reading log's id.

Book Catalogbook_catalog

Google Books reference data, for saving a book with full details.

books_getBookDetailsLook Upthrough vritto_lookup

Fetch full Google Books details (description, page count, categories) for one volume by its Google Books id.

FieldTypeDescription
providerId*stringGoogle Books volume id.
books_searchBooksLook Upthrough vritto_lookup

Search Google Books by title, author, or keyword. Returns provider metadata, not the user's saved library: use books_find for saved books.

FieldTypeDescription
query*stringSearch text.
limitintegerMax results (default 20).