Games
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.
Gamegame
A game in the user's library, with status and rating. The same operations reach its play sessions (type 'play_log') and a person's recommendations and favorite or disliked games (type 'recommendation' and 'taste').
games_findFindthrough vritto_findRead Games: the library (query, status), play sessions in a period (type 'play_log' with from/to), counts (view 'stats'), one person's links (personId), or one record by id.
Note: type 'play_log' with from/to reads sessions in a period; view 'stats' counts them by year and month; personId reads one person's recommendations, shared sessions and tastes.
| Field | Type | Description |
|---|---|---|
| type | one of record, play_log | Default 'record' (games). |
| id | string | Just this record of the type. |
| view | one of list, stats | 'stats': sessions by year and month, and ratings. |
| query | string | Matches a saved game's title, overview, genres and tags. |
| status | one of want_to_play, playing, beaten, completed, on_hold, dropped | |
| from | string | Played on or after. |
| to | string | Played on or before. ALWAYS pass from/to when the question concerns a period. |
| year | string | With view 'stats'. |
| mediaRecordId | string | One game's play logs. |
| personId | string | A People ID: what they recommended, played with the user, love or avoid. |
| detail | one of summary, full | |
| limit | integer | |
| cursor | string |
Example input
{
"status": "playing"
}games_addCreate or Updatethrough vritto_create or vritto_updateAdd to Games: a game by IGDB providerId (or a record), a play session of a saved game (type 'play_log'), or a person's recommendation or taste. An id there updates that record.
Note: Pass providerId from vritto_lookup (game_catalog) to save with full details. type 'play_log' logs a session of a saved game.
| Field | Type | Description |
|---|---|---|
| type | one of record, play_log, recommendation, taste | 'record' (default) a game; 'play_log' a play session; 'recommendation'; 'taste' a person's favorite or disliked game. |
| providerId | string | A game's IGDB ID: saves it with full details. |
| status | one of want_to_play, playing, beaten, completed, on_hold, dropped | With providerId, for a new game. |
| mediaRecordId | string | A saved game to overwrite with record. |
| record | object | A whole game; it replaces what is stored. |
| record.providerRef* | object | |
| record.title* | string | |
| record.originalTitle | string | |
| record.overview | string | |
| record.releaseDate | string | |
| record.genres | list of string | |
| record.storyline | string | |
| record.platformsAvailable | list of string | |
| record.developers | list of string | |
| record.publishers | list of string | |
| record.gameModes | list of string | |
| record.playerPerspectives | list of string | |
| record.themes | list of string | |
| record.keywords | list of string | |
| record.franchises | list of string | |
| record.series | list of string | |
| record.timeToBeat | object | |
| record.startedOn | string | |
| record.finishedOn | string | |
| record.platformPlayed | string | |
| record.replayCount | integer | |
| record.metacritic | integer | |
| record.igdbRating | integer | |
| record.status | one of want_to_play, playing, beaten, completed, on_hold, dropped | Default want_to_play. |
| record.rating | one of dislike, okay, like, love | |
| record.journalNotes | string | |
| record.recommendedByPersonIds | list of string | People who recommended it. |
| record.tags | list of string | |
| watchLogId | string | |
| log | object | |
| log.mediaRecordId* | string | The saved game's ID, from games_find. |
| log.watchedOn | string | Play date; omit for the release date, marked as a default. |
| log.platform | string | Where, e.g. PS5 or Steam Deck. |
| log.platformType | one of pc, playstation, xbox, nintendo, mobile, handheld, other | |
| log.platformService | string | |
| log.hoursPlayed | number | |
| log.platformCountry | one of US, IN | |
| log.placeKey | string | |
| log.locationLabel | string | |
| log.watchedWithPersonIds | list of string | People the user played with. |
| log.notes | string | |
| log.rating | one of dislike, okay, like, love | |
| recommendationId | string | |
| recommendation | object | |
| recommendation.mediaRecordId* | string | |
| recommendation.personId* | string | The recommender's People ID. |
| recommendation.status | one of open, accepted, dismissed, watched | |
| recommendation.note | string | |
| personTasteId | string | |
| personTaste | object | |
| personTaste.personId* | string | |
| personTaste.providerRef* | object | |
| personTaste.taste* | one of favorite, dislike | |
| personTaste.note | string |
Example input
{
"providerId": "119133",
"status": "playing"
}games_changeUpdatethrough vritto_updateChange one Games record by id; sent fields merge. A game's status (beaten, completed, dropped), rating (the user's own) or notes; a play session's details.
Note: Sent fields merge into the stored record. A rating set on the game is the user's own.
| Field | Type | Description |
|---|---|---|
| type | one of record, play_log | Default 'record' (a game). |
| id | string | |
| record | object | A game's fields to change; the rest stay. |
| record.status | one of want_to_play, playing, beaten, completed, on_hold, dropped | |
| record.rating | one of | The user's own rating; null clears it. |
| record.journalNotes | string | |
| record.tags | list of string | |
| record.platformPlayed | string | |
| record.startedOn | string | |
| record.finishedOn | string | |
| record.replayCount | integer | |
| record.recommendedByPersonIds | list of string | |
| record.title | string | |
| log | object | A play session's fields to change. |
| log.mediaRecordId | string | The saved game's ID, from games_find. |
| log.watchedOn | string | Play date; omit for the release date, marked as a default. |
| log.platform | string | Where, e.g. PS5 or Steam Deck. |
| log.platformType | one of pc, playstation, xbox, nintendo, mobile, handheld, other | |
| log.platformService | string | |
| log.hoursPlayed | number | |
| log.platformCountry | one of US, IN | |
| log.placeKey | string | |
| log.locationLabel | string | |
| log.watchedWithPersonIds | list of string | People the user played with. |
| log.notes | string | |
| log.rating | one of dislike, okay, like, love | |
| watchLogId | string | Older name for id. |
Example input
{
"id": "game_elden",
"record": {
"status": "beaten"
}
}games_removeDeletethrough vritto_deleteRemove one game with its play logs, or one play session (type 'play_log'). Only for explicit removals.
Note: type 'play_log' removes one session instead.
| Field | Type | Description |
|---|---|---|
| type | one of record, play_log | Default 'record' (a game). |
| id | string | |
| mediaRecordId | string | Older name for id. |
| watchLogId | string | Older name for id. |
Game Cataloggame_catalog
IGDB reference data, for saving a game with full details.
games_discoverGamesLook Upthrough vritto_lookupBrowse IGDB discovery lists (popular, new releases, upcoming, top rated) when the user wants suggestions rather than a title search.
| Field | Type | Description |
|---|---|---|
| category | one of popular, new_releases, upcoming, top_rated | Discovery list; defaults to "popular". |
games_getGameDetailsLook Upthrough vritto_lookupFetch full IGDB details (summary, genres, platforms, developers, publishers, ratings) for one game by IGDB ID.
| Field | Type | Description |
|---|---|---|
| providerId* | string | IGDB game ID (numeric string). |
games_searchGamesLook Upthrough vritto_lookupSearch IGDB for games by title; an empty query returns popular games. Returns provider metadata, not the user's saved library: use games_find for saved games.
| Field | Type | Description |
|---|---|---|
| query | string | Search text. Omit to return popular games. |