> ## Documentation Index
> Fetch the complete documentation index at: https://omss.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction to OMSS v1.0

> Reference for the Open Media Streaming Standard (OMSS) v1.0 HTTP API. The following pages are generated directly from the OpenAPI specification and defines every endpoint required by an OMSS-compliant server.

<Danger>You are viewing documentation for an outdated version of the specification.</Danger>

## Overview

The **Open Media Streaming Standard (OMSS)** defines a standardized HTTP API for media backends. By adhering to the specification, both clients and servers can interoperate without requiring implementation-specific integrations.

OMSS specifies:

* A consistent HTTP API for resolving media sources
* Standard request and response models
* Common provider behavior
* Metadata and source representations
* A portable contract that any compliant implementation can expose

Because the API is standardized, any OMSS-compliant client can communicate with any OMSS-compliant server without modification.

## Core Concepts

Understanding these concepts will help you read the endpoint reference and understand the API.

### Media IDs

OMSS identifies media using **TMDB IDs** (The Movie Database identifiers).

Movie endpoints require the movie's TMDB ID.

TV episode endpoints require:

* TMDB show ID
* Season number
* Episode number

These identifiers provide a consistent way for providers to resolve media sources across different implementations.

### Providers

A **provider** is an implementation responsible for resolving media sources from a particular streaming source.

The OMSS specification defines the contract between the server and its providers, but does **not** prescribe how providers are implemented, discovered, or managed. Different OMSS implementations may use different architectures/technologies while exposing the same external API. (e.g., you could implement OMSS with TypeScript, Python, or Go, and aslong as the API contract is followed, clients will work with any implementation.)

### Sources

A **source** represents a playable or downloadable media stream returned by one or more providers.

A source may include information such as:

* Stream URL
* Quality
* Language
* Available subtitles
* Provider metadata

A single request may return multiple sources originating from multiple providers.

The OMSS specification defines the structure of source objects but does not dictate how implementations cache, prioritize, or retrieve them.

### Proxying & Stream Resolution

Some providers expose streams through intermediary proxy services rather than direct origin URLs.

OMSS standardizes the representation of resolved media sources but intentionally leaves proxying, URL unwrapping, caching strategies, and request routing as implementation details. Individual servers may choose to expose original URLs, proxy endpoints, or additional stream processing features.

***

## How to Read This Reference

<CardGroup cols="2">
  <Card title="Generated from the specification" icon="file-code">
    Every endpoint in this section is [generated directly from the official OMSS v1.0 OpenAPI specification](https://raw.githubusercontent.com/omss-spec/omss-spec/refs/heads/main/spec/v1.0/omss-v1.0.yml). The reference stays synchronized with the standard rather than relying on manually maintained documentation.
  </Card>

  <Card title="Interactive playground" icon="play">
    Each endpoint includes an interactive playground. Configure the server URL to point at any OMSS-compliant implementation and execute requests directly from the documentation.
  </Card>

  <Card title="Implementation-independent" icon="link">
    This reference describes the OMSS specification itself—not any particular implementation. Any server conforming to OMSS should expose the same API contract.
  </Card>

  <Card title="Multi-language examples" icon="code">
    Every endpoint includes automatically generated examples for JavaScript, cURL, Python, PHP, Go, and Java.
  </Card>
</CardGroup>

<Info>The playground defaults to `https://api.example.com`. Replace the server URL with the address of your own OMSS-compatible server before sending requests.</Info>

***

## Before You Start

To use this API, you'll need access to an **OMSS-compliant server**.

Depending on the implementation you choose, additional configuration may be required, such as:

1. Deploying or connecting to an OMSS server
2. Configuring provider integrations
3. Supplying any required API keys or credentials
4. Enabling one or more providers capable of resolving media sources

Consult your implementation's documentation for installation and configuration details.

Once your server is running, you can begin exploring the API:

<CardGroup cols="2">
  <Card title="Get Movie Sources" icon="film" href="/spec/v1.0/ref/content/get-streaming-sources-for-a-movie">
    Resolve streaming sources for a movie by TMDB ID.
  </Card>

  <Card title="Get TV Episode Sources" icon="tv" href="/spec/v1.0/ref/content/get-streaming-sources-for-a-tv-episode">
    Resolve streaming sources for a TV episode using its TMDB show ID, season, and episode.
  </Card>
</CardGroup>
