{-# 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 postAccountPeople module StripeAPI.Operations.PostAccountPeople 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 -- -- \

Creates a new person.\<\/p> postAccountPeople :: forall m. StripeAPI.Common.MonadHTTP m => -- | The request body to send GHC.Maybe.Maybe PostAccountPeopleRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostAccountPeopleResponse) postAccountPeople body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostAccountPeopleResponseError 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) -> PostAccountPeopleResponse200 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) -> PostAccountPeopleResponseDefault 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.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostAccountPeopleRequestBody = PostAccountPeopleRequestBody { -- | account -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAccount :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address: The person\'s address. postAccountPeopleRequestBodyAddress :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyAddress'), -- | address_kana: The Kana variation of the person\'s address (Japan only). postAccountPeopleRequestBodyAddressKana :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyAddressKana'), -- | address_kanji: The Kanji variation of the person\'s address (Japan only). postAccountPeopleRequestBodyAddressKanji :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyAddressKanji'), -- | dob: The person\'s date of birth. postAccountPeopleRequestBodyDob :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyDob'Variants), -- | documents: Documents that may be submitted to satisfy various informational requests. postAccountPeopleRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyDocuments'), -- | email: The person\'s email address. postAccountPeopleRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postAccountPeopleRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | first_name: The person\'s first name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyFirstName :: (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 postAccountPeopleRequestBodyFirstNameKana :: (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 postAccountPeopleRequestBodyFirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | gender: The person\'s gender (International regulations require either \"male\" or \"female\"). postAccountPeopleRequestBodyGender :: (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 postAccountPeopleRequestBodyIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name: The person\'s last name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyLastName :: (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 postAccountPeopleRequestBodyLastNameKana :: (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 postAccountPeopleRequestBodyLastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | maiden_name: The person\'s maiden name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyMaidenName :: (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\`. postAccountPeopleRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyMetadata'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 postAccountPeopleRequestBodyNationality :: (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 postAccountPeopleRequestBodyPersonToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: The person\'s phone number. postAccountPeopleRequestBodyPhone :: (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 postAccountPeopleRequestBodyPoliticalExposure :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | relationship: The relationship that this person has with the account\'s legal entity. postAccountPeopleRequestBodyRelationship :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyRelationship'), -- | ssn_last_4: The last four digits of the person\'s Social Security number (U.S. only). postAccountPeopleRequestBodySsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verification: The person\'s verification status. postAccountPeopleRequestBodyVerification :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("account" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAccount obj : "address" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji obj : "dob" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob obj : "documents" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments obj : "email" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyEmail obj : "expand" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyExpand obj : "first_name" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyFirstName obj : "first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyFirstNameKana obj : "first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyFirstNameKanji obj : "gender" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyGender obj : "id_number" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyIdNumber obj : "last_name" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyLastName obj : "last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyLastNameKana obj : "last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyLastNameKanji obj : "maiden_name" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyMaidenName obj : "metadata" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyMetadata obj : "nationality" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyNationality obj : "person_token" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyPersonToken obj : "phone" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyPhone obj : "political_exposure" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyPoliticalExposure obj : "relationship" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship obj : "ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodySsnLast_4 obj : "verification" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAccount obj) GHC.Base.<> (("address" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji obj) GHC.Base.<> (("dob" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob obj) GHC.Base.<> (("documents" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyEmail obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyExpand obj) GHC.Base.<> (("first_name" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyFirstName obj) GHC.Base.<> (("first_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyFirstNameKana obj) GHC.Base.<> (("first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyFirstNameKanji obj) GHC.Base.<> (("gender" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyGender obj) GHC.Base.<> (("id_number" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyIdNumber obj) GHC.Base.<> (("last_name" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyLastName obj) GHC.Base.<> (("last_name_kana" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyLastNameKana obj) GHC.Base.<> (("last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyLastNameKanji obj) GHC.Base.<> (("maiden_name" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyMaidenName obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyMetadata obj) GHC.Base.<> (("nationality" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyNationality obj) GHC.Base.<> (("person_token" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyPersonToken obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyPhone obj) GHC.Base.<> (("political_exposure" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyPoliticalExposure obj) GHC.Base.<> (("relationship" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship obj) GHC.Base.<> (("ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodySsnLast_4 obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification obj))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBody" (\obj -> ((((((((((((((((((((((((GHC.Base.pure PostAccountPeopleRequestBody 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 'PostAccountPeopleRequestBody' with all required fields. mkPostAccountPeopleRequestBody :: PostAccountPeopleRequestBody mkPostAccountPeopleRequestBody = PostAccountPeopleRequestBody { postAccountPeopleRequestBodyAccount = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddress = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji = GHC.Maybe.Nothing, postAccountPeopleRequestBodyDob = GHC.Maybe.Nothing, postAccountPeopleRequestBodyDocuments = GHC.Maybe.Nothing, postAccountPeopleRequestBodyEmail = GHC.Maybe.Nothing, postAccountPeopleRequestBodyExpand = GHC.Maybe.Nothing, postAccountPeopleRequestBodyFirstName = GHC.Maybe.Nothing, postAccountPeopleRequestBodyFirstNameKana = GHC.Maybe.Nothing, postAccountPeopleRequestBodyFirstNameKanji = GHC.Maybe.Nothing, postAccountPeopleRequestBodyGender = GHC.Maybe.Nothing, postAccountPeopleRequestBodyIdNumber = GHC.Maybe.Nothing, postAccountPeopleRequestBodyLastName = GHC.Maybe.Nothing, postAccountPeopleRequestBodyLastNameKana = GHC.Maybe.Nothing, postAccountPeopleRequestBodyLastNameKanji = GHC.Maybe.Nothing, postAccountPeopleRequestBodyMaidenName = GHC.Maybe.Nothing, postAccountPeopleRequestBodyMetadata = GHC.Maybe.Nothing, postAccountPeopleRequestBodyNationality = GHC.Maybe.Nothing, postAccountPeopleRequestBodyPersonToken = GHC.Maybe.Nothing, postAccountPeopleRequestBodyPhone = GHC.Maybe.Nothing, postAccountPeopleRequestBodyPoliticalExposure = GHC.Maybe.Nothing, postAccountPeopleRequestBodyRelationship = GHC.Maybe.Nothing, postAccountPeopleRequestBodySsnLast_4 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address@ in the specification. -- -- The person\'s address. data PostAccountPeopleRequestBodyAddress' = PostAccountPeopleRequestBodyAddress' { -- | city -- -- Constraints: -- -- * Maximum length of 100 postAccountPeopleRequestBodyAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 200 postAccountPeopleRequestBodyAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 200 postAccountPeopleRequestBodyAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyAddress'" (\obj -> (((((GHC.Base.pure PostAccountPeopleRequestBodyAddress' 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 'PostAccountPeopleRequestBodyAddress'' with all required fields. mkPostAccountPeopleRequestBodyAddress' :: PostAccountPeopleRequestBodyAddress' mkPostAccountPeopleRequestBodyAddress' = PostAccountPeopleRequestBodyAddress' { postAccountPeopleRequestBodyAddress'City = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddress'Country = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddress'Line1 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddress'Line2 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddress'PostalCode = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddress'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.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 PostAccountPeopleRequestBodyAddressKana' = PostAccountPeopleRequestBodyAddressKana' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyAddressKana'" (\obj -> ((((((GHC.Base.pure PostAccountPeopleRequestBodyAddressKana' 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 'PostAccountPeopleRequestBodyAddressKana'' with all required fields. mkPostAccountPeopleRequestBodyAddressKana' :: PostAccountPeopleRequestBodyAddressKana' mkPostAccountPeopleRequestBodyAddressKana' = PostAccountPeopleRequestBodyAddressKana' { postAccountPeopleRequestBodyAddressKana'City = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana'Country = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana'Line1 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana'Line2 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana'PostalCode = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana'State = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.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 PostAccountPeopleRequestBodyAddressKanji' = PostAccountPeopleRequestBodyAddressKanji' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyAddressKanji'" (\obj -> ((((((GHC.Base.pure PostAccountPeopleRequestBodyAddressKanji' 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 'PostAccountPeopleRequestBodyAddressKanji'' with all required fields. mkPostAccountPeopleRequestBodyAddressKanji' :: PostAccountPeopleRequestBodyAddressKanji' mkPostAccountPeopleRequestBodyAddressKanji' = PostAccountPeopleRequestBodyAddressKanji' { postAccountPeopleRequestBodyAddressKanji'City = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji'Country = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji'Line1 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji'Line2 = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji'PostalCode = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji'State = GHC.Maybe.Nothing, postAccountPeopleRequestBodyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. data PostAccountPeopleRequestBodyDob'OneOf1 = PostAccountPeopleRequestBodyDob'OneOf1 { -- | day postAccountPeopleRequestBodyDob'OneOf1Day :: GHC.Types.Int, -- | month postAccountPeopleRequestBodyDob'OneOf1Month :: GHC.Types.Int, -- | year postAccountPeopleRequestBodyDob'OneOf1Year :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyDob'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("day" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob'OneOf1Day obj : "month" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob'OneOf1Month obj : "year" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob'OneOf1Year obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("day" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob'OneOf1Day obj) GHC.Base.<> (("month" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob'OneOf1Month obj) GHC.Base.<> ("year" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDob'OneOf1Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyDob'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyDob'OneOf1" (\obj -> ((GHC.Base.pure PostAccountPeopleRequestBodyDob'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 'PostAccountPeopleRequestBodyDob'OneOf1' with all required fields. mkPostAccountPeopleRequestBodyDob'OneOf1 :: -- | 'postAccountPeopleRequestBodyDob'OneOf1Day' GHC.Types.Int -> -- | 'postAccountPeopleRequestBodyDob'OneOf1Month' GHC.Types.Int -> -- | 'postAccountPeopleRequestBodyDob'OneOf1Year' GHC.Types.Int -> PostAccountPeopleRequestBodyDob'OneOf1 mkPostAccountPeopleRequestBodyDob'OneOf1 postAccountPeopleRequestBodyDob'OneOf1Day postAccountPeopleRequestBodyDob'OneOf1Month postAccountPeopleRequestBodyDob'OneOf1Year = PostAccountPeopleRequestBodyDob'OneOf1 { postAccountPeopleRequestBodyDob'OneOf1Day = postAccountPeopleRequestBodyDob'OneOf1Day, postAccountPeopleRequestBodyDob'OneOf1Month = postAccountPeopleRequestBodyDob'OneOf1Month, postAccountPeopleRequestBodyDob'OneOf1Year = postAccountPeopleRequestBodyDob'OneOf1Year } -- | Defines the oneOf schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. -- -- The person\'s date of birth. data PostAccountPeopleRequestBodyDob'Variants = -- | Represents the JSON value @""@ PostAccountPeopleRequestBodyDob'EmptyString | PostAccountPeopleRequestBodyDob'PostAccountPeopleRequestBodyDob'OneOf1 PostAccountPeopleRequestBodyDob'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyDob'Variants where toJSON (PostAccountPeopleRequestBodyDob'PostAccountPeopleRequestBodyDob'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPeopleRequestBodyDob'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyDob'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPeopleRequestBodyDob'EmptyString | GHC.Base.otherwise -> case (PostAccountPeopleRequestBodyDob'PostAccountPeopleRequestBodyDob'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.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 PostAccountPeopleRequestBodyDocuments' = PostAccountPeopleRequestBodyDocuments' { -- | company_authorization postAccountPeopleRequestBodyDocuments'CompanyAuthorization :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyDocuments'CompanyAuthorization'), -- | passport postAccountPeopleRequestBodyDocuments'Passport :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyDocuments'Passport'), -- | visa postAccountPeopleRequestBodyDocuments'Visa :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyDocuments'Visa') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyDocuments' where toJSON obj = Data.Aeson.Types.Internal.object ("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'CompanyAuthorization obj : "passport" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Passport obj : "visa" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Visa obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("company_authorization" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'CompanyAuthorization obj) GHC.Base.<> (("passport" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Passport obj) GHC.Base.<> ("visa" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Visa obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyDocuments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyDocuments'" (\obj -> ((GHC.Base.pure PostAccountPeopleRequestBodyDocuments' 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 'PostAccountPeopleRequestBodyDocuments'' with all required fields. mkPostAccountPeopleRequestBodyDocuments' :: PostAccountPeopleRequestBodyDocuments' mkPostAccountPeopleRequestBodyDocuments' = PostAccountPeopleRequestBodyDocuments' { postAccountPeopleRequestBodyDocuments'CompanyAuthorization = GHC.Maybe.Nothing, postAccountPeopleRequestBodyDocuments'Passport = GHC.Maybe.Nothing, postAccountPeopleRequestBodyDocuments'Visa = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_authorization@ in the specification. data PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' = PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' { -- | files postAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyDocuments'CompanyAuthorization'" (\obj -> GHC.Base.pure PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPeopleRequestBodyDocuments'CompanyAuthorization'' with all required fields. mkPostAccountPeopleRequestBodyDocuments'CompanyAuthorization' :: PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' mkPostAccountPeopleRequestBodyDocuments'CompanyAuthorization' = PostAccountPeopleRequestBodyDocuments'CompanyAuthorization' {postAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.passport@ in the specification. data PostAccountPeopleRequestBodyDocuments'Passport' = PostAccountPeopleRequestBodyDocuments'Passport' { -- | files postAccountPeopleRequestBodyDocuments'Passport'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyDocuments'Passport' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Passport'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Passport'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyDocuments'Passport' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyDocuments'Passport'" (\obj -> GHC.Base.pure PostAccountPeopleRequestBodyDocuments'Passport' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPeopleRequestBodyDocuments'Passport'' with all required fields. mkPostAccountPeopleRequestBodyDocuments'Passport' :: PostAccountPeopleRequestBodyDocuments'Passport' mkPostAccountPeopleRequestBodyDocuments'Passport' = PostAccountPeopleRequestBodyDocuments'Passport' {postAccountPeopleRequestBodyDocuments'Passport'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.visa@ in the specification. data PostAccountPeopleRequestBodyDocuments'Visa' = PostAccountPeopleRequestBodyDocuments'Visa' { -- | files postAccountPeopleRequestBodyDocuments'Visa'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyDocuments'Visa' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Visa'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyDocuments'Visa'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyDocuments'Visa' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyDocuments'Visa'" (\obj -> GHC.Base.pure PostAccountPeopleRequestBodyDocuments'Visa' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountPeopleRequestBodyDocuments'Visa'' with all required fields. mkPostAccountPeopleRequestBodyDocuments'Visa' :: PostAccountPeopleRequestBodyDocuments'Visa' mkPostAccountPeopleRequestBodyDocuments'Visa' = PostAccountPeopleRequestBodyDocuments'Visa' {postAccountPeopleRequestBodyDocuments'Visa'Files = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/account\/people.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 PostAccountPeopleRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostAccountPeopleRequestBodyMetadata'EmptyString | PostAccountPeopleRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyMetadata'Variants where toJSON (PostAccountPeopleRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPeopleRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPeopleRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostAccountPeopleRequestBodyMetadata'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.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 PostAccountPeopleRequestBodyRelationship' = PostAccountPeopleRequestBodyRelationship' { -- | director postAccountPeopleRequestBodyRelationship'Director :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executive postAccountPeopleRequestBodyRelationship'Executive :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | owner postAccountPeopleRequestBodyRelationship'Owner :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | percent_ownership postAccountPeopleRequestBodyRelationship'PercentOwnership :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyRelationship'PercentOwnership'Variants), -- | representative postAccountPeopleRequestBodyRelationship'Representative :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | title -- -- Constraints: -- -- * Maximum length of 5000 postAccountPeopleRequestBodyRelationship'Title :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyRelationship' where toJSON obj = Data.Aeson.Types.Internal.object ("director" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Director obj : "executive" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Executive obj : "owner" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Owner obj : "percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'PercentOwnership obj : "representative" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Representative obj : "title" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Title obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("director" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Director obj) GHC.Base.<> (("executive" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Executive obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Owner obj) GHC.Base.<> (("percent_ownership" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'PercentOwnership obj) GHC.Base.<> (("representative" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Representative obj) GHC.Base.<> ("title" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyRelationship'Title obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyRelationship' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyRelationship'" (\obj -> (((((GHC.Base.pure PostAccountPeopleRequestBodyRelationship' 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 'PostAccountPeopleRequestBodyRelationship'' with all required fields. mkPostAccountPeopleRequestBodyRelationship' :: PostAccountPeopleRequestBodyRelationship' mkPostAccountPeopleRequestBodyRelationship' = PostAccountPeopleRequestBodyRelationship' { postAccountPeopleRequestBodyRelationship'Director = GHC.Maybe.Nothing, postAccountPeopleRequestBodyRelationship'Executive = GHC.Maybe.Nothing, postAccountPeopleRequestBodyRelationship'Owner = GHC.Maybe.Nothing, postAccountPeopleRequestBodyRelationship'PercentOwnership = GHC.Maybe.Nothing, postAccountPeopleRequestBodyRelationship'Representative = GHC.Maybe.Nothing, postAccountPeopleRequestBodyRelationship'Title = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship.properties.percent_ownership.anyOf@ in the specification. data PostAccountPeopleRequestBodyRelationship'PercentOwnership'Variants = -- | Represents the JSON value @""@ PostAccountPeopleRequestBodyRelationship'PercentOwnership'EmptyString | PostAccountPeopleRequestBodyRelationship'PercentOwnership'Double GHC.Types.Double deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyRelationship'PercentOwnership'Variants where toJSON (PostAccountPeopleRequestBodyRelationship'PercentOwnership'Double a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountPeopleRequestBodyRelationship'PercentOwnership'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyRelationship'PercentOwnership'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountPeopleRequestBodyRelationship'PercentOwnership'EmptyString | GHC.Base.otherwise -> case (PostAccountPeopleRequestBodyRelationship'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.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification@ in the specification. -- -- The person\'s verification status. data PostAccountPeopleRequestBodyVerification' = PostAccountPeopleRequestBodyVerification' { -- | additional_document postAccountPeopleRequestBodyVerification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyVerification'AdditionalDocument'), -- | document postAccountPeopleRequestBodyVerification'Document :: (GHC.Maybe.Maybe PostAccountPeopleRequestBodyVerification'Document') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("additional_document" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'AdditionalDocument obj : "document" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("additional_document" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'AdditionalDocument obj) GHC.Base.<> ("document" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyVerification'" (\obj -> (GHC.Base.pure PostAccountPeopleRequestBodyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'PostAccountPeopleRequestBodyVerification'' with all required fields. mkPostAccountPeopleRequestBodyVerification' :: PostAccountPeopleRequestBodyVerification' mkPostAccountPeopleRequestBodyVerification' = PostAccountPeopleRequestBodyVerification' { postAccountPeopleRequestBodyVerification'AdditionalDocument = GHC.Maybe.Nothing, postAccountPeopleRequestBodyVerification'Document = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.additional_document@ in the specification. data PostAccountPeopleRequestBodyVerification'AdditionalDocument' = PostAccountPeopleRequestBodyVerification'AdditionalDocument' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPeopleRequestBodyVerification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPeopleRequestBodyVerification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyVerification'AdditionalDocument' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'AdditionalDocument'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'AdditionalDocument'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'AdditionalDocument'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'AdditionalDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyVerification'AdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyVerification'AdditionalDocument'" (\obj -> (GHC.Base.pure PostAccountPeopleRequestBodyVerification'AdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPeopleRequestBodyVerification'AdditionalDocument'' with all required fields. mkPostAccountPeopleRequestBodyVerification'AdditionalDocument' :: PostAccountPeopleRequestBodyVerification'AdditionalDocument' mkPostAccountPeopleRequestBodyVerification'AdditionalDocument' = PostAccountPeopleRequestBodyVerification'AdditionalDocument' { postAccountPeopleRequestBodyVerification'AdditionalDocument'Back = GHC.Maybe.Nothing, postAccountPeopleRequestBodyVerification'AdditionalDocument'Front = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/account\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.document@ in the specification. data PostAccountPeopleRequestBodyVerification'Document' = PostAccountPeopleRequestBodyVerification'Document' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountPeopleRequestBodyVerification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountPeopleRequestBodyVerification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountPeopleRequestBodyVerification'Document' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'Document'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'Document'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'Document'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountPeopleRequestBodyVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountPeopleRequestBodyVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountPeopleRequestBodyVerification'Document'" (\obj -> (GHC.Base.pure PostAccountPeopleRequestBodyVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountPeopleRequestBodyVerification'Document'' with all required fields. mkPostAccountPeopleRequestBodyVerification'Document' :: PostAccountPeopleRequestBodyVerification'Document' mkPostAccountPeopleRequestBodyVerification'Document' = PostAccountPeopleRequestBodyVerification'Document' { postAccountPeopleRequestBodyVerification'Document'Back = GHC.Maybe.Nothing, postAccountPeopleRequestBodyVerification'Document'Front = GHC.Maybe.Nothing } -- | Represents a response of the operation 'postAccountPeople'. -- -- 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), 'PostAccountPeopleResponseError' is used. data PostAccountPeopleResponse = -- | Means either no matching case available or a parse error PostAccountPeopleResponseError GHC.Base.String | -- | Successful response. PostAccountPeopleResponse200 Person | -- | Error response. PostAccountPeopleResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)