> ## 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.

# API version and available endpoints

> Returns version information and available endpoints.

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


## OpenAPI

````yaml get /v1
openapi: 3.1.0
info:
  title: Open Media Streaming Specification (OMSS)
  description: >
    OMSS (Open Media Streaming Specification) v1.1 defines a unified REST API

    standard for streaming media backends. It enables any frontend application

    to work with any OMSS-compliant backend through standardized endpoints for

    retrieving streaming sources and subtitles for TMDB media identifiers.


    **Key Features:**

    - Standardized endpoints for movies and TV episodes

    - Multi-language and multi-quality source support

    - Subtitle support with multiple formats

    - Diagnostic reporting for partial scrapes


    **OMSS Framework:**
    [github.com/omss-spec/framework](https://github.com/omss-spec/framework)


    **OMSS Template:**
    [github.com/omss-spec/template](https://github.com/omss-spec/template)


    **OMSS SDK:** [github.com/omss-spec/sdk](https://github.com/omss-spec/sdk)
  version: 1.1.0
  license:
    name: MIT License
    url: https://github.com/omss-spec/omss-spec/blob/main/LICENSE
  contact:
    name: OMSS Community
    url: https://github.com/omss-spec/omss-spec
servers:
  - url: http://localhost:{port}
    description: Development server (localhost only)
    variables:
      port:
        default: '3000'
        description: Port
  - url: https://{domain}
    description: Production server
    variables:
      domain:
        default: api.example.com
        description: Your hosted OMSS server
security: []
tags:
  - name: Home
    description: General backend information and capabilities
  - name: Movies
    description: Movie streaming sources
  - name: TV
    description: TV episode streaming sources
  - name: Refresh
    description: Refresh cached source responses
paths:
  /v1:
    get:
      tags:
        - Home
      summary: Versioned root OMSS backend information
      description: >-
        General information about the OMSS v1 backend implementation and
        available media.
      operationId: getRootV1
      responses:
        '200':
          description: Versioned root backend information.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HomeResponse'
        '406':
          $ref: '#/components/responses/NotAcceptable'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    HomeResponse:
      type: object
      description: Root information about the OMSS backend and available media.
      required:
        - name
        - version
        - status
        - endpoints
        - spec
        - media
        - providers
      properties:
        name:
          type: string
          description: Implementation name.
        version:
          type: string
          description: Semantic version of the OMSS implementation.
        status:
          type: string
          description: API status.
          enum:
            - operational
            - degraded
            - down
        spec:
          type: string
          description: Specification identifier; MUST be "omss" for OMSS implementations.
          enum:
            - omss
        note:
          type: string
          description: >-
            Optional message, description, or disclaimer provided by the
            backend.
        endpoints:
          type: object
          description: Functions mapped to paths.
          required:
            - movie
            - tv
          properties:
            movie:
              type: string
              description: >
                Path to the movie endpoint. MUST contain the "{id}" placeholder
                where the frontend will insert the TMDB movie ID.
            tv:
              type: string
              description: >
                Path to the TV show endpoint. MUST contain the "{id}", "{s}",
                and "{e}" placeholders where the frontend will insert the TMDB
                series ID, season, and episode respectively.
        media:
          $ref: '#/components/schemas/MediaOverview'
        providers:
          type: array
          description: List of providers this backend exposes.
          items:
            $ref: '#/components/schemas/Provider'
    MediaOverview:
      type: object
      description: Overview of media availability.
      required:
        - movies
        - tv
      properties:
        movies:
          description: >
            List of TMDB movie IDs available in this backend, or "*" if all
            movies are supported.
          oneOf:
            - type: array
              items:
                type: integer
            - type: string
              enum:
                - '*'
        tv:
          description: >
            List of TMDB TV series IDs with available seasons and episodes, or
            "*" if all TV series are supported.
          oneOf:
            - type: array
              items:
                $ref: '#/components/schemas/TvAvailability'
            - type: string
              enum:
                - '*'
    Provider:
      type: object
      description: Provider metadata including capabilities.
      required:
        - id
        - name
        - capabilities
      properties:
        id:
          type: string
          description: Unique, URL-safe provider identifier.
        name:
          type: string
          description: Human-readable provider name.
        capabilities:
          type: array
          description: >
            List of media types the provider supports. Any combination of
            "movies", "tv", and/or "subtitles".
          items:
            type: string
            enum:
              - movies
              - tv
              - subtitles
    ErrorResponse:
      type: object
      description: Standard error response format for all non-2xx responses.
      required:
        - error
        - traceId
      properties:
        error:
          $ref: '#/components/schemas/ErrorObject'
        traceId:
          type: string
          description: Unique identifier for error tracking and debugging.
    TvAvailability:
      type: object
      description: Availability information for a single TV series.
      required:
        - id
        - seasons
      properties:
        id:
          type: integer
          description: TMDB series ID.
        seasons:
          type: array
          description: List of seasons with available episodes.
          items:
            type: object
            required:
              - season
              - episodes
            properties:
              season:
                type: integer
                description: Season number.
              episodes:
                type: array
                description: List of available episode numbers in this season.
                items:
                  type: integer
    ErrorObject:
      type: object
      description: Error details container.
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Machine-readable error code.
          enum:
            - INVALID_TMDB_ID
            - INVALID_PARAMETER
            - MISSING_PARAMETER
            - INVALID_SEASON
            - INVALID_EPISODE
            - INVALID_RESPONSE_ID
            - PROVIDER_NOT_FOUND
            - RESPONSE_ID_NOT_FOUND
            - NO_SOURCES_AVAILABLE
            - ENDPOINT_NOT_FOUND
            - METHOD_NOT_ALLOWED
            - INTERNAL_ERROR
            - UNSUPPORTED_MEDIA_TYPE
            - NOT_ACCEPTABLE
        message:
          type: string
          description: Human-readable error description.
        details:
          description: >
            Optional additional context about the error. Frontends should not
            display this field directly.
  responses:
    NotAcceptable:
      description: >
        The requested Accept header is not supported. OMSS supports JSON
        responses only.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnsupportedMediaType:
      description: Unsupported Content-Type in the request.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalError:
      description: Unexpected server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'

````