{-# 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 postAccountPeoplePerson module StripeAPI.Operations.PostAccountPeoplePerson 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/people/{person} -- -- \

Updates an existing person.\<\/p> postAccountPeoplePerson :: forall m. StripeAPI.Common.MonadHTTP m => -- | person | Constraints: Maximum length of 5000 Data.Text.Internal.Text -> -- | The request body to send GHC.Maybe.Maybe PostAccountPeoplePersonRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostAccountPeoplePersonResponse) postAccountPeoplePerson person body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostAccountPeoplePersonResponseError 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) -> PostAccountPeoplePersonResponse200 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) -> PostAccountPeoplePersonResponseDefault 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/people/" 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\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostAccountPeoplePersonRequestBody = PostAccountPeoplePersonRequestBody { -- | account -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAccount :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address: The person\'s address. postAccountPeoplePersonRequestBodyAddress :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyAddress'), -- | address_kana: The Kana variation of the person\'s address (Japan only). postAccountPeoplePersonRequestBodyAddressKana :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyAddressKana'), -- | address_kanji: The Kanji variation of the person\'s address (Japan only). postAccountPeoplePersonRequestBodyAddressKanji :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyAddressKanji'), -- | dob: The person\'s date of birth. postAccountPeoplePersonRequestBodyDob :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyDob'Variants), -- | documents: Documents that may be submitted to satisfy various informational requests. postAccountPeoplePersonRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyDocuments'), -- | email: The person\'s email address. postAccountPeoplePersonRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postAccountPeoplePersonRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | first_name: The person\'s first name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyFirstName :: (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 postAccountPeoplePersonRequestBodyFirstNameKana :: (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 postAccountPeoplePersonRequestBodyFirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | gender: The person\'s gender (International regulations require either \"male\" or \"female\"). postAccountPeoplePersonRequestBodyGender :: (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 postAccountPeoplePersonRequestBodyIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name: The person\'s last name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyLastName :: (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 postAccountPeoplePersonRequestBodyLastNameKana :: (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 postAccountPeoplePersonRequestBodyLastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | maiden_name: The person\'s maiden name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyMaidenName :: (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\`. postAccountPeoplePersonRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyMetadata'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 postAccountPeoplePersonRequestBodyNationality :: (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 postAccountPeoplePersonRequestBodyPersonToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: The person\'s phone number. postAccountPeoplePersonRequestBodyPhone :: (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 postAccountPeoplePersonRequestBodyPoliticalExposure :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | relationship: The relationship that this person has with the account\'s legal entity. postAccountPeoplePersonRequestBodyRelationship :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyRelationship'), -- | ssn_last_4: The last four digits of the person\'s Social Security number (U.S. only). postAccountPeoplePersonRequestBodySsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verification: The person\'s verification status. postAccountPeoplePersonRequestBodyVerification :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("account" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAccount obj : "address" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji obj : "dob" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob obj : "documents" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments obj : "email" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyEmail obj : "expand" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyExpand obj : "first_name" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyFirstName obj : "first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyFirstNameKana obj : "first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyFirstNameKanji obj : "gender" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyGender obj : "id_number" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyIdNumber obj : "last_name" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyLastName obj : "last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyLastNameKana obj : "last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyLastNameKanji obj : "maiden_name" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyMaidenName obj : "metadata" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyMetadata obj : "nationality" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyNationality obj : "person_token" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyPersonToken obj : "phone" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyPhone obj : "political_exposure" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyPoliticalExposure obj : "relationship" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship obj : "ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodySsnLast_4 obj : "verification" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAccount obj) GHC.Base.<> (("address" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji obj) GHC.Base.<> (("dob" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob obj) GHC.Base.<> (("documents" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyEmail obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyExpand obj) GHC.Base.<> (("first_name" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyFirstName obj) GHC.Base.<> (("first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyFirstNameKana obj) GHC.Base.<> (("first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyFirstNameKanji obj) GHC.Base.<> (("gender" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyGender obj) GHC.Base.<> (("id_number" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyIdNumber obj) GHC.Base.<> (("last_name" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyLastName obj) GHC.Base.<> (("last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyLastNameKana obj) GHC.Base.<> (("last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyLastNameKanji obj) GHC.Base.<> (("maiden_name" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyMaidenName obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyMetadata obj) GHC.Base.<> (("nationality" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyNationality obj) GHC.Base.<> (("person_token" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyPersonToken obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyPhone obj) GHC.Base.<> (("political_exposure" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyPoliticalExposure obj) GHC.Base.<> (("relationship" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship obj) GHC.Base.<> (("ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodySsnLast_4 obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification obj))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBody" (\obj -> ((((((((((((((((((((((((GHC.Base.pure PostAccountPeoplePersonRequestBody 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 'PostAccountPeoplePersonRequestBody' with all required fields. mkPostAccountPeoplePersonRequestBody :: PostAccountPeoplePersonRequestBody mkPostAccountPeoplePersonRequestBody = PostAccountPeoplePersonRequestBody { postAccountPeoplePersonRequestBodyAccount = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddress = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyDob = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyDocuments = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyEmail = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyExpand = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyFirstName = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyFirstNameKana = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyFirstNameKanji = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyGender = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyIdNumber = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyLastName = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyLastNameKana = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyLastNameKanji = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyMaidenName = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyMetadata = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyNationality = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyPersonToken = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyPhone = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyPoliticalExposure = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyRelationship = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodySsnLast_4 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address@ in the specification. -- -- The person\'s address. data PostAccountPeoplePersonRequestBodyAddress' = PostAccountPeoplePersonRequestBodyAddress' { -- | city -- -- Constraints: -- -- * Maximum length of 100 postAccountPeoplePersonRequestBodyAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 200 postAccountPeoplePersonRequestBodyAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 200 postAccountPeoplePersonRequestBodyAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyAddress'" (\obj -> (((((GHC.Base.pure PostAccountPeoplePersonRequestBodyAddress' 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 'PostAccountPeoplePersonRequestBodyAddress'' with all required fields. mkPostAccountPeoplePersonRequestBodyAddress' :: PostAccountPeoplePersonRequestBodyAddress' mkPostAccountPeoplePersonRequestBodyAddress' = PostAccountPeoplePersonRequestBodyAddress' { postAccountPeoplePersonRequestBodyAddress'City = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddress'Country = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddress'Line1 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddress'Line2 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddress'PostalCode = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddress'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{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 PostAccountPeoplePersonRequestBodyAddressKana' = PostAccountPeoplePersonRequestBodyAddressKana' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyAddressKana'" (\obj -> ((((((GHC.Base.pure PostAccountPeoplePersonRequestBodyAddressKana' 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 'PostAccountPeoplePersonRequestBodyAddressKana'' with all required fields. mkPostAccountPeoplePersonRequestBodyAddressKana' :: PostAccountPeoplePersonRequestBodyAddressKana' mkPostAccountPeoplePersonRequestBodyAddressKana' = PostAccountPeoplePersonRequestBodyAddressKana' { postAccountPeoplePersonRequestBodyAddressKana'City = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana'Country = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana'Line1 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana'Line2 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana'PostalCode = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana'State = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{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 PostAccountPeoplePersonRequestBodyAddressKanji' = PostAccountPeoplePersonRequestBodyAddressKanji' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyAddressKanji'" (\obj -> ((((((GHC.Base.pure PostAccountPeoplePersonRequestBodyAddressKanji' 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 'PostAccountPeoplePersonRequestBodyAddressKanji'' with all required fields. mkPostAccountPeoplePersonRequestBodyAddressKanji' :: PostAccountPeoplePersonRequestBodyAddressKanji' mkPostAccountPeoplePersonRequestBodyAddressKanji' = PostAccountPeoplePersonRequestBodyAddressKanji' { postAccountPeoplePersonRequestBodyAddressKanji'City = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji'Country = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji'Line1 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji'Line2 = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji'PostalCode = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji'State = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. data PostAccountPeoplePersonRequestBodyDob'OneOf1 = PostAccountPeoplePersonRequestBodyDob'OneOf1 { -- | day postAccountPeoplePersonRequestBodyDob'OneOf1Day :: GHC.Types.Int, -- | month postAccountPeoplePersonRequestBodyDob'OneOf1Month :: GHC.Types.Int, -- | year postAccountPeoplePersonRequestBodyDob'OneOf1Year :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyDob'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("day" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob'OneOf1Day obj : "month" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob'OneOf1Month obj : "year" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob'OneOf1Year obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("day" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob'OneOf1Day obj) GHC.Base.<> (("month" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob'OneOf1Month obj) GHC.Base.<> ("year" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDob'OneOf1Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyDob'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyDob'OneOf1" (\obj -> ((GHC.Base.pure PostAccountPeoplePersonRequestBodyDob'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 'PostAccountPeoplePersonRequestBodyDob'OneOf1' with all required fields. mkPostAccountPeoplePersonRequestBodyDob'OneOf1 :: -- | 'postAccountPeoplePersonRequestBodyDob'OneOf1Day' GHC.Types.Int -> -- | 'postAccountPeoplePersonRequestBodyDob'OneOf1Month' GHC.Types.Int -> -- | 'postAccountPeoplePersonRequestBodyDob'OneOf1Year' GHC.Types.Int -> PostAccountPeoplePersonRequestBodyDob'OneOf1 mkPostAccountPeoplePersonRequestBodyDob'OneOf1 postAccountPeoplePersonRequestBodyDob'OneOf1Day postAccountPeoplePersonRequestBodyDob'OneOf1Month postAccountPeoplePersonRequestBodyDob'OneOf1Year = PostAccountPeoplePersonRequestBodyDob'OneOf1 { postAccountPeoplePersonRequestBodyDob'OneOf1Day = postAccountPeoplePersonRequestBodyDob'OneOf1Day, postAccountPeoplePersonRequestBodyDob'OneOf1Month = postAccountPeoplePersonRequestBodyDob'OneOf1Month, postAccountPeoplePersonRequestBodyDob'OneOf1Year = postAccountPeoplePersonRequestBodyDob'OneOf1Year } -- | Defines the oneOf schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. -- -- The person\'s date of birth. data PostAccountPeoplePersonRequestBodyDob'Variants = -- | Represents the JSON value @""@ PostAccountPeoplePersonRequestBodyDob'EmptyString | PostAccountPeoplePersonRequestBodyDob'PostAccountPeoplePersonRequestBodyDob'OneOf1 PostAccountPeoplePersonRequestBodyDob'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyDob'Variants where toJSON (PostAccountPeoplePersonRequestBodyDob'PostAccountPeoplePersonRequestBodyDob'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPeoplePersonRequestBodyDob'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyDob'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPeoplePersonRequestBodyDob'EmptyString | GHC.Base.otherwise -> case (PostAccountPeoplePersonRequestBodyDob'PostAccountPeoplePersonRequestBodyDob'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\/people\/{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 PostAccountPeoplePersonRequestBodyDocuments' = PostAccountPeoplePersonRequestBodyDocuments' { -- | company_authorization postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'), -- | passport postAccountPeoplePersonRequestBodyDocuments'Passport :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyDocuments'Passport'), -- | visa postAccountPeoplePersonRequestBodyDocuments'Visa :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyDocuments'Visa') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyDocuments' where toJSON obj = Data.Aeson.Types.Internal.object ("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization obj : "passport" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Passport obj : "visa" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Visa obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization obj) GHC.Base.<> (("passport" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Passport obj) GHC.Base.<> ("visa" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Visa obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyDocuments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyDocuments'" (\obj -> ((GHC.Base.pure PostAccountPeoplePersonRequestBodyDocuments' 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 'PostAccountPeoplePersonRequestBodyDocuments'' with all required fields. mkPostAccountPeoplePersonRequestBodyDocuments' :: PostAccountPeoplePersonRequestBodyDocuments' mkPostAccountPeoplePersonRequestBodyDocuments' = PostAccountPeoplePersonRequestBodyDocuments' { postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyDocuments'Passport = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyDocuments'Visa = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_authorization@ in the specification. data PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' = PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' { -- | files postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'" (\obj -> GHC.Base.pure PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'' with all required fields. mkPostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' :: PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' mkPostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' = PostAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization' {postAccountPeoplePersonRequestBodyDocuments'CompanyAuthorization'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.passport@ in the specification. data PostAccountPeoplePersonRequestBodyDocuments'Passport' = PostAccountPeoplePersonRequestBodyDocuments'Passport' { -- | files postAccountPeoplePersonRequestBodyDocuments'Passport'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyDocuments'Passport' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Passport'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Passport'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyDocuments'Passport' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyDocuments'Passport'" (\obj -> GHC.Base.pure PostAccountPeoplePersonRequestBodyDocuments'Passport' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPeoplePersonRequestBodyDocuments'Passport'' with all required fields. mkPostAccountPeoplePersonRequestBodyDocuments'Passport' :: PostAccountPeoplePersonRequestBodyDocuments'Passport' mkPostAccountPeoplePersonRequestBodyDocuments'Passport' = PostAccountPeoplePersonRequestBodyDocuments'Passport' {postAccountPeoplePersonRequestBodyDocuments'Passport'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.visa@ in the specification. data PostAccountPeoplePersonRequestBodyDocuments'Visa' = PostAccountPeoplePersonRequestBodyDocuments'Visa' { -- | files postAccountPeoplePersonRequestBodyDocuments'Visa'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyDocuments'Visa' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Visa'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyDocuments'Visa'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyDocuments'Visa' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyDocuments'Visa'" (\obj -> GHC.Base.pure PostAccountPeoplePersonRequestBodyDocuments'Visa' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPeoplePersonRequestBodyDocuments'Visa'' with all required fields. mkPostAccountPeoplePersonRequestBodyDocuments'Visa' :: PostAccountPeoplePersonRequestBodyDocuments'Visa' mkPostAccountPeoplePersonRequestBodyDocuments'Visa' = PostAccountPeoplePersonRequestBodyDocuments'Visa' {postAccountPeoplePersonRequestBodyDocuments'Visa'Files = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/account\/people\/{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 PostAccountPeoplePersonRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostAccountPeoplePersonRequestBodyMetadata'EmptyString | PostAccountPeoplePersonRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyMetadata'Variants where toJSON (PostAccountPeoplePersonRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPeoplePersonRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPeoplePersonRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostAccountPeoplePersonRequestBodyMetadata'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\/people\/{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 PostAccountPeoplePersonRequestBodyRelationship' = PostAccountPeoplePersonRequestBodyRelationship' { -- | director postAccountPeoplePersonRequestBodyRelationship'Director :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executive postAccountPeoplePersonRequestBodyRelationship'Executive :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | owner postAccountPeoplePersonRequestBodyRelationship'Owner :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | percent_ownership postAccountPeoplePersonRequestBodyRelationship'PercentOwnership :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'Variants), -- | representative postAccountPeoplePersonRequestBodyRelationship'Representative :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | title -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeoplePersonRequestBodyRelationship'Title :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyRelationship' where toJSON obj = Data.Aeson.Types.Internal.object ("director" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Director obj : "executive" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Executive obj : "owner" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Owner obj : "percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'PercentOwnership obj : "representative" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Representative obj : "title" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Title obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("director" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Director obj) GHC.Base.<> (("executive" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Executive obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Owner obj) GHC.Base.<> (("percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'PercentOwnership obj) GHC.Base.<> (("representative" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Representative obj) GHC.Base.<> ("title" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyRelationship'Title obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyRelationship' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyRelationship'" (\obj -> (((((GHC.Base.pure PostAccountPeoplePersonRequestBodyRelationship' 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 'PostAccountPeoplePersonRequestBodyRelationship'' with all required fields. mkPostAccountPeoplePersonRequestBodyRelationship' :: PostAccountPeoplePersonRequestBodyRelationship' mkPostAccountPeoplePersonRequestBodyRelationship' = PostAccountPeoplePersonRequestBodyRelationship' { postAccountPeoplePersonRequestBodyRelationship'Director = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyRelationship'Executive = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyRelationship'Owner = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyRelationship'PercentOwnership = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyRelationship'Representative = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyRelationship'Title = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship.properties.percent_ownership.anyOf@ in the specification. data PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'Variants = -- | Represents the JSON value @""@ PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'EmptyString | PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'Double GHC.Types.Double deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'Variants where toJSON (PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'Double a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPeoplePersonRequestBodyRelationship'PercentOwnership'EmptyString | GHC.Base.otherwise -> case (PostAccountPeoplePersonRequestBodyRelationship'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\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification@ in the specification. -- -- The person\'s verification status. data PostAccountPeoplePersonRequestBodyVerification' = PostAccountPeoplePersonRequestBodyVerification' { -- | additional_document postAccountPeoplePersonRequestBodyVerification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument'), -- | document postAccountPeoplePersonRequestBodyVerification'Document :: (GHC.Maybe.Maybe PostAccountPeoplePersonRequestBodyVerification'Document') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("additional_document" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'AdditionalDocument obj : "document" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("additional_document" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'AdditionalDocument obj) GHC.Base.<> ("document" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyVerification'" (\obj -> (GHC.Base.pure PostAccountPeoplePersonRequestBodyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'PostAccountPeoplePersonRequestBodyVerification'' with all required fields. mkPostAccountPeoplePersonRequestBodyVerification' :: PostAccountPeoplePersonRequestBodyVerification' mkPostAccountPeoplePersonRequestBodyVerification' = PostAccountPeoplePersonRequestBodyVerification' { postAccountPeoplePersonRequestBodyVerification'AdditionalDocument = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyVerification'Document = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.additional_document@ in the specification. data PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' = PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument'" (\obj -> (GHC.Base.pure PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument'' with all required fields. mkPostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' :: PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' mkPostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' = PostAccountPeoplePersonRequestBodyVerification'AdditionalDocument' { postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Back = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyVerification'AdditionalDocument'Front = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people\/{person}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.document@ in the specification. data PostAccountPeoplePersonRequestBodyVerification'Document' = PostAccountPeoplePersonRequestBodyVerification'Document' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPeoplePersonRequestBodyVerification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPeoplePersonRequestBodyVerification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeoplePersonRequestBodyVerification'Document' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'Document'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'Document'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'Document'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPeoplePersonRequestBodyVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeoplePersonRequestBodyVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeoplePersonRequestBodyVerification'Document'" (\obj -> (GHC.Base.pure PostAccountPeoplePersonRequestBodyVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPeoplePersonRequestBodyVerification'Document'' with all required fields. mkPostAccountPeoplePersonRequestBodyVerification'Document' :: PostAccountPeoplePersonRequestBodyVerification'Document' mkPostAccountPeoplePersonRequestBodyVerification'Document' = PostAccountPeoplePersonRequestBodyVerification'Document' { postAccountPeoplePersonRequestBodyVerification'Document'Back = GHC.Maybe.Nothing, postAccountPeoplePersonRequestBodyVerification'Document'Front = GHC.Maybe.Nothing } -- | Represents a response of the operation 'postAccountPeoplePerson'. -- -- 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), 'PostAccountPeoplePersonResponseError' is used. data PostAccountPeoplePersonResponse = -- | Means either no matching case available or a parse error PostAccountPeoplePersonResponseError GHC.Base.String | -- | Successful response. PostAccountPeoplePersonResponse200 Person | -- | Error response. PostAccountPeoplePersonResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)