Skip To Main Content
All modules

Movies

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.

Moviemovie

A movie in the user's library, with status and rating.

movies_queryMovieRecordsFindthrough vritto_find

Search the user's saved movie library by text and/or watch status. Use this to resolve mediaRecordId values before watch-log or record writes.

FieldTypeDescription
querystringCase-insensitive text matched against title, overview, genres, and tags.
statusone of want_to_watch, watching, watched, completed, dropped, on_holdFilter by watch status.
detailone of summary, fullRow shape: "summary" (default, id/title/status/rating/year) or "full" (every field incl. journal notes and overview).
limitintegerMaximum records (default 50 in summary mode).
cursorstringPagination cursor from a previous nextCursor.
movies_queryMovieStatsFindthrough vritto_find

Summarize the movie library: totals, watch-log counts by year and month, and rating distribution. Prefer this for how-many-movies-watched questions.

FieldTypeDescription
yearstringOptional four-digit year filter for the by-year breakdown.
movies_upsertMovieRecordCreate or Updatethrough vritto_create or vritto_update

Save a movie to the library. Prefer passing providerId alone to import full TMDB metadata (existing status/rating/notes/tags are preserved); pass record only for manual or full-record writes, which replace stored fields.

Note: Pass providerId from vritto_lookup (movie_catalog) to save with full details. A record body replaces stored fields.

FieldTypeDescription
providerIdstringTMDB movie ID: pass this alone to import/save with TMDB metadata.
statusone of want_to_watch, watching, watched, completed, dropped, on_holdInitial watch status for a provider-only quick-save (providerId without record); only applied when creating, an existing record's status wins. Ignored when record is passed.
mediaRecordIdstringExisting saved record ID to overwrite; defaults to a provider-derived ID.
recordobjectFull movie record body. The write replaces the stored record, so include every field to keep.
record.providerRef*objectProvider reference identifying the movie.
record.title*stringMovie title.
record.originalTitlestring
record.overviewstring
record.releaseDatestringYYYY-MM-DD theatrical release date; also the default first-watch date.
record.runtimeMinutesnumber
record.genreslist of string
record.statusone of want_to_watch, watching, watched, completed, dropped, on_holdWatch status; defaults to "want_to_watch".
record.ratingone of dislike, okay, like, loveRating on Vritto's four-point scale.
record.journalNotesstringOwner journal notes.
record.recommendedByPersonIdslist of stringVritto People record IDs who recommended this movie.
record.tagslist of stringList names/tags.
Example input
{
  "providerId": "693134",
  "status": "want_to_watch"
}
movies_deleteMovieRecordDeletethrough vritto_delete

Remove one saved movie plus all of its watch logs and recommendations. Only for explicit removals.

FieldTypeDescription
mediaRecordId*stringSaved movie record ID to delete.

Movie Watch Logmovie_watch_log

One viewing of a saved movie.

movies_queryMovieWatchLogsFindthrough vritto_find

List movie watch logs (title, date, platform, rating), newest first. Supports a watched-date range, ALWAYS pass from/to when the question concerns a period (a year, a month, 'recently'). Rows are compact summaries; pass detail 'full' only when the user needs full log notes.

FieldTypeDescription
mediaRecordIdstringLimit logs to one saved movie record.
fromstringOnly logs watched ON or AFTER this YYYY-MM-DD date.
tostringOnly logs watched ON or BEFORE this YYYY-MM-DD date.
detailone of summary, fullRow shape: "summary" (default, title/date/platform/rating + notes preview) or "full" (every field incl. complete notes).
limitintegerMaximum logs (default 100 in summary mode).
cursorstringPagination cursor from a previous nextCursor.
movies_addMovieWatchLogCreatethrough vritto_create

Log a watch of a saved movie and mark the record watched. Use this to mark movies as watched after resolving the mediaRecordId; omit watchedOn when the release-date default is acceptable.

FieldTypeDescription
watchLogIdstringExplicit watch log ID; reusing the same ID makes retries idempotent. Defaults to a random ID.
log*objectWatch log fields.
log.mediaRecordId*stringSaved movie record ID; resolve it with movies_queryMovieRecords first.
log.watchedOnstringYYYY-MM-DD watch date. Omit to default to the TMDB release date, marked as defaulted so the user can edit it later.
log.platformstringWhere it was watched, e.g. Netflix or AMC.
log.platformTypeone of theater, streaming, television, otherPlatform type; defaults to "theater".
log.platformServicestringStreaming service name when platformType is streaming.
log.platformCountryone of US, INCountry whose catalog the platform was watched in; omit when unknown.
log.placeKeystringPlaces key where it was watched: google:<placeId> or manual:<uuid>, from the Places module.
log.locationLabelstringFree-text location label.
log.watchedWithPersonIdslist of stringVritto People record IDs the user watched with; must reference active People records.
log.notesstringJournal notes for this watch.
log.ratingone of dislike, okay, like, loveRating on Vritto's four-point scale.
Example input
{
  "log": {
    "mediaRecordId": "movie_dune2",
    "watchedOn": "2026-09-25",
    "platformType": "theater",
    "rating": "love"
  }
}
movies_updateMovieWatchLogUpdatethrough vritto_update

Rewrite an existing movie watch log. The log body replaces the stored fields, so include mediaRecordId and every field to keep.

Note: The log body replaces the stored fields; read the log first and send every field to keep.

FieldTypeDescription
watchLogId*stringExisting watch log ID.
log*objectWatch log fields.
log.mediaRecordId*stringSaved movie record ID; resolve it with movies_queryMovieRecords first.
log.watchedOnstringYYYY-MM-DD watch date. Omit to default to the TMDB release date, marked as defaulted so the user can edit it later.
log.platformstringWhere it was watched, e.g. Netflix or AMC.
log.platformTypeone of theater, streaming, television, otherPlatform type; defaults to "theater".
log.platformServicestringStreaming service name when platformType is streaming.
log.platformCountryone of US, INCountry whose catalog the platform was watched in; omit when unknown.
log.placeKeystringPlaces key where it was watched: google:<placeId> or manual:<uuid>, from the Places module.
log.locationLabelstringFree-text location label.
log.watchedWithPersonIdslist of stringVritto People record IDs the user watched with; must reference active People records.
log.notesstringJournal notes for this watch.
log.ratingone of dislike, okay, like, loveRating on Vritto's four-point scale.
movies_deleteMovieWatchLogDeletethrough vritto_delete

Delete one movie watch log and refresh the record's watch count and last-watched date. Only for explicit removals.

FieldTypeDescription
watchLogId*stringWatch log ID to delete.

Movie Recommendationmovie_recommendation

A person's recommendation of a saved movie.

movies_upsertMovieRecommendationCreate or Updatethrough vritto_create or vritto_update

Record that a Vritto person recommended a saved movie, and track the recommendation's status. Also links the person on the movie record.

FieldTypeDescription
recommendationIdstringExisting recommendation ID; defaults to a movie+person derived ID.
recommendation*object
recommendation.mediaRecordId*stringSaved movie record ID.
recommendation.personId*stringVritto People record ID of the recommender.
recommendation.statusone of open, accepted, dismissed, watchedRecommendation status; defaults to "open".
recommendation.notestringWhy they recommended it.

Person's Movie Tastemovie_taste

A person's favorite or disliked movie.

movies_upsertMoviePersonTasteCreate or Updatethrough vritto_create or vritto_update

Record a Vritto person's favorite/dislike taste for a movie identified by provider reference (the movie does not need to be saved).

FieldTypeDescription
personTasteIdstringExisting taste record ID; defaults to a person+movie derived ID.
personTaste*object
personTaste.personId*stringVritto People record ID.
personTaste.providerRef*objectProvider reference identifying the movie.
personTaste.taste*one of favorite, dislikeWhether the person loves or avoids it.
personTaste.notestring

Movie Catalogmovie_catalog

TMDB reference data, for saving a movie with full details.

movies_discoverMoviesLook Upthrough vritto_lookup

Browse TMDB movie discovery lists (popular, now playing, upcoming, top rated) when the user wants suggestions rather than a title search.

FieldTypeDescription
categoryone of popular, now_playing, upcoming, top_ratedDiscovery list; defaults to "popular".
pageintegerTMDB result page, starting at 1.
movies_getMovieDetailsLook Upthrough vritto_lookup

Fetch full TMDB details (overview, runtime, genres, cast/crew) for one movie by TMDB ID.

FieldTypeDescription
providerId*stringTMDB movie ID (numeric string).
movies_searchMoviesLook Upthrough vritto_lookup

Search TMDB for movies by title; an empty query returns popular movies. Returns provider metadata, not the user's saved library: use movies_queryMovieRecords for saved movies.

FieldTypeDescription
querystringSearch text. Omit to return popular movies.
pageintegerTMDB result page, starting at 1.