Skip to main content
The Platform API covers the core native PunchPlay experience: account identity and editing, preferences, title discovery data, seasons and episodes, history, ratings, favourites, watch statuses, lists, collection, calendar, Continue Watching, notifications, trophies, community stats, and live playback. All protected endpoints use a scoped bearer token:
Title type values are movie or show. Title IDs are TMDB source IDs. For a full native movie and TV client, request:
Account email is not exposed to developer apps. Use the stable user ID from GET /api/platform/v1/me for account linking. Existing users must approve newly requested scopes and receive a new access token before the corresponding endpoints become available.

Endpoint map

Title, season, and episode details

Fetch a movie or show by TMDB ID:
The response includes title metadata and returns private interaction fields only when the token also has their corresponding read scopes. Season zero is valid for specials; episode numbers start at one.

History

Log a movie watch:
Log one episode through the season-watch endpoint. Include allowRewatches: true only when the user explicitly chooses to log it again:
Watch dates cannot be in the future. Use PATCH /api/platform/v1/watch-history/{id} with a watchedAt body to edit a date, or DELETE to remove that entry.

Ratings, favourites, and watch status

One interaction request can change any combination of rating, favourite state, or show status:
Use the optional scope, season, and episode query parameters when the interaction targets a series, season, or episode rather than the title itself.

Lists

Create a private list and add a title:
List names are limited to 100 characters and descriptions to 500. Both reject links and inappropriate language. List summaries include externalSource. Treat a non-null value as externally managed and read-only. Dynamic lists are also read-only for item changes. A watchlist cannot be renamed or deleted, but its items can be added and removed. Collaborators can change items on ordinary lists; only the owner can rename or delete the list. For anime, send the normal routable kind (movie or show) and the source identity. isAnime: true remains an optional compatibility hint. When alias resolution selects a canonical TVDB identity, PunchPlay derives the anime category automatically even if the hint is omitted.

Collection

Add a physical or digital edition:
Valid formats are 4k_bluray, bluray, hd_dvd, dvd, and digital. Adding the same title, season, and format again is idempotent and returns the existing item ID.

Continue Watching

Read the user’s movie and episode progress:
Use GET /api/platform/v1/me/continue-watching/{showId} to resolve a show’s current season and episode progress. Use DELETE /api/platform/v1/playback/in-progress/{id} when the user dismisses an item.

Notifications

Developer apps can use the notification endpoints for an in-app inbox, unread badge, mark-read actions, and per-user notification preferences. The /me/push-devices routes are reserved for first-party PunchPlay clients. Third-party apps must not register their device tokens with PunchPlay; use your own notification delivery service. PunchPlay’s native push delivery requires a native iOS build and APNs credentials managed by PunchPlay.

Current boundary

The versioned Platform API covers the core movie, TV, and anime experience, including notifications, trophies, profile editing, preferences, and authenticated community stats. Stable public discovery and community overview routes live under /api/public/v1. Password changes, email changes, connected services, imports, and account deletion remain secure web experiences. Anime is a PunchPlay category rather than a routable title kind. Titles retain a movie or show kind and TMDB identity, while mapped anime series use TVDB enrichment and official episode ordering. See the generated API Reference in the Reference navigation for parameters and response contracts, and Playback API for lifecycle behavior.