# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module OpenApiSDK
  module Operations
    GET_PIN_REQUEST_SERVERS = [
      'https://plex.tv/api/v2'
    ].freeze
  

    class GetPinRequest < ::OpenApiSDK::Utils::FieldAugmented
      extend T::Sig

      # The unique identifier for the client application
      # This is used to track the client application and its usage
      # (UUID, serial number, or other number unique per device)
      # 
      field :x_plex_client_identifier, ::String, { 'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': false } }
      # Determines the kind of code returned by the API call
      # Strong codes are used for Pin authentication flows
      # Non-Strong codes are used for `Plex.tv/link`
      # 
      field :strong, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'strong', 'style': 'form', 'explode': true } }


      sig { params(x_plex_client_identifier: ::String, strong: T.nilable(T::Boolean)).void }
      def initialize(x_plex_client_identifier: nil, strong: nil)
        @x_plex_client_identifier = x_plex_client_identifier
        @strong = strong
      end
    end
  end
end
