//------------------------------------------------------------------------------
//
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
//
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Models.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
public class ReportRequest
{
///
/// Indicates the client accepts the indicated media types
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=accepts")]
public Accepts? Accepts { get; set; } = LukeHagar.PlexAPI.SDK.Models.Components.Accepts.ApplicationXml;
///
/// An opaque identifier unique to the client
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Client-Identifier")]
public string? ClientIdentifier { get; set; }
///
/// The name of the client product
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Product")]
public string? Product { get; set; }
///
/// The version of the client application
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Version")]
public string? Version { get; set; }
///
/// The platform of the client
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform")]
public string? Platform { get; set; }
///
/// The version of the platform
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Platform-Version")]
public string? PlatformVersion { get; set; }
///
/// A relatively friendly name for the client device
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device")]
public string? Device { get; set; }
///
/// A potentially less friendly identifier for the device model
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Model")]
public string? Model { get; set; }
///
/// The device vendor
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Vendor")]
public string? DeviceVendor { get; set; }
///
/// A friendly name for the client
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Device-Name")]
public string? DeviceName { get; set; }
///
/// The marketplace on which the client application is distributed
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Marketplace")]
public string? Marketplace { get; set; }
///
/// The details key for the item.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=key")]
public string? Key { get; set; }
///
/// The rating key attribute for the item.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=ratingKey")]
public string? RatingKey { get; set; }
///
/// The current state of the media.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=state")]
public State? State { get; set; }
///
/// If playing media from a play queue, the play queue's ID.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=playQueueItemID")]
public string? PlayQueueItemID { get; set; }
///
/// The current time offset of playback in ms.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=time")]
public long? Time { get; set; }
///
/// The total duration of the item in ms.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=duration")]
public long? Duration { get; set; }
///
/// When state is `stopped`, a flag indicating whether or not the client is going to continue playing anothe item.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=continuing")]
public BoolInt? Continuing { get; set; }
///
/// Used when a sync client comes online and is syncing media timelines, holds the time at which the playback state was last updated.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=updated")]
public long? Updated { get; set; }
///
/// Also used by sync clients, used to indicate that a timeline is being synced from being offline, as opposed to being "live".
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=offline")]
public BoolInt? Offline { get; set; }
///
/// Time in seconds till first frame is displayed. Sent only on the first playing timeline request.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=timeToFirstFrame")]
public long? TimeToFirstFrame { get; set; }
///
/// Time in seconds spent buffering since last request.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=timeStalled")]
public long? TimeStalled { get; set; }
///
/// Bandwidth in kbps as estimated by the client.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=bandwidth")]
public long? Bandwidth { get; set; }
///
/// Amount of time in seconds buffered by client. Omit if computed by `bufferedSize` below.
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=bufferedTime")]
public long? BufferedTime { get; set; }
///
/// Size in kilobytes of data buffered by client. Omit if computed by `bufferedTime` above
///
[SpeakeasyMetadata("queryParam:style=form,explode=true,name=bufferedSize")]
public long? BufferedSize { get; set; }
///
/// Unique per client playback session. Used if a client can playback multiple items at a time (such as a browser with multiple tabs)
///
[SpeakeasyMetadata("header:style=simple,explode=false,name=X-Plex-Session-Identifier")]
public string? XPlexSessionIdentifier { get; set; }
}
}