Skip to content

Conversation

gnattu
Copy link
Member

@gnattu gnattu commented Mar 31, 2025

Enums in response model with no nullability or default value will make the API very fragile as each extension to the enum will break the API for some clients, but a lot of enums actually do have an unknown value which should be used as a default. This set all model properties that are non-nullable using an enum that has an Unknown member in 10.10, except MediaStream.VideoRangeType which is refactored in #13277

Changes

Issues

Enums in response model with no nullability or default value will make the API very fragile as each extension to the enum will break the API for some clients, but a lot of enums actually do have an unknown value which should be used as a default. This set all model properties that are non-nullable using an enum that has an Unknown member in 10.10, except MediaStream.VideoRangeType which is refactored in jellyfin#13277
@gnattu gnattu requested review from nielsvanvelzen and a team March 31, 2025 17:05
Copy link

Changes in OpenAPI specification found. Expand to see details.

What's Changed


GET /Artists/{name}
Return Type:

Changed response : 200 OK

Artist returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Genres/{genreName}
Return Type:

Changed response : 200 OK

Genres returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Items/{itemId}
Return Type:

Changed response : 200 OK

Item returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

POST /Items/{itemId}
Request:

Changed content type : application/json

Updated BaseItemDto :

  • Changed property MediaType (string)

    Gets or sets the type of the media.

  • Changed property People (array)

    Gets or sets the people.

    Changed items (object):
    > This is used by the api to get information about a Person within a BaseItem.

    • Changed property Type (string)

      Gets or sets the type.

Changed content type : text/json

Updated BaseItemDto :

  • Changed property MediaType (string)

    Gets or sets the type of the media.

  • Changed property People (array)

    Gets or sets the people.

    Changed items (object):
    > This is used by the api to get information about a Person within a BaseItem.

    • Changed property Type (string)

      Gets or sets the type.

Changed content type : application/*+json

Updated BaseItemDto :

  • Changed property MediaType (string)

    Gets or sets the type of the media.

  • Changed property People (array)

    Gets or sets the people.

    Changed items (object):
    > This is used by the api to get information about a Person within a BaseItem.

    • Changed property Type (string)

      Gets or sets the type.

GET /Items/{itemId}/Ancestors
Return Type:

Changed response : 200 OK

Item parents returned.

  • Changed content type : application/json

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /LiveTv/Channels/{channelId}
Return Type:

Changed response : 200 OK

Live tv channel returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /LiveTv/Programs/{programId}
Return Type:

Changed response : 200 OK

Program returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /LiveTv/Recordings/{recordingId}
Return Type:

Changed response : 200 OK

Recording returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /MediaSegments/{itemId}
Return Type:

Changed response : 200 OK

Success

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > Api model for MediaSegment's.

      • Changed property Type (string)

        Defines the types of content an individual Jellyfin.Database.Implementations.Entities.MediaSegment represents.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > Api model for MediaSegment's.

      • Changed property Type (string)

        Defines the types of content an individual Jellyfin.Database.Implementations.Entities.MediaSegment represents.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > Api model for MediaSegment's.

      • Changed property Type (string)

        Defines the types of content an individual Jellyfin.Database.Implementations.Entities.MediaSegment represents.

GET /MusicGenres/{genreName}
Return Type:

Changed response : 200 OK

Success

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Persons/{name}
Return Type:

Changed response : 200 OK

Person returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Search/Hints
Return Type:

Changed response : 200 OK

Search hint returned.

  • Changed content type : application/json

    • Changed property SearchHints (array)

      Gets the search hints.

      Changed items (object):
      > Class SearchHintResult.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property SearchHints (array)

      Gets the search hints.

      Changed items (object):
      > Class SearchHintResult.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property SearchHints (array)

      Gets the search hints.

      Changed items (object):
      > Class SearchHintResult.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

GET /Studios/{name}
Return Type:

Changed response : 200 OK

Studio returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Items/{itemId}/LocalTrailers
Return Type:

Changed response : 200 OK

An Microsoft.AspNetCore.Mvc.OkResult containing the item's local trailers.

  • Changed content type : application/json

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Items/{itemId}/SpecialFeatures
Return Type:

Changed response : 200 OK

Special features returned.

  • Changed content type : application/json

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Items/Latest
Return Type:

Changed response : 200 OK

Latest media returned.

  • Changed content type : application/json

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    Changed items (object):
    > This is strictly used as a data transfer object from the api layer.
    > This holds information about a BaseItem in a format that is convenient for the client.

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Items/Root
Return Type:

Changed response : 200 OK

Root folder returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Years/{year}
Return Type:

Changed response : 200 OK

Year returned.

  • Changed content type : application/json

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property MediaType (string)

      Gets or sets the type of the media.

    • Changed property People (array)

      Gets or sets the people.

      Changed items (object):
      > This is used by the api to get information about a Person within a BaseItem.

      • Changed property Type (string)

        Gets or sets the type.

    • Changed property MediaStreams (array)

      Gets or sets the media streams.

      Changed items (object):
      > Class MediaStream.

      • Changed property VideoRange (string)

        Gets the video range.

GET /Artists
Return Type:

Changed response : 200 OK

Artists returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Artists/AlbumArtists
Return Type:

Changed response : 200 OK

Album artists returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Channels
Return Type:

Changed response : 200 OK

Channels returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Channels/{channelId}/Items
Return Type:

Changed response : 200 OK

Channel items returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Channels/Items/Latest
Return Type:

Changed response : 200 OK

Latest channel items returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Genres
Return Type:

Changed response : 200 OK

Genres returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Albums/{itemId}/InstantMix
Return Type:

Changed response : 200 OK

Instant playlist returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Artists/{itemId}/InstantMix
Return Type:

Changed response : 200 OK

Instant playlist returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="PascalCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

GET /Artists/InstantMix
Return Type:

Changed response : 200 OK

Instant playlist returned.

  • Changed content type : application/json

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenient for the client.

      • Changed property MediaType (string)

        Gets or sets the type of the media.

      • Changed property People (array)

        Gets or sets the people.

        Changed items (object):
        > This is used by the api to get information about a Person within a BaseItem.

        • Changed property Type (string)

          Gets or sets the type.

      • Changed property MediaStreams (array)

        Gets or sets the media streams.

        Changed items (object):
        > Class MediaStream.

        • Changed property VideoRange (string)

          Gets the video range.

  • Changed content type : application/json; profile="CamelCase"

    • Changed property Items (array)

      Gets or sets the items.

      Changed items (object):
      > This is strictly used as a data transfer object from the api layer.
      > This holds information about a BaseItem in a format that is convenie...[Comment body truncated]

@crobibero crobibero merged commit 4a4fef8 into jellyfin:master Mar 31, 2025
15 checks passed
@gnattu gnattu deleted the explicit-api-model-default branch March 31, 2025 23:51
nielsvanvelzen pushed a commit to nielsvanvelzen/jellyfin that referenced this pull request Apr 3, 2025
…3821)

Enums in response model with no nullability or default value will make the API very fragile as each extension to the enum will break the API for some clients, but a lot of enums actually do have an unknown value which should be used as a default. This set all model properties that are non-nullable using an enum that has an Unknown member in 10.10, except MediaStream.VideoRangeType which is refactored in jellyfin#13277

(cherry picked from commit 4a4fef8)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants