//------------------------------------------------------------------------------
//
// 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.Requests;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
///
/// Logged in user details
///
public class GetTokenDetailsUserPlexAccount
{
///
/// Unknown
///
[JsonProperty("adsConsent", NullValueHandling = NullValueHandling.Include)]
public bool? AdsConsent { get; set; }
[JsonProperty("adsConsentReminderAt", NullValueHandling = NullValueHandling.Include)]
public long? AdsConsentReminderAt { get; set; }
[JsonProperty("adsConsentSetAt", NullValueHandling = NullValueHandling.Include)]
public long? AdsConsentSetAt { get; set; }
///
/// Unknown
///
[JsonProperty("anonymous")]
public bool? Anonymous { get; set; } = false;
///
/// The account token
///
[JsonProperty("authToken")]
public string AuthToken { get; set; } = default!;
///
/// If the two-factor authentication backup codes have been created
///
[JsonProperty("backupCodesCreated")]
public bool? BackupCodesCreated { get; set; } = false;
///
/// If the account has been confirmed
///
[JsonProperty("confirmed")]
public bool? Confirmed { get; set; } = false;
///
/// The account country
///
[JsonProperty("country")]
public string Country { get; set; } = default!;
///
/// The account email address
///
[JsonProperty("email")]
public string Email { get; set; } = default!;
///
/// If login with email only is enabled
///
[JsonProperty("emailOnlyAuth")]
public bool? EmailOnlyAuth { get; set; } = false;
///
/// If experimental features are enabled
///
[JsonProperty("experimentalFeatures")]
public bool? ExperimentalFeatures { get; set; } = false;
///
/// Your account full name
///
[JsonProperty("friendlyName")]
public string FriendlyName { get; set; } = default!;
///
/// List of devices your allowed to use with this account
///
[JsonProperty("entitlements")]
public List Entitlements { get; set; } = default!;
///
/// If the account is a Plex Home guest user
///
[JsonProperty("guest")]
public bool? Guest { get; set; } = false;
///
/// If the account has a password
///
[JsonProperty("hasPassword")]
public bool? HasPassword { get; set; } = true;
///
/// If the account is a Plex Home user
///
[JsonProperty("home")]
public bool? Home { get; set; } = false;
///
/// If the account is the Plex Home admin
///
[JsonProperty("homeAdmin")]
public bool? HomeAdmin { get; set; } = false;
///
/// The number of accounts in the Plex Home
///
[JsonProperty("homeSize")]
public int HomeSize { get; set; } = default!;
///
/// The Plex account ID
///
[JsonProperty("id")]
public int Id { get; set; } = default!;
///
/// Unix epoch datetime in seconds
///
[JsonProperty("joinedAt")]
public long JoinedAt { get; set; } = default!;
///
/// The account locale
///
[JsonProperty("locale", NullValueHandling = NullValueHandling.Include)]
public string? Locale { get; set; }
///
/// If you are subscribed to the Plex newsletter
///
[JsonProperty("mailingListActive")]
public bool? MailingListActive { get; set; } = false;
///
/// Your current mailing list status (active or unsubscribed)
///
[JsonProperty("mailingListStatus")]
public MailingListStatus MailingListStatus { get; set; } = default!;
///
/// The maximum number of accounts allowed in the Plex Home
///
[JsonProperty("maxHomeSize")]
public int MaxHomeSize { get; set; } = default!;
///
/// [Might be removed] The hashed Plex Home PIN
///
[Obsolete("This field will be removed in a future release, please migrate away from it as soon as possible")]
[JsonProperty("pin")]
public string? Pin { get; set; }
[JsonProperty("profile")]
public UserProfile Profile { get; set; } = default!;
///
/// If the account has a Plex Home PIN enabled
///
[JsonProperty("protected")]
public bool? Protected { get; set; } = false;
///
/// Unix epoch datetime in seconds
///
[JsonProperty("rememberExpiresAt")]
public long RememberExpiresAt { get; set; } = default!;
///
/// If the account is a Plex Home managed user
///
[JsonProperty("restricted")]
public bool? Restricted { get; set; } = false;
///
/// [Might be removed] List of account roles. Plexpass membership listed here
///
[JsonProperty("roles")]
public List? Roles { get; set; }
///
/// Unknown
///
[JsonProperty("scrobbleTypes")]
public string ScrobbleTypes { get; set; } = default!;
[JsonProperty("services")]
public List Services { get; set; } = default!;
///
/// If the account’s Plex Pass subscription is active
///
[JsonProperty("subscription")]
public Subscription Subscription { get; set; } = default!;
///
/// Description of the Plex Pass subscription
///
[JsonProperty("subscriptionDescription", NullValueHandling = NullValueHandling.Include)]
public string? SubscriptionDescription { get; set; }
[JsonProperty("subscriptions")]
public List? Subscriptions { get; set; }
///
/// URL of the account thumbnail
///
[JsonProperty("thumb")]
public string Thumb { get; set; } = default!;
///
/// The title of the account (username or friendly name)
///
[JsonProperty("title")]
public string Title { get; set; } = default!;
///
/// If two-factor authentication is enabled
///
[JsonProperty("twoFactorEnabled")]
public bool? TwoFactorEnabled { get; set; } = false;
///
/// The account username
///
[JsonProperty("username")]
public string Username { get; set; } = default!;
///
/// The account UUID
///
[JsonProperty("uuid")]
public string Uuid { get; set; } = default!;
[JsonProperty("attributionPartner", NullValueHandling = NullValueHandling.Include)]
public string? AttributionPartner { get; set; }
}
}