{-# LANGUAGE ExplicitForAll #-} {-# LANGUAGE MultiWayIf #-} -- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator. {-# LANGUAGE OverloadedStrings #-} -- | Contains the different functions to run the operation postAccountPersonsPerson module StripeAPI.Operations.PostAccountPersonsPerson where import qualified Control.Monad.Fail import qualified Control.Monad.Trans.Reader import qualified Data.Aeson import qualified Data.Aeson as Data.Aeson.Encoding.Internal import qualified Data.Aeson as Data.Aeson.Types import qualified Data.Aeson as Data.Aeson.Types.FromJSON import qualified Data.Aeson as Data.Aeson.Types.Internal import qualified Data.Aeson as Data.Aeson.Types.ToJSON import qualified Data.ByteString.Char8 import qualified Data.ByteString.Char8 as Data.ByteString.Internal import qualified Data.Either import qualified Data.Functor import qualified Data.Scientific import qualified Data.Text import qualified Data.Text.Internal import qualified Data.Time.Calendar as Data.Time.Calendar.Days import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime import qualified Data.Vector import qualified GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified Network.HTTP.Client import qualified Network.HTTP.Client as Network.HTTP.Client.Request import qualified Network.HTTP.Client as Network.HTTP.Client.Types import qualified Network.HTTP.Simple import qualified Network.HTTP.Types import qualified Network.HTTP.Types as Network.HTTP.Types.Status import qualified Network.HTTP.Types as Network.HTTP.Types.URI import qualified StripeAPI.Common import StripeAPI.Types import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | > POST /v1/account/persons/{person} -- -- \

Updates an existing person.\<\/p> postAccountPersonsPerson :: forall m. StripeAPI.Common.MonadHTTP m => -- | person | Constraints: Maximum length of 5000 Data.Text.Internal.Text -> -- | The request body to send GHC.Maybe.Maybe PostAccountPersonsPersonRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostAccountPersonsPersonResponse) postAccountPersonsPerson person body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostAccountPersonsPersonResponseError GHC.Base.id GHC.Base.. ( \response body -> if | (\status_1 -> Network.HTTP.Types.Status.statusCode status_1 GHC.Classes.== 200) (Network.HTTP.Client.Types.responseStatus response) -> PostAccountPersonsPersonResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Person ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> PostAccountPersonsPersonResponseDefault Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Error ) | GHC.Base.otherwise -> Data.Either.Left "Missing default response type" ) response_0 ) response_0 ) (StripeAPI.Common.doBodyCallWithConfigurationM (Data.Text.toUpper GHC.Base.$ Data.Text.pack "POST") (Data.Text.pack ("/v1/account/persons/" GHC.Base.++ (Data.ByteString.Char8.unpack (Network.HTTP.Types.URI.urlEncode GHC.Types.True GHC.Base.$ (Data.ByteString.Char8.pack GHC.Base.$ StripeAPI.Common.stringifyModel person)) GHC.Base.++ ""))) GHC.Base.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostAccountPersonsPersonRequestBody = PostAccountPersonsPersonRequestBody { -- | account -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAccount :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address: The person\'s address. postAccountPersonsPersonRequestBodyAddress :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyAddress'), -- | address_kana: The Kana variation of the person\'s address (Japan only). postAccountPersonsPersonRequestBodyAddressKana :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyAddressKana'), -- | address_kanji: The Kanji variation of the person\'s address (Japan only). postAccountPersonsPersonRequestBodyAddressKanji :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyAddressKanji'), -- | dob: The person\'s date of birth. postAccountPersonsPersonRequestBodyDob :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyDob'Variants), -- | documents: Documents that may be submitted to satisfy various informational requests. postAccountPersonsPersonRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyDocuments'), -- | email: The person\'s email address. postAccountPersonsPersonRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postAccountPersonsPersonRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | first_name: The person\'s first name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyFirstName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | first_name_kana: The Kana variation of the person\'s first name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyFirstNameKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | first_name_kanji: The Kanji variation of the person\'s first name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyFirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | gender: The person\'s gender (International regulations require either \"male\" or \"female\"). postAccountPersonsPersonRequestBodyGender :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | id_number: The person\'s ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https:\/\/stripe.com\/docs\/stripe.js\#collecting-pii-data). -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name: The person\'s last name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyLastName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name_kana: The Kana variation of the person\'s last name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyLastNameKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name_kanji: The Kanji variation of the person\'s last name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyLastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | maiden_name: The person\'s maiden name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyMaidenName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`. postAccountPersonsPersonRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyMetadata'Variants), -- | nationality: The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)), or \"XX\" if unavailable. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyNationality :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | person_token: A [person token](https:\/\/stripe.com\/docs\/connect\/account-tokens), used to securely provide details to the person. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyPersonToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: The person\'s phone number. postAccountPersonsPersonRequestBodyPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | political_exposure: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyPoliticalExposure :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | relationship: The relationship that this person has with the account\'s legal entity. postAccountPersonsPersonRequestBodyRelationship :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyRelationship'), -- | ssn_last_4: The last four digits of the person\'s Social Security number (U.S. only). postAccountPersonsPersonRequestBodySsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verification: The person\'s verification status. postAccountPersonsPersonRequestBodyVerification :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("account" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAccount obj : "address" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji obj : "dob" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob obj : "documents" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments obj : "email" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyEmail obj : "expand" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyExpand obj : "first_name" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyFirstName obj : "first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyFirstNameKana obj : "first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyFirstNameKanji obj : "gender" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyGender obj : "id_number" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyIdNumber obj : "last_name" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyLastName obj : "last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyLastNameKana obj : "last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyLastNameKanji obj : "maiden_name" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyMaidenName obj : "metadata" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyMetadata obj : "nationality" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyNationality obj : "person_token" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyPersonToken obj : "phone" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyPhone obj : "political_exposure" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyPoliticalExposure obj : "relationship" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship obj : "ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodySsnLast_4 obj : "verification" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAccount obj) GHC.Base.<> (("address" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji obj) GHC.Base.<> (("dob" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob obj) GHC.Base.<> (("documents" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyEmail obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyExpand obj) GHC.Base.<> (("first_name" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyFirstName obj) GHC.Base.<> (("first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyFirstNameKana obj) GHC.Base.<> (("first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyFirstNameKanji obj) GHC.Base.<> (("gender" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyGender obj) GHC.Base.<> (("id_number" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyIdNumber obj) GHC.Base.<> (("last_name" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyLastName obj) GHC.Base.<> (("last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyLastNameKana obj) GHC.Base.<> (("last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyLastNameKanji obj) GHC.Base.<> (("maiden_name" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyMaidenName obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyMetadata obj) GHC.Base.<> (("nationality" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyNationality obj) GHC.Base.<> (("person_token" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyPersonToken obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyPhone obj) GHC.Base.<> (("political_exposure" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyPoliticalExposure obj) GHC.Base.<> (("relationship" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship obj) GHC.Base.<> (("ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodySsnLast_4 obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification obj))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBody" (\obj -> ((((((((((((((((((((((((GHC.Base.pure PostAccountPersonsPersonRequestBody GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dob")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "documents")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "gender")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "maiden_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "nationality")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "person_token")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "political_exposure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "relationship")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ssn_last_4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Create a new 'PostAccountPersonsPersonRequestBody' with all required fields. mkPostAccountPersonsPersonRequestBody :: PostAccountPersonsPersonRequestBody mkPostAccountPersonsPersonRequestBody = PostAccountPersonsPersonRequestBody { postAccountPersonsPersonRequestBodyAccount = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddress = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyDob = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyDocuments = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyEmail = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyExpand = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyFirstName = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyFirstNameKana = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyFirstNameKanji = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyGender = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyIdNumber = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyLastName = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyLastNameKana = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyLastNameKanji = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyMaidenName = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyMetadata = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyNationality = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyPersonToken = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyPhone = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyPoliticalExposure = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyRelationship = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodySsnLast_4 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address@ in the specification. -- -- The person\'s address. data PostAccountPersonsPersonRequestBodyAddress' = PostAccountPersonsPersonRequestBodyAddress' { -- | city -- -- Constraints: -- -- * Maximum length of 100 postAccountPersonsPersonRequestBodyAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 200 postAccountPersonsPersonRequestBodyAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 200 postAccountPersonsPersonRequestBodyAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyAddress'" (\obj -> (((((GHC.Base.pure PostAccountPersonsPersonRequestBodyAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Create a new 'PostAccountPersonsPersonRequestBodyAddress'' with all required fields. mkPostAccountPersonsPersonRequestBodyAddress' :: PostAccountPersonsPersonRequestBodyAddress' mkPostAccountPersonsPersonRequestBodyAddress' = PostAccountPersonsPersonRequestBodyAddress' { postAccountPersonsPersonRequestBodyAddress'City = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddress'Country = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddress'Line1 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddress'Line2 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddress'PostalCode = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddress'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address_kana@ in the specification. -- -- The Kana variation of the person\'s address (Japan only). data PostAccountPersonsPersonRequestBodyAddressKana' = PostAccountPersonsPersonRequestBodyAddressKana' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyAddressKana'" (\obj -> ((((((GHC.Base.pure PostAccountPersonsPersonRequestBodyAddressKana' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Create a new 'PostAccountPersonsPersonRequestBodyAddressKana'' with all required fields. mkPostAccountPersonsPersonRequestBodyAddressKana' :: PostAccountPersonsPersonRequestBodyAddressKana' mkPostAccountPersonsPersonRequestBodyAddressKana' = PostAccountPersonsPersonRequestBodyAddressKana' { postAccountPersonsPersonRequestBodyAddressKana'City = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana'Country = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana'Line1 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana'Line2 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana'PostalCode = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana'State = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address_kanji@ in the specification. -- -- The Kanji variation of the person\'s address (Japan only). data PostAccountPersonsPersonRequestBodyAddressKanji' = PostAccountPersonsPersonRequestBodyAddressKanji' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyAddressKanji'" (\obj -> ((((((GHC.Base.pure PostAccountPersonsPersonRequestBodyAddressKanji' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Create a new 'PostAccountPersonsPersonRequestBodyAddressKanji'' with all required fields. mkPostAccountPersonsPersonRequestBodyAddressKanji' :: PostAccountPersonsPersonRequestBodyAddressKanji' mkPostAccountPersonsPersonRequestBodyAddressKanji' = PostAccountPersonsPersonRequestBodyAddressKanji' { postAccountPersonsPersonRequestBodyAddressKanji'City = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji'Country = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji'Line1 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji'Line2 = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji'PostalCode = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji'State = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. data PostAccountPersonsPersonRequestBodyDob'OneOf1 = PostAccountPersonsPersonRequestBodyDob'OneOf1 { -- | day postAccountPersonsPersonRequestBodyDob'OneOf1Day :: GHC.Types.Int, -- | month postAccountPersonsPersonRequestBodyDob'OneOf1Month :: GHC.Types.Int, -- | year postAccountPersonsPersonRequestBodyDob'OneOf1Year :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyDob'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("day" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob'OneOf1Day obj : "month" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob'OneOf1Month obj : "year" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob'OneOf1Year obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("day" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob'OneOf1Day obj) GHC.Base.<> (("month" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob'OneOf1Month obj) GHC.Base.<> ("year" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDob'OneOf1Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyDob'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyDob'OneOf1" (\obj -> ((GHC.Base.pure PostAccountPersonsPersonRequestBodyDob'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "day")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "year")) -- | Create a new 'PostAccountPersonsPersonRequestBodyDob'OneOf1' with all required fields. mkPostAccountPersonsPersonRequestBodyDob'OneOf1 :: -- | 'postAccountPersonsPersonRequestBodyDob'OneOf1Day' GHC.Types.Int -> -- | 'postAccountPersonsPersonRequestBodyDob'OneOf1Month' GHC.Types.Int -> -- | 'postAccountPersonsPersonRequestBodyDob'OneOf1Year' GHC.Types.Int -> PostAccountPersonsPersonRequestBodyDob'OneOf1 mkPostAccountPersonsPersonRequestBodyDob'OneOf1 postAccountPersonsPersonRequestBodyDob'OneOf1Day postAccountPersonsPersonRequestBodyDob'OneOf1Month postAccountPersonsPersonRequestBodyDob'OneOf1Year = PostAccountPersonsPersonRequestBodyDob'OneOf1 { postAccountPersonsPersonRequestBodyDob'OneOf1Day = postAccountPersonsPersonRequestBodyDob'OneOf1Day, postAccountPersonsPersonRequestBodyDob'OneOf1Month = postAccountPersonsPersonRequestBodyDob'OneOf1Month, postAccountPersonsPersonRequestBodyDob'OneOf1Year = postAccountPersonsPersonRequestBodyDob'OneOf1Year } -- | Defines the oneOf schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. -- -- The person\'s date of birth. data PostAccountPersonsPersonRequestBodyDob'Variants = -- | Represents the JSON value @""@ PostAccountPersonsPersonRequestBodyDob'EmptyString | PostAccountPersonsPersonRequestBodyDob'PostAccountPersonsPersonRequestBodyDob'OneOf1 PostAccountPersonsPersonRequestBodyDob'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyDob'Variants where toJSON (PostAccountPersonsPersonRequestBodyDob'PostAccountPersonsPersonRequestBodyDob'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPersonsPersonRequestBodyDob'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyDob'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPersonsPersonRequestBodyDob'EmptyString | GHC.Base.otherwise -> case (PostAccountPersonsPersonRequestBodyDob'PostAccountPersonsPersonRequestBodyDob'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents@ in the specification. -- -- Documents that may be submitted to satisfy various informational requests. data PostAccountPersonsPersonRequestBodyDocuments' = PostAccountPersonsPersonRequestBodyDocuments' { -- | company_authorization postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'), -- | passport postAccountPersonsPersonRequestBodyDocuments'Passport :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyDocuments'Passport'), -- | visa postAccountPersonsPersonRequestBodyDocuments'Visa :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyDocuments'Visa') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyDocuments' where toJSON obj = Data.Aeson.Types.Internal.object ("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization obj : "passport" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Passport obj : "visa" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Visa obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization obj) GHC.Base.<> (("passport" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Passport obj) GHC.Base.<> ("visa" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Visa obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyDocuments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyDocuments'" (\obj -> ((GHC.Base.pure PostAccountPersonsPersonRequestBodyDocuments' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "company_authorization")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "passport")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "visa")) -- | Create a new 'PostAccountPersonsPersonRequestBodyDocuments'' with all required fields. mkPostAccountPersonsPersonRequestBodyDocuments' :: PostAccountPersonsPersonRequestBodyDocuments' mkPostAccountPersonsPersonRequestBodyDocuments' = PostAccountPersonsPersonRequestBodyDocuments' { postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyDocuments'Passport = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyDocuments'Visa = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_authorization@ in the specification. data PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' = PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' { -- | files postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'" (\obj -> GHC.Base.pure PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'' with all required fields. mkPostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' :: PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' mkPostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' = PostAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization' {postAccountPersonsPersonRequestBodyDocuments'CompanyAuthorization'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.passport@ in the specification. data PostAccountPersonsPersonRequestBodyDocuments'Passport' = PostAccountPersonsPersonRequestBodyDocuments'Passport' { -- | files postAccountPersonsPersonRequestBodyDocuments'Passport'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyDocuments'Passport' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Passport'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Passport'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyDocuments'Passport' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyDocuments'Passport'" (\obj -> GHC.Base.pure PostAccountPersonsPersonRequestBodyDocuments'Passport' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPersonsPersonRequestBodyDocuments'Passport'' with all required fields. mkPostAccountPersonsPersonRequestBodyDocuments'Passport' :: PostAccountPersonsPersonRequestBodyDocuments'Passport' mkPostAccountPersonsPersonRequestBodyDocuments'Passport' = PostAccountPersonsPersonRequestBodyDocuments'Passport' {postAccountPersonsPersonRequestBodyDocuments'Passport'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.visa@ in the specification. data PostAccountPersonsPersonRequestBodyDocuments'Visa' = PostAccountPersonsPersonRequestBodyDocuments'Visa' { -- | files postAccountPersonsPersonRequestBodyDocuments'Visa'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyDocuments'Visa' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Visa'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyDocuments'Visa'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyDocuments'Visa' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyDocuments'Visa'" (\obj -> GHC.Base.pure PostAccountPersonsPersonRequestBodyDocuments'Visa' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPersonsPersonRequestBodyDocuments'Visa'' with all required fields. mkPostAccountPersonsPersonRequestBodyDocuments'Visa' :: PostAccountPersonsPersonRequestBodyDocuments'Visa' mkPostAccountPersonsPersonRequestBodyDocuments'Visa' = PostAccountPersonsPersonRequestBodyDocuments'Visa' {postAccountPersonsPersonRequestBodyDocuments'Visa'Files = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.metadata.anyOf@ in the specification. -- -- Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`. data PostAccountPersonsPersonRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostAccountPersonsPersonRequestBodyMetadata'EmptyString | PostAccountPersonsPersonRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyMetadata'Variants where toJSON (PostAccountPersonsPersonRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPersonsPersonRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPersonsPersonRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostAccountPersonsPersonRequestBodyMetadata'Object Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship@ in the specification. -- -- The relationship that this person has with the account\'s legal entity. data PostAccountPersonsPersonRequestBodyRelationship' = PostAccountPersonsPersonRequestBodyRelationship' { -- | director postAccountPersonsPersonRequestBodyRelationship'Director :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executive postAccountPersonsPersonRequestBodyRelationship'Executive :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | owner postAccountPersonsPersonRequestBodyRelationship'Owner :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | percent_ownership postAccountPersonsPersonRequestBodyRelationship'PercentOwnership :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Variants), -- | representative postAccountPersonsPersonRequestBodyRelationship'Representative :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | title -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsPersonRequestBodyRelationship'Title :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyRelationship' where toJSON obj = Data.Aeson.Types.Internal.object ("director" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Director obj : "executive" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Executive obj : "owner" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Owner obj : "percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'PercentOwnership obj : "representative" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Representative obj : "title" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Title obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("director" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Director obj) GHC.Base.<> (("executive" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Executive obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Owner obj) GHC.Base.<> (("percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'PercentOwnership obj) GHC.Base.<> (("representative" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Representative obj) GHC.Base.<> ("title" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyRelationship'Title obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyRelationship' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyRelationship'" (\obj -> (((((GHC.Base.pure PostAccountPersonsPersonRequestBodyRelationship' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "director")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "executive")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "percent_ownership")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "representative")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "title")) -- | Create a new 'PostAccountPersonsPersonRequestBodyRelationship'' with all required fields. mkPostAccountPersonsPersonRequestBodyRelationship' :: PostAccountPersonsPersonRequestBodyRelationship' mkPostAccountPersonsPersonRequestBodyRelationship' = PostAccountPersonsPersonRequestBodyRelationship' { postAccountPersonsPersonRequestBodyRelationship'Director = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyRelationship'Executive = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyRelationship'Owner = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyRelationship'PercentOwnership = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyRelationship'Representative = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyRelationship'Title = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship.properties.percent_ownership.anyOf@ in the specification. data PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Variants = -- | Represents the JSON value @""@ PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'EmptyString | PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Double GHC.Types.Double deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Variants where toJSON (PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Double a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'EmptyString | GHC.Base.otherwise -> case (PostAccountPersonsPersonRequestBodyRelationship'PercentOwnership'Double Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification@ in the specification. -- -- The person\'s verification status. data PostAccountPersonsPersonRequestBodyVerification' = PostAccountPersonsPersonRequestBodyVerification' { -- | additional_document postAccountPersonsPersonRequestBodyVerification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument'), -- | document postAccountPersonsPersonRequestBodyVerification'Document :: (GHC.Maybe.Maybe PostAccountPersonsPersonRequestBodyVerification'Document') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("additional_document" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'AdditionalDocument obj : "document" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("additional_document" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'AdditionalDocument obj) GHC.Base.<> ("document" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyVerification'" (\obj -> (GHC.Base.pure PostAccountPersonsPersonRequestBodyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'PostAccountPersonsPersonRequestBodyVerification'' with all required fields. mkPostAccountPersonsPersonRequestBodyVerification' :: PostAccountPersonsPersonRequestBodyVerification' mkPostAccountPersonsPersonRequestBodyVerification' = PostAccountPersonsPersonRequestBodyVerification' { postAccountPersonsPersonRequestBodyVerification'AdditionalDocument = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyVerification'Document = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.additional_document@ in the specification. data PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' = PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument'" (\obj -> (GHC.Base.pure PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument'' with all required fields. mkPostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' :: PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' mkPostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' = PostAccountPersonsPersonRequestBodyVerification'AdditionalDocument' { postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Back = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyVerification'AdditionalDocument'Front = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.document@ in the specification. data PostAccountPersonsPersonRequestBodyVerification'Document' = PostAccountPersonsPersonRequestBodyVerification'Document' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsPersonRequestBodyVerification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsPersonRequestBodyVerification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsPersonRequestBodyVerification'Document' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'Document'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'Document'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'Document'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPersonsPersonRequestBodyVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsPersonRequestBodyVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsPersonRequestBodyVerification'Document'" (\obj -> (GHC.Base.pure PostAccountPersonsPersonRequestBodyVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPersonsPersonRequestBodyVerification'Document'' with all required fields. mkPostAccountPersonsPersonRequestBodyVerification'Document' :: PostAccountPersonsPersonRequestBodyVerification'Document' mkPostAccountPersonsPersonRequestBodyVerification'Document' = PostAccountPersonsPersonRequestBodyVerification'Document' { postAccountPersonsPersonRequestBodyVerification'Document'Back = GHC.Maybe.Nothing, postAccountPersonsPersonRequestBodyVerification'Document'Front = GHC.Maybe.Nothing } -- | Represents a response of the operation 'postAccountPersonsPerson'. -- -- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'PostAccountPersonsPersonResponseError' is used. data PostAccountPersonsPersonResponse = -- | Means either no matching case available or a parse error PostAccountPersonsPersonResponseError GHC.Base.String | -- | Successful response. PostAccountPersonsPersonResponse200 Person | -- | Error response. PostAccountPersonsPersonResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)