//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
    using LukeHagar.PlexAPI.SDK.Utils;
    using Newtonsoft.Json;
    
    public class Role
    {

        /// <summary>
        /// Unique identifier for the actor or role.
        /// </summary>
        [JsonProperty("id")]
        public long Id { get; set; } = default!;

        /// <summary>
        /// The filter string used to query this actor. For example, it may indicate that this is an actor with a given key.
        /// </summary>
        [JsonProperty("filter")]
        public string Filter { get; set; } = default!;

        /// <summary>
        /// The display tag for the actor (typically the actor&apos;s name).
        /// </summary>
        [JsonProperty("tag")]
        public string Tag { get; set; } = default!;

        /// <summary>
        /// A unique key associated with the actor&apos;s tag, used for internal identification.
        /// </summary>
        [JsonProperty("tagKey")]
        public string? TagKey { get; set; }

        /// <summary>
        /// The role played by the actor in the media item.
        /// </summary>
        [JsonProperty("role")]
        public string? RoleValue { get; set; }

        /// <summary>
        /// The URL of the thumbnail image for the actor.
        /// </summary>
        [JsonProperty("thumb")]
        public string? Thumb { get; set; }
    }
}