FIREANIME API
Browse API97 operations
POST

MarkEpisodeWatched

MarkEpisodeWatched marks one episode as complete and returns the next target when known.

/api.v1.watch.WatchService/MarkEpisodeWatched Bearer required
01

Request

MarkEpisodeWatchedRequest

MarkEpisodeWatchedRequestapi.v1.watch.MarkEpisodeWatchedRequest5 fields

MarkEpisodeWatchedRequest identifies an episode to mark complete.

slug
string

URL-friendly identifier for the anime.

season
string

Season identifier.

episode
string

Episode identifier.

animeGroupIdoptional
uint32

Optional anime group context used when watching through a group route.

positionMax
int32

Total duration of the episode in seconds, when known.

Request JSON
{
  "slug": "frieren",
  "season": "1",
  "episode": "1",
  "animeGroupId": 1,
  "positionMax": 1
}
02

Response

MarkEpisodeWatchedResponse

MarkEpisodeWatchedResponseapi.v1.watch.MarkEpisodeWatchedResponse2 fields

MarkEpisodeWatchedResponse confirms completion and provides the next target.

message
string

A descriptive message indicating the result.

nextEpisode

Next episode target when known.

Example response
{
  "message": "success",
  "nextEpisode": {
    "slug": "frieren",
    "season": "1",
    "episode": "1",
    "animeGroupId": 1,
    "groupTitle": "Frieren: Beyond Journey’s End"
  }
}
03

Referenced models

1 nested message types

EpisodeTargetapi.v1.watch.EpisodeTarget5 fields

EpisodeTarget identifies an episode route that can be opened by clients.

slug
string

URL-friendly identifier for the anime.

season
string

Season identifier.

episode
string

Episode identifier.

animeGroupIdoptional
uint32

Optional anime group context for group watch routes.

groupTitle
string

Human-readable anime group title for display.

04

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.