GetAnimeWatchProgress
GetAnimeWatchProgress retrieves the best continue target for an anime.
/api.v1.watch.WatchService/GetAnimeWatchProgress Bearer requiredRequest
GetAnimeWatchProgressRequest
GetAnimeWatchProgressRequestapi.v1.watch.GetAnimeWatchProgressRequest2 fields
GetAnimeWatchProgressRequest identifies one anime progress scope.
slugstringURL-friendly identifier for the anime.
animeGroupIdoptionaluint32Optional anime group context.
{
"slug": "frieren",
"animeGroupId": 1
}Response
GetAnimeWatchProgressResponse
GetAnimeWatchProgressResponseapi.v1.watch.GetAnimeWatchProgressResponse5 fields
GetAnimeWatchProgressResponse contains the best continue target for an anime.
hasProgressboolIf true, the user has saved progress for this anime.
shouldResumeboolIf true, clients should offer to resume the saved position.
shouldWatchNextboolIf true, clients should open the next episode instead of resuming the last one.
{
"hasProgress": true,
"lastSeen": {
"id": 1,
"createdAt": "2026-08-19T20:15:00Z",
"updatedAt": "1",
"slug": "frieren",
"season": "1",
"episode": "1",
"positionPercent": 1.5,
"positionSeconds": 1
},
"recommendedEpisode": {
"slug": "frieren",
"season": "1",
"episode": "1",
"animeGroupId": 1,
"groupTitle": "Frieren: Beyond Journey’s End"
},
"shouldResume": false,
"shouldWatchNext": false
}Referenced models
2 nested message types
LastSeenEpisodeapi.v1.watch.LastSeenEpisode15 fields
LastSeenEpisode represents a record of user playback progress.
iduint32Unique database identifier for the record.
createdAtstringTimestamp when the record was first created (RFC3339 format).
updatedAtint64Unix timestamp (milliseconds) of the last update.
slugstringURL-friendly identifier for the anime.
seasonstringSeason identifier (e.g., "1").
episodestringEpisode identifier (e.g., "12").
positionPercentfloatCompletion percentage of the episode (0.0 to 1.0).
positionSecondsint32Current playback position in seconds.
positionMaxint32Total duration of the episode in seconds.
userIduint32The ID of the user who owns this record.
animeIduint32The ID of the anime associated with this record.
animeGroupIdoptionaluint32Optional anime group context used when the user watched through a group route.
groupTitlestringHuman-readable anime group title for display.
isCompletedboolIf true, the episode is treated as watched/completed.
completedAtint64Unix timestamp (seconds) when the episode was completed.
EpisodeTargetapi.v1.watch.EpisodeTarget5 fields
EpisodeTarget identifies an episode route that can be opened by clients.
slugstringURL-friendly identifier for the anime.
seasonstringSeason identifier.
episodestringEpisode identifier.
animeGroupIdoptionaluint32Optional anime group context for group watch routes.
groupTitlestringHuman-readable anime group title for display.
Error handling
Common failure codes
unauthenticatedThe Bearer token is missing or invalid.
invalid_argumentThe request payload failed validation.
internalThe service could not complete the operation.