{-# 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 postAccountPersons module StripeAPI.Operations.PostAccountPersons 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 -- -- \

Creates a new person.\<\/p> postAccountPersons :: forall m. StripeAPI.Common.MonadHTTP m => -- | The request body to send GHC.Maybe.Maybe PostAccountPersonsRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostAccountPersonsResponse) postAccountPersons body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostAccountPersonsResponseError 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) -> PostAccountPersonsResponse200 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) -> PostAccountPersonsResponseDefault 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.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostAccountPersonsRequestBody = PostAccountPersonsRequestBody { -- | account -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAccount :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address: The person\'s address. postAccountPersonsRequestBodyAddress :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyAddress'), -- | address_kana: The Kana variation of the person\'s address (Japan only). postAccountPersonsRequestBodyAddressKana :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyAddressKana'), -- | address_kanji: The Kanji variation of the person\'s address (Japan only). postAccountPersonsRequestBodyAddressKanji :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyAddressKanji'), -- | dob: The person\'s date of birth. postAccountPersonsRequestBodyDob :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyDob'Variants), -- | documents: Documents that may be submitted to satisfy various informational requests. postAccountPersonsRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyDocuments'), -- | email: The person\'s email address. postAccountPersonsRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postAccountPersonsRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | first_name: The person\'s first name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyFirstName :: (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 postAccountPersonsRequestBodyFirstNameKana :: (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 postAccountPersonsRequestBodyFirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | gender: The person\'s gender (International regulations require either \"male\" or \"female\"). postAccountPersonsRequestBodyGender :: (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 postAccountPersonsRequestBodyIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name: The person\'s last name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyLastName :: (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 postAccountPersonsRequestBodyLastNameKana :: (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 postAccountPersonsRequestBodyLastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | maiden_name: The person\'s maiden name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyMaidenName :: (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\`. postAccountPersonsRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyMetadata'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 postAccountPersonsRequestBodyNationality :: (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 postAccountPersonsRequestBodyPersonToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: The person\'s phone number. postAccountPersonsRequestBodyPhone :: (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 postAccountPersonsRequestBodyPoliticalExposure :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | relationship: The relationship that this person has with the account\'s legal entity. postAccountPersonsRequestBodyRelationship :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyRelationship'), -- | ssn_last_4: The last four digits of the person\'s Social Security number (U.S. only). postAccountPersonsRequestBodySsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verification: The person\'s verification status. postAccountPersonsRequestBodyVerification :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("account" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAccount obj : "address" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji obj : "dob" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob obj : "documents" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments obj : "email" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyEmail obj : "expand" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyExpand obj : "first_name" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyFirstName obj : "first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyFirstNameKana obj : "first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyFirstNameKanji obj : "gender" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyGender obj : "id_number" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyIdNumber obj : "last_name" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyLastName obj : "last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyLastNameKana obj : "last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyLastNameKanji obj : "maiden_name" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyMaidenName obj : "metadata" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyMetadata obj : "nationality" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyNationality obj : "person_token" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyPersonToken obj : "phone" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyPhone obj : "political_exposure" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyPoliticalExposure obj : "relationship" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship obj : "ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodySsnLast_4 obj : "verification" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAccount obj) GHC.Base.<> (("address" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji obj) GHC.Base.<> (("dob" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob obj) GHC.Base.<> (("documents" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyEmail obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyExpand obj) GHC.Base.<> (("first_name" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyFirstName obj) GHC.Base.<> (("first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyFirstNameKana obj) GHC.Base.<> (("first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyFirstNameKanji obj) GHC.Base.<> (("gender" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyGender obj) GHC.Base.<> (("id_number" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyIdNumber obj) GHC.Base.<> (("last_name" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyLastName obj) GHC.Base.<> (("last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyLastNameKana obj) GHC.Base.<> (("last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyLastNameKanji obj) GHC.Base.<> (("maiden_name" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyMaidenName obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyMetadata obj) GHC.Base.<> (("nationality" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyNationality obj) GHC.Base.<> (("person_token" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyPersonToken obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyPhone obj) GHC.Base.<> (("political_exposure" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyPoliticalExposure obj) GHC.Base.<> (("relationship" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship obj) GHC.Base.<> (("ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodySsnLast_4 obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification obj))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBody" (\obj -> ((((((((((((((((((((((((GHC.Base.pure PostAccountPersonsRequestBody 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 'PostAccountPersonsRequestBody' with all required fields. mkPostAccountPersonsRequestBody :: PostAccountPersonsRequestBody mkPostAccountPersonsRequestBody = PostAccountPersonsRequestBody { postAccountPersonsRequestBodyAccount = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddress = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji = GHC.Maybe.Nothing, postAccountPersonsRequestBodyDob = GHC.Maybe.Nothing, postAccountPersonsRequestBodyDocuments = GHC.Maybe.Nothing, postAccountPersonsRequestBodyEmail = GHC.Maybe.Nothing, postAccountPersonsRequestBodyExpand = GHC.Maybe.Nothing, postAccountPersonsRequestBodyFirstName = GHC.Maybe.Nothing, postAccountPersonsRequestBodyFirstNameKana = GHC.Maybe.Nothing, postAccountPersonsRequestBodyFirstNameKanji = GHC.Maybe.Nothing, postAccountPersonsRequestBodyGender = GHC.Maybe.Nothing, postAccountPersonsRequestBodyIdNumber = GHC.Maybe.Nothing, postAccountPersonsRequestBodyLastName = GHC.Maybe.Nothing, postAccountPersonsRequestBodyLastNameKana = GHC.Maybe.Nothing, postAccountPersonsRequestBodyLastNameKanji = GHC.Maybe.Nothing, postAccountPersonsRequestBodyMaidenName = GHC.Maybe.Nothing, postAccountPersonsRequestBodyMetadata = GHC.Maybe.Nothing, postAccountPersonsRequestBodyNationality = GHC.Maybe.Nothing, postAccountPersonsRequestBodyPersonToken = GHC.Maybe.Nothing, postAccountPersonsRequestBodyPhone = GHC.Maybe.Nothing, postAccountPersonsRequestBodyPoliticalExposure = GHC.Maybe.Nothing, postAccountPersonsRequestBodyRelationship = GHC.Maybe.Nothing, postAccountPersonsRequestBodySsnLast_4 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address@ in the specification. -- -- The person\'s address. data PostAccountPersonsRequestBodyAddress' = PostAccountPersonsRequestBodyAddress' { -- | city -- -- Constraints: -- -- * Maximum length of 100 postAccountPersonsRequestBodyAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 200 postAccountPersonsRequestBodyAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 200 postAccountPersonsRequestBodyAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyAddress'" (\obj -> (((((GHC.Base.pure PostAccountPersonsRequestBodyAddress' 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 'PostAccountPersonsRequestBodyAddress'' with all required fields. mkPostAccountPersonsRequestBodyAddress' :: PostAccountPersonsRequestBodyAddress' mkPostAccountPersonsRequestBodyAddress' = PostAccountPersonsRequestBodyAddress' { postAccountPersonsRequestBodyAddress'City = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddress'Country = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddress'Line1 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddress'Line2 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddress'PostalCode = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddress'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.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 PostAccountPersonsRequestBodyAddressKana' = PostAccountPersonsRequestBodyAddressKana' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyAddressKana'" (\obj -> ((((((GHC.Base.pure PostAccountPersonsRequestBodyAddressKana' 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 'PostAccountPersonsRequestBodyAddressKana'' with all required fields. mkPostAccountPersonsRequestBodyAddressKana' :: PostAccountPersonsRequestBodyAddressKana' mkPostAccountPersonsRequestBodyAddressKana' = PostAccountPersonsRequestBodyAddressKana' { postAccountPersonsRequestBodyAddressKana'City = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana'Country = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana'Line1 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana'Line2 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana'PostalCode = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana'State = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.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 PostAccountPersonsRequestBodyAddressKanji' = PostAccountPersonsRequestBodyAddressKanji' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyAddressKanji'" (\obj -> ((((((GHC.Base.pure PostAccountPersonsRequestBodyAddressKanji' 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 'PostAccountPersonsRequestBodyAddressKanji'' with all required fields. mkPostAccountPersonsRequestBodyAddressKanji' :: PostAccountPersonsRequestBodyAddressKanji' mkPostAccountPersonsRequestBodyAddressKanji' = PostAccountPersonsRequestBodyAddressKanji' { postAccountPersonsRequestBodyAddressKanji'City = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji'Country = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji'Line1 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji'Line2 = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji'PostalCode = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji'State = GHC.Maybe.Nothing, postAccountPersonsRequestBodyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. data PostAccountPersonsRequestBodyDob'OneOf1 = PostAccountPersonsRequestBodyDob'OneOf1 { -- | day postAccountPersonsRequestBodyDob'OneOf1Day :: GHC.Types.Int, -- | month postAccountPersonsRequestBodyDob'OneOf1Month :: GHC.Types.Int, -- | year postAccountPersonsRequestBodyDob'OneOf1Year :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyDob'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("day" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob'OneOf1Day obj : "month" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob'OneOf1Month obj : "year" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob'OneOf1Year obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("day" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob'OneOf1Day obj) GHC.Base.<> (("month" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob'OneOf1Month obj) GHC.Base.<> ("year" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDob'OneOf1Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyDob'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyDob'OneOf1" (\obj -> ((GHC.Base.pure PostAccountPersonsRequestBodyDob'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 'PostAccountPersonsRequestBodyDob'OneOf1' with all required fields. mkPostAccountPersonsRequestBodyDob'OneOf1 :: -- | 'postAccountPersonsRequestBodyDob'OneOf1Day' GHC.Types.Int -> -- | 'postAccountPersonsRequestBodyDob'OneOf1Month' GHC.Types.Int -> -- | 'postAccountPersonsRequestBodyDob'OneOf1Year' GHC.Types.Int -> PostAccountPersonsRequestBodyDob'OneOf1 mkPostAccountPersonsRequestBodyDob'OneOf1 postAccountPersonsRequestBodyDob'OneOf1Day postAccountPersonsRequestBodyDob'OneOf1Month postAccountPersonsRequestBodyDob'OneOf1Year = PostAccountPersonsRequestBodyDob'OneOf1 { postAccountPersonsRequestBodyDob'OneOf1Day = postAccountPersonsRequestBodyDob'OneOf1Day, postAccountPersonsRequestBodyDob'OneOf1Month = postAccountPersonsRequestBodyDob'OneOf1Month, postAccountPersonsRequestBodyDob'OneOf1Year = postAccountPersonsRequestBodyDob'OneOf1Year } -- | Defines the oneOf schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. -- -- The person\'s date of birth. data PostAccountPersonsRequestBodyDob'Variants = -- | Represents the JSON value @""@ PostAccountPersonsRequestBodyDob'EmptyString | PostAccountPersonsRequestBodyDob'PostAccountPersonsRequestBodyDob'OneOf1 PostAccountPersonsRequestBodyDob'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyDob'Variants where toJSON (PostAccountPersonsRequestBodyDob'PostAccountPersonsRequestBodyDob'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPersonsRequestBodyDob'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyDob'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPersonsRequestBodyDob'EmptyString | GHC.Base.otherwise -> case (PostAccountPersonsRequestBodyDob'PostAccountPersonsRequestBodyDob'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.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 PostAccountPersonsRequestBodyDocuments' = PostAccountPersonsRequestBodyDocuments' { -- | company_authorization postAccountPersonsRequestBodyDocuments'CompanyAuthorization :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyDocuments'CompanyAuthorization'), -- | passport postAccountPersonsRequestBodyDocuments'Passport :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyDocuments'Passport'), -- | visa postAccountPersonsRequestBodyDocuments'Visa :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyDocuments'Visa') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyDocuments' where toJSON obj = Data.Aeson.Types.Internal.object ("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'CompanyAuthorization obj : "passport" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Passport obj : "visa" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Visa obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'CompanyAuthorization obj) GHC.Base.<> (("passport" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Passport obj) GHC.Base.<> ("visa" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Visa obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyDocuments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyDocuments'" (\obj -> ((GHC.Base.pure PostAccountPersonsRequestBodyDocuments' 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 'PostAccountPersonsRequestBodyDocuments'' with all required fields. mkPostAccountPersonsRequestBodyDocuments' :: PostAccountPersonsRequestBodyDocuments' mkPostAccountPersonsRequestBodyDocuments' = PostAccountPersonsRequestBodyDocuments' { postAccountPersonsRequestBodyDocuments'CompanyAuthorization = GHC.Maybe.Nothing, postAccountPersonsRequestBodyDocuments'Passport = GHC.Maybe.Nothing, postAccountPersonsRequestBodyDocuments'Visa = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_authorization@ in the specification. data PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' = PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' { -- | files postAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyDocuments'CompanyAuthorization'" (\obj -> GHC.Base.pure PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPersonsRequestBodyDocuments'CompanyAuthorization'' with all required fields. mkPostAccountPersonsRequestBodyDocuments'CompanyAuthorization' :: PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' mkPostAccountPersonsRequestBodyDocuments'CompanyAuthorization' = PostAccountPersonsRequestBodyDocuments'CompanyAuthorization' {postAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.passport@ in the specification. data PostAccountPersonsRequestBodyDocuments'Passport' = PostAccountPersonsRequestBodyDocuments'Passport' { -- | files postAccountPersonsRequestBodyDocuments'Passport'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyDocuments'Passport' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Passport'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Passport'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyDocuments'Passport' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyDocuments'Passport'" (\obj -> GHC.Base.pure PostAccountPersonsRequestBodyDocuments'Passport' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPersonsRequestBodyDocuments'Passport'' with all required fields. mkPostAccountPersonsRequestBodyDocuments'Passport' :: PostAccountPersonsRequestBodyDocuments'Passport' mkPostAccountPersonsRequestBodyDocuments'Passport' = PostAccountPersonsRequestBodyDocuments'Passport' {postAccountPersonsRequestBodyDocuments'Passport'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.visa@ in the specification. data PostAccountPersonsRequestBodyDocuments'Visa' = PostAccountPersonsRequestBodyDocuments'Visa' { -- | files postAccountPersonsRequestBodyDocuments'Visa'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyDocuments'Visa' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Visa'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyDocuments'Visa'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyDocuments'Visa' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyDocuments'Visa'" (\obj -> GHC.Base.pure PostAccountPersonsRequestBodyDocuments'Visa' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPersonsRequestBodyDocuments'Visa'' with all required fields. mkPostAccountPersonsRequestBodyDocuments'Visa' :: PostAccountPersonsRequestBodyDocuments'Visa' mkPostAccountPersonsRequestBodyDocuments'Visa' = PostAccountPersonsRequestBodyDocuments'Visa' {postAccountPersonsRequestBodyDocuments'Visa'Files = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/account\/persons.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 PostAccountPersonsRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostAccountPersonsRequestBodyMetadata'EmptyString | PostAccountPersonsRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyMetadata'Variants where toJSON (PostAccountPersonsRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPersonsRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPersonsRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostAccountPersonsRequestBodyMetadata'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.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 PostAccountPersonsRequestBodyRelationship' = PostAccountPersonsRequestBodyRelationship' { -- | director postAccountPersonsRequestBodyRelationship'Director :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executive postAccountPersonsRequestBodyRelationship'Executive :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | owner postAccountPersonsRequestBodyRelationship'Owner :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | percent_ownership postAccountPersonsRequestBodyRelationship'PercentOwnership :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyRelationship'PercentOwnership'Variants), -- | representative postAccountPersonsRequestBodyRelationship'Representative :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | title -- -- Constraints: -- -- * Maximum length of 5000 postAccountPersonsRequestBodyRelationship'Title :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyRelationship' where toJSON obj = Data.Aeson.Types.Internal.object ("director" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Director obj : "executive" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Executive obj : "owner" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Owner obj : "percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'PercentOwnership obj : "representative" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Representative obj : "title" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Title obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("director" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Director obj) GHC.Base.<> (("executive" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Executive obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Owner obj) GHC.Base.<> (("percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'PercentOwnership obj) GHC.Base.<> (("representative" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Representative obj) GHC.Base.<> ("title" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyRelationship'Title obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyRelationship' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyRelationship'" (\obj -> (((((GHC.Base.pure PostAccountPersonsRequestBodyRelationship' 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 'PostAccountPersonsRequestBodyRelationship'' with all required fields. mkPostAccountPersonsRequestBodyRelationship' :: PostAccountPersonsRequestBodyRelationship' mkPostAccountPersonsRequestBodyRelationship' = PostAccountPersonsRequestBodyRelationship' { postAccountPersonsRequestBodyRelationship'Director = GHC.Maybe.Nothing, postAccountPersonsRequestBodyRelationship'Executive = GHC.Maybe.Nothing, postAccountPersonsRequestBodyRelationship'Owner = GHC.Maybe.Nothing, postAccountPersonsRequestBodyRelationship'PercentOwnership = GHC.Maybe.Nothing, postAccountPersonsRequestBodyRelationship'Representative = GHC.Maybe.Nothing, postAccountPersonsRequestBodyRelationship'Title = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship.properties.percent_ownership.anyOf@ in the specification. data PostAccountPersonsRequestBodyRelationship'PercentOwnership'Variants = -- | Represents the JSON value @""@ PostAccountPersonsRequestBodyRelationship'PercentOwnership'EmptyString | PostAccountPersonsRequestBodyRelationship'PercentOwnership'Double GHC.Types.Double deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyRelationship'PercentOwnership'Variants where toJSON (PostAccountPersonsRequestBodyRelationship'PercentOwnership'Double a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPersonsRequestBodyRelationship'PercentOwnership'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyRelationship'PercentOwnership'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPersonsRequestBodyRelationship'PercentOwnership'EmptyString | GHC.Base.otherwise -> case (PostAccountPersonsRequestBodyRelationship'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.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification@ in the specification. -- -- The person\'s verification status. data PostAccountPersonsRequestBodyVerification' = PostAccountPersonsRequestBodyVerification' { -- | additional_document postAccountPersonsRequestBodyVerification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyVerification'AdditionalDocument'), -- | document postAccountPersonsRequestBodyVerification'Document :: (GHC.Maybe.Maybe PostAccountPersonsRequestBodyVerification'Document') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("additional_document" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'AdditionalDocument obj : "document" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("additional_document" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'AdditionalDocument obj) GHC.Base.<> ("document" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyVerification'" (\obj -> (GHC.Base.pure PostAccountPersonsRequestBodyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'PostAccountPersonsRequestBodyVerification'' with all required fields. mkPostAccountPersonsRequestBodyVerification' :: PostAccountPersonsRequestBodyVerification' mkPostAccountPersonsRequestBodyVerification' = PostAccountPersonsRequestBodyVerification' { postAccountPersonsRequestBodyVerification'AdditionalDocument = GHC.Maybe.Nothing, postAccountPersonsRequestBodyVerification'Document = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.additional_document@ in the specification. data PostAccountPersonsRequestBodyVerification'AdditionalDocument' = PostAccountPersonsRequestBodyVerification'AdditionalDocument' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsRequestBodyVerification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsRequestBodyVerification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyVerification'AdditionalDocument' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'AdditionalDocument'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'AdditionalDocument'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'AdditionalDocument'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'AdditionalDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyVerification'AdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyVerification'AdditionalDocument'" (\obj -> (GHC.Base.pure PostAccountPersonsRequestBodyVerification'AdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPersonsRequestBodyVerification'AdditionalDocument'' with all required fields. mkPostAccountPersonsRequestBodyVerification'AdditionalDocument' :: PostAccountPersonsRequestBodyVerification'AdditionalDocument' mkPostAccountPersonsRequestBodyVerification'AdditionalDocument' = PostAccountPersonsRequestBodyVerification'AdditionalDocument' { postAccountPersonsRequestBodyVerification'AdditionalDocument'Back = GHC.Maybe.Nothing, postAccountPersonsRequestBodyVerification'AdditionalDocument'Front = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.document@ in the specification. data PostAccountPersonsRequestBodyVerification'Document' = PostAccountPersonsRequestBodyVerification'Document' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsRequestBodyVerification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPersonsRequestBodyVerification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPersonsRequestBodyVerification'Document' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'Document'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'Document'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'Document'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPersonsRequestBodyVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPersonsRequestBodyVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPersonsRequestBodyVerification'Document'" (\obj -> (GHC.Base.pure PostAccountPersonsRequestBodyVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPersonsRequestBodyVerification'Document'' with all required fields. mkPostAccountPersonsRequestBodyVerification'Document' :: PostAccountPersonsRequestBodyVerification'Document' mkPostAccountPersonsRequestBodyVerification'Document' = PostAccountPersonsRequestBodyVerification'Document' { postAccountPersonsRequestBodyVerification'Document'Back = GHC.Maybe.Nothing, postAccountPersonsRequestBodyVerification'Document'Front = GHC.Maybe.Nothing } -- | Represents a response of the operation 'postAccountPersons'. -- -- 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), 'PostAccountPersonsResponseError' is used. data PostAccountPersonsResponse = -- | Means either no matching case available or a parse error PostAccountPersonsResponseError GHC.Base.String | -- | Successful response. PostAccountPersonsResponse200 Person | -- | Error response. PostAccountPersonsResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)