SyncEpisodeProgressBatch
SyncEpisodeProgressBatch merges local device progress into the signed-in account.
/api.v1.watch.WatchService/SyncEpisodeProgressBatch Bearer requiredRequest
SyncEpisodeProgressBatchRequest
SyncEpisodeProgressBatchRequestapi.v1.watch.SyncEpisodeProgressBatchRequest1 fields
SyncEpisodeProgressBatchRequest contains local progress rows to merge into the account.
{
"items": [
{
"slug": "frieren",
"season": "1",
"episode": "1",
"positionPercent": 1.5,
"positionSeconds": 1,
"positionMax": 1,
"animeGroupId": 1,
"clientUpdatedAt": "1"
}
]
}Response
SyncEpisodeProgressBatchResponse
SyncEpisodeProgressBatchResponseapi.v1.watch.SyncEpisodeProgressBatchResponse3 fields
SyncEpisodeProgressBatchResponse summarizes a local progress merge.
importedint32Number of rows imported or updated.
skippedint32Number of rows skipped because server progress was better or input was stale.
errorsarraystring[]Per-row import errors.
{
"imported": 1,
"skipped": 1,
"errors": [
"string value"
]
}Referenced models
1 nested message types
UpdateEpisodeLastSeenRequestapi.v1.watch.UpdateEpisodeLastSeenRequest8 fields
UpdateEpisodeLastSeenRequest contains new playback progress data.
slugstringURL-friendly identifier for the anime.
seasonstringSeason identifier.
episodestringEpisode identifier.
positionPercentfloatCompletion percentage (0.0 to 1.0).
positionSecondsint32Current playback position in seconds.
positionMaxint32Total duration of the episode in seconds.
animeGroupIdoptionaluint32Optional anime group context used when watching through a group route.
clientUpdatedAtint64Client-side Unix timestamp (seconds) used for local progress merge conflict resolution.
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.