/openapi.json Public This OpenAPI document
The machine-readable API description. Public — no token required.
Responses
- 200 The OpenAPI 3.1 document.
Developer
Browse, search, and control your Multipass media server from your own apps.
The public API for a Multipass media server. Use it to browse and search your libraries, filter with the same rich rules the smart-collections editor uses, list the devices currently connected to your server, and remote-control playback on them (start, pause, seek, stop).
Authentication. Every request carries an API token you create on your server's Settings page (Server → API tokens): Authorization: Bearer mpt_…. A Read token can browse, search, and list clients; a Full token can additionally control playback. The token acts as the server owner.
Base URL. Point requests at your own server, e.g. http://192.168.1.10:32600/api/v1 on your LAN, or whatever address you reach it at remotely. This documentation's live console calls the address you enter — nothing goes through Multipass's servers.
Stability. v1 is additive-only: new fields and endpoints may appear, but existing ones won't change or disappear under v1. A breaking change would ship as v2.
Profiles. Reads are per-profile where watch state matters. Send X-Profile-Id: <id> (see GET /profiles) to act as a specific profile; omit it for the default.
Enter your server's address and an API token to run calls right here. Requests go straight from your browser to your server, never through Multipass.
Create a token in your server under Settings → API tokens. Saved only in this browser.
Server identity, profiles, and filter vocabulary.
/openapi.json Public This OpenAPI document
The machine-readable API description. Public — no token required.
/server Server identity
Name, software version, and server id. A quick way to confirm your token works.
/profiles List profiles
The household's profiles. Use an id as X-Profile-Id on reads to get that profile's watch state.
Browse libraries, items, and series.
/libraries List libraries
/libraries/{id}/items List items in a movie library
One page of a movie library's items. For show libraries use /libraries/{id}/series.
id | path · required | Library id. |
sort | query | Sort order. |
limit | query | Page size (max 100). |
offset | query | Page offset. |
/libraries/{id}/series List series in a show library
id | path · required | Library id. |
sort | query | Sort order. |
limit | query | Page size (max 100). |
offset | query | Page offset. |
/items/{id} Get one item
A single movie or episode, with the requesting profile's progress attached.
id | path · required | Item id. |
/series/{id} Get one series with episodes
id | path · required | Series id. |
/items/{id}/watched Set watched state
Manually mark an item watched or unwatched for the acting profile. Marking unwatched also clears the resume position — the item leaves Keep Watching and replays from the start. through: true (episodes only, with watched: true) is catch-up: the target episode plus every earlier episode in the show becomes watched; specials (season 0) are never swept unless targeted directly. Play history is untouched. Requires a Full token.
id | path · required | Item id. |
/series/{id}/watched Bulk-set watched state for a series
Mark a whole series (or one season) watched or unwatched for the acting profile. Omit season for the whole series, specials included; season: 0 targets the specials explicitly. Unwatching clears resume positions (see PUT /items/{id}/watched). Requires a Full token.
id | path · required | Series id. |
/images/{file} Fetch cached artwork
A poster/backdrop by its cache filename (the poster/backdrop fields on items and series).
file | path · required | The image cache filename. |
Search and rule-based filtering.
/search Search movies and shows
Full-text search over titles and cast. Shows match at the series level.
q | query · required | The search query. |
limit | query | Page size (max 100). |
/browse Browse and filter a library or collection
One page of a library or collection, optionally narrowed by filter rules (the same vocabulary the smart-collections editor exposes — see GET /filters). Sort and page as needed.
/filters Filter vocabulary + values
The available filter fields and operators, plus the concrete values present in this server's catalog (genres, studios, people, crew jobs, libraries). Render your filter UI from this — it stays in sync with the server.
Connected devices and playback control.
/clients List connected clients
Every device with a live connection to the server right now, including what each is playing. controllable: true means the device runs an app that accepts control commands; a device only appears while its app is open (there is no push wake).
/clients/{deviceId}/play Full token Start playback on a client
Tell a connected client to start playing an item, optionally from a position. Requires a Full token.
deviceId | path · required | The client device id (from GET /clients). |
/clients/{deviceId}/pause Full token Pause a client
Requires a Full token.
deviceId | path · required | The client device id (from GET /clients). |
/clients/{deviceId}/resume Full token Resume a client
Requires a Full token.
deviceId | path · required | The client device id (from GET /clients). |
/clients/{deviceId}/stop Full token Stop a client
Requires a Full token.
deviceId | path · required | The client device id (from GET /clients). |
/clients/{deviceId}/seek Full token Seek a client
Jump the client to a position in the current item. Requires a Full token.
deviceId | path · required | The client device id (from GET /clients). |
Full machine-readable schema: download the OpenAPI 3.1 document,
or fetch GET /api/v1/openapi.json from your server.