Skip to content
AniLink

Mutations

Every aniLink.anilist.mutation.* method requires authentication. Calling one without a token throws AniLinkAuthError. Mutations are never retried by the default retry policy unless you opt in.

Lists

OperationPurpose
saveMediaListEntryCreate or update a list entry
updateMediaListEntriesUpdate many entries at once
deleteMediaListEntryDelete an entry
deleteCustomListDelete a custom list

Users

OperationPurpose
updateUserUpdate viewer preferences and profile

Activity

OperationPurpose
saveTextActivityCreate or update a text activity
saveMessageActivityCreate or update a message activity
saveListActivityUpdate a list activity (mod only)
deleteActivityDelete an activity
toggleActivityPinPin or unpin an activity
toggleActivitySubscriptionSubscribe or unsubscribe
saveActivityReplyCreate or update a reply
deleteActivityReplyDelete a reply
toggleLikeToggle a like
toggleLikeV2Toggle a like (v2 likeable types)

Community

OperationPurpose
saveThreadCreate or update a thread
deleteThreadDelete a thread
toggleThreadSubscriptionSubscribe or unsubscribe
saveThreadCommentCreate or update a comment
deleteThreadCommentDelete a comment

Reviews & recommendations

OperationPurpose
saveReviewCreate or update a review
deleteReviewDelete a review
rateReviewRate a review
saveRecommendationSave a recommendation rating

Social & favourites

OperationPurpose
toggleFollowFollow or unfollow a user
toggleFavouriteToggle a favourite
updateFavouriteOrderReorder favourites

AniChart

OperationPurpose
updateAniChartSettingsUpdate AniChart settings
updateAniChartHighlightsUpdate AniChart highlights

Example

typescript
const aniLink = new AniLink("anilist-token");

const entry = await aniLink.anilist.mutation.saveMediaListEntry({
    mediaId: 143271,
    status: "CURRENT",
    score: 8.5,
    progress: 3,
});

Errors

Mutations throw AniLinkAuthError (no token), AniLinkGraphQLError (validation failures inside HTTP 200), AniLinkApiError (HTTP-level failures), and AniLinkNetworkError (transport). See Error handling.

Next steps

AniLink — typed AniList & MyAnimeList client for TypeScript.