# ReportRequest ## Example Usage ```typescript import { ReportRequest, ReportState } from "@lukehagar/plexjs/sdk/models/operations"; import { BoolInt } from "@lukehagar/plexjs/sdk/models/shared"; let value: ReportRequest = { key: "/foo", ratingKey: "xyz", state: ReportState.Playing, playQueueItemID: "123", time: 0, duration: 10000, continuing: BoolInt.True, updated: 14200000, offline: BoolInt.True, timeToFirstFrame: 1000, timeStalled: 1000, bandwidth: 100, bufferedTime: 100, bufferedSize: 1024, }; ``` ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | `accepts` | [shared.Accepts](../../../sdk/models/shared/accepts.md) | :heavy_minus_sign: | Indicates the client accepts the indicated media types | | | `clientIdentifier` | *string* | :heavy_minus_sign: | An opaque identifier unique to the client | abc123 | | `product` | *string* | :heavy_minus_sign: | The name of the client product | Plex for Roku | | `version` | *string* | :heavy_minus_sign: | The version of the client application | 2.4.1 | | `platform` | *string* | :heavy_minus_sign: | The platform of the client | Roku | | `platformVersion` | *string* | :heavy_minus_sign: | The version of the platform | 4.3 build 1057 | | `device` | *string* | :heavy_minus_sign: | A relatively friendly name for the client device | Roku 3 | | `model` | *string* | :heavy_minus_sign: | A potentially less friendly identifier for the device model | 4200X | | `deviceVendor` | *string* | :heavy_minus_sign: | The device vendor | Roku | | `deviceName` | *string* | :heavy_minus_sign: | A friendly name for the client | Living Room TV | | `marketplace` | *string* | :heavy_minus_sign: | The marketplace on which the client application is distributed | googlePlay | | `key` | *string* | :heavy_minus_sign: | The details key for the item. | /foo | | `ratingKey` | *string* | :heavy_minus_sign: | The rating key attribute for the item. | xyz | | `state` | [operations.ReportState](../../../sdk/models/operations/reportstate.md) | :heavy_minus_sign: | The current state of the media. | playing | | `playQueueItemID` | *string* | :heavy_minus_sign: | If playing media from a play queue, the play queue's ID. | 123 | | `time` | *number* | :heavy_minus_sign: | The current time offset of playback in ms. | 0 | | `duration` | *number* | :heavy_minus_sign: | The total duration of the item in ms. | 10000 | | `continuing` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | When state is `stopped`, a flag indicating whether or not the client is going to continue playing anothe item. | 1 | | `updated` | *number* | :heavy_minus_sign: | Used when a sync client comes online and is syncing media timelines, holds the time at which the playback state was last updated. | 14200000 | | `offline` | [shared.BoolInt](../../../sdk/models/shared/boolint.md) | :heavy_minus_sign: | Also used by sync clients, used to indicate that a timeline is being synced from being offline, as opposed to being "live". | 1 | | `timeToFirstFrame` | *number* | :heavy_minus_sign: | Time in seconds till first frame is displayed. Sent only on the first playing timeline request. | 1000 | | `timeStalled` | *number* | :heavy_minus_sign: | Time in seconds spent buffering since last request. | 1000 | | `bandwidth` | *number* | :heavy_minus_sign: | Bandwidth in kbps as estimated by the client. | 100 | | `bufferedTime` | *number* | :heavy_minus_sign: | Amount of time in seconds buffered by client. Omit if computed by `bufferedSize` below. | 100 | | `bufferedSize` | *number* | :heavy_minus_sign: | Size in kilobytes of data buffered by client. Omit if computed by `bufferedTime` above | 1024 | | `xPlexSessionIdentifier` | *string* | :heavy_minus_sign: | Unique per client playback session. Used if a client can playback multiple items at a time (such as a browser with multiple tabs) | |