{-# 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 postAccountsAccountPeople module StripeAPI.Operations.PostAccountsAccountPeople 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/accounts/{account}/people -- -- \

Creates a new person.\<\/p> postAccountsAccountPeople :: forall m. StripeAPI.Common.MonadHTTP m => -- | account | Constraints: Maximum length of 5000 Data.Text.Internal.Text -> -- | The request body to send GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostAccountsAccountPeopleResponse) postAccountsAccountPeople account body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostAccountsAccountPeopleResponseError 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) -> PostAccountsAccountPeopleResponse200 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) -> PostAccountsAccountPeopleResponseDefault 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/accounts/" GHC.Base.++ (Data.ByteString.Char8.unpack (Network.HTTP.Types.URI.urlEncode GHC.Types.True GHC.Base.$ (Data.ByteString.Char8.pack GHC.Base.$ StripeAPI.Common.stringifyModel account)) GHC.Base.++ "/people"))) GHC.Base.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostAccountsAccountPeopleRequestBody = PostAccountsAccountPeopleRequestBody { -- | address: The person\'s address. postAccountsAccountPeopleRequestBodyAddress :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyAddress'), -- | address_kana: The Kana variation of the person\'s address (Japan only). postAccountsAccountPeopleRequestBodyAddressKana :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyAddressKana'), -- | address_kanji: The Kanji variation of the person\'s address (Japan only). postAccountsAccountPeopleRequestBodyAddressKanji :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyAddressKanji'), -- | dob: The person\'s date of birth. postAccountsAccountPeopleRequestBodyDob :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyDob'Variants), -- | documents: Documents that may be submitted to satisfy various informational requests. postAccountsAccountPeopleRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyDocuments'), -- | email: The person\'s email address. postAccountsAccountPeopleRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postAccountsAccountPeopleRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | first_name: The person\'s first name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyFirstName :: (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 postAccountsAccountPeopleRequestBodyFirstNameKana :: (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 postAccountsAccountPeopleRequestBodyFirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | gender: The person\'s gender (International regulations require either \"male\" or \"female\"). postAccountsAccountPeopleRequestBodyGender :: (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 postAccountsAccountPeopleRequestBodyIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name: The person\'s last name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyLastName :: (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 postAccountsAccountPeopleRequestBodyLastNameKana :: (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 postAccountsAccountPeopleRequestBodyLastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | maiden_name: The person\'s maiden name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyMaidenName :: (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\`. postAccountsAccountPeopleRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyMetadata'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 postAccountsAccountPeopleRequestBodyNationality :: (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 postAccountsAccountPeopleRequestBodyPersonToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: The person\'s phone number. postAccountsAccountPeopleRequestBodyPhone :: (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 postAccountsAccountPeopleRequestBodyPoliticalExposure :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | relationship: The relationship that this person has with the account\'s legal entity. postAccountsAccountPeopleRequestBodyRelationship :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyRelationship'), -- | ssn_last_4: The last four digits of the person\'s Social Security number (U.S. only). postAccountsAccountPeopleRequestBodySsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verification: The person\'s verification status. postAccountsAccountPeopleRequestBodyVerification :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji obj : "dob" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob obj : "documents" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments obj : "email" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyEmail obj : "expand" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyExpand obj : "first_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyFirstName obj : "first_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyFirstNameKana obj : "first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyFirstNameKanji obj : "gender" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyGender obj : "id_number" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyIdNumber obj : "last_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyLastName obj : "last_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyLastNameKana obj : "last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyLastNameKanji obj : "maiden_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyMaidenName obj : "metadata" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyMetadata obj : "nationality" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyNationality obj : "person_token" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyPersonToken obj : "phone" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyPhone obj : "political_exposure" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyPoliticalExposure obj : "relationship" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship obj : "ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodySsnLast_4 obj : "verification" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji obj) GHC.Base.<> (("dob" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob obj) GHC.Base.<> (("documents" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyEmail obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyExpand obj) GHC.Base.<> (("first_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyFirstName obj) GHC.Base.<> (("first_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyFirstNameKana obj) GHC.Base.<> (("first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyFirstNameKanji obj) GHC.Base.<> (("gender" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyGender obj) GHC.Base.<> (("id_number" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyIdNumber obj) GHC.Base.<> (("last_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyLastName obj) GHC.Base.<> (("last_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyLastNameKana obj) GHC.Base.<> (("last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyLastNameKanji obj) GHC.Base.<> (("maiden_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyMaidenName obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyMetadata obj) GHC.Base.<> (("nationality" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyNationality obj) GHC.Base.<> (("person_token" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyPersonToken obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyPhone obj) GHC.Base.<> (("political_exposure" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyPoliticalExposure obj) GHC.Base.<> (("relationship" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship obj) GHC.Base.<> (("ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodySsnLast_4 obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification obj)))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBody" (\obj -> (((((((((((((((((((((((GHC.Base.pure PostAccountsAccountPeopleRequestBody 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 'PostAccountsAccountPeopleRequestBody' with all required fields. mkPostAccountsAccountPeopleRequestBody :: PostAccountsAccountPeopleRequestBody mkPostAccountsAccountPeopleRequestBody = PostAccountsAccountPeopleRequestBody { postAccountsAccountPeopleRequestBodyAddress = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyDob = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyDocuments = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyEmail = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyExpand = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyFirstName = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyFirstNameKana = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyFirstNameKanji = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyGender = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyIdNumber = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyLastName = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyLastNameKana = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyLastNameKanji = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyMaidenName = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyMetadata = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyNationality = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyPersonToken = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyPhone = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyPoliticalExposure = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyRelationship = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodySsnLast_4 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address@ in the specification. -- -- The person\'s address. data PostAccountsAccountPeopleRequestBodyAddress' = PostAccountsAccountPeopleRequestBodyAddress' { -- | city -- -- Constraints: -- -- * Maximum length of 100 postAccountsAccountPeopleRequestBodyAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 200 postAccountsAccountPeopleRequestBodyAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 200 postAccountsAccountPeopleRequestBodyAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyAddress'" (\obj -> (((((GHC.Base.pure PostAccountsAccountPeopleRequestBodyAddress' 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 'PostAccountsAccountPeopleRequestBodyAddress'' with all required fields. mkPostAccountsAccountPeopleRequestBodyAddress' :: PostAccountsAccountPeopleRequestBodyAddress' mkPostAccountsAccountPeopleRequestBodyAddress' = PostAccountsAccountPeopleRequestBodyAddress' { postAccountsAccountPeopleRequestBodyAddress'City = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddress'Country = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddress'Line1 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddress'Line2 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddress'PostalCode = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddress'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{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 PostAccountsAccountPeopleRequestBodyAddressKana' = PostAccountsAccountPeopleRequestBodyAddressKana' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyAddressKana'" (\obj -> ((((((GHC.Base.pure PostAccountsAccountPeopleRequestBodyAddressKana' 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 'PostAccountsAccountPeopleRequestBodyAddressKana'' with all required fields. mkPostAccountsAccountPeopleRequestBodyAddressKana' :: PostAccountsAccountPeopleRequestBodyAddressKana' mkPostAccountsAccountPeopleRequestBodyAddressKana' = PostAccountsAccountPeopleRequestBodyAddressKana' { postAccountsAccountPeopleRequestBodyAddressKana'City = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana'Country = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana'Line1 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana'Line2 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana'PostalCode = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana'State = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{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 PostAccountsAccountPeopleRequestBodyAddressKanji' = PostAccountsAccountPeopleRequestBodyAddressKanji' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyAddressKanji'" (\obj -> ((((((GHC.Base.pure PostAccountsAccountPeopleRequestBodyAddressKanji' 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 'PostAccountsAccountPeopleRequestBodyAddressKanji'' with all required fields. mkPostAccountsAccountPeopleRequestBodyAddressKanji' :: PostAccountsAccountPeopleRequestBodyAddressKanji' mkPostAccountsAccountPeopleRequestBodyAddressKanji' = PostAccountsAccountPeopleRequestBodyAddressKanji' { postAccountsAccountPeopleRequestBodyAddressKanji'City = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji'Country = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji'Line1 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji'Line2 = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji'PostalCode = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji'State = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. data PostAccountsAccountPeopleRequestBodyDob'OneOf1 = PostAccountsAccountPeopleRequestBodyDob'OneOf1 { -- | day postAccountsAccountPeopleRequestBodyDob'OneOf1Day :: GHC.Types.Int, -- | month postAccountsAccountPeopleRequestBodyDob'OneOf1Month :: GHC.Types.Int, -- | year postAccountsAccountPeopleRequestBodyDob'OneOf1Year :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyDob'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("day" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob'OneOf1Day obj : "month" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob'OneOf1Month obj : "year" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob'OneOf1Year obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("day" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob'OneOf1Day obj) GHC.Base.<> (("month" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob'OneOf1Month obj) GHC.Base.<> ("year" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDob'OneOf1Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyDob'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyDob'OneOf1" (\obj -> ((GHC.Base.pure PostAccountsAccountPeopleRequestBodyDob'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 'PostAccountsAccountPeopleRequestBodyDob'OneOf1' with all required fields. mkPostAccountsAccountPeopleRequestBodyDob'OneOf1 :: -- | 'postAccountsAccountPeopleRequestBodyDob'OneOf1Day' GHC.Types.Int -> -- | 'postAccountsAccountPeopleRequestBodyDob'OneOf1Month' GHC.Types.Int -> -- | 'postAccountsAccountPeopleRequestBodyDob'OneOf1Year' GHC.Types.Int -> PostAccountsAccountPeopleRequestBodyDob'OneOf1 mkPostAccountsAccountPeopleRequestBodyDob'OneOf1 postAccountsAccountPeopleRequestBodyDob'OneOf1Day postAccountsAccountPeopleRequestBodyDob'OneOf1Month postAccountsAccountPeopleRequestBodyDob'OneOf1Year = PostAccountsAccountPeopleRequestBodyDob'OneOf1 { postAccountsAccountPeopleRequestBodyDob'OneOf1Day = postAccountsAccountPeopleRequestBodyDob'OneOf1Day, postAccountsAccountPeopleRequestBodyDob'OneOf1Month = postAccountsAccountPeopleRequestBodyDob'OneOf1Month, postAccountsAccountPeopleRequestBodyDob'OneOf1Year = postAccountsAccountPeopleRequestBodyDob'OneOf1Year } -- | Defines the oneOf schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. -- -- The person\'s date of birth. data PostAccountsAccountPeopleRequestBodyDob'Variants = -- | Represents the JSON value @""@ PostAccountsAccountPeopleRequestBodyDob'EmptyString | PostAccountsAccountPeopleRequestBodyDob'PostAccountsAccountPeopleRequestBodyDob'OneOf1 PostAccountsAccountPeopleRequestBodyDob'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyDob'Variants where toJSON (PostAccountsAccountPeopleRequestBodyDob'PostAccountsAccountPeopleRequestBodyDob'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountsAccountPeopleRequestBodyDob'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyDob'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountsAccountPeopleRequestBodyDob'EmptyString | GHC.Base.otherwise -> case (PostAccountsAccountPeopleRequestBodyDob'PostAccountsAccountPeopleRequestBodyDob'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\/accounts\/{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 PostAccountsAccountPeopleRequestBodyDocuments' = PostAccountsAccountPeopleRequestBodyDocuments' { -- | company_authorization postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'), -- | passport postAccountsAccountPeopleRequestBodyDocuments'Passport :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyDocuments'Passport'), -- | visa postAccountsAccountPeopleRequestBodyDocuments'Visa :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyDocuments'Visa') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyDocuments' where toJSON obj = Data.Aeson.Types.Internal.object ("company_authorization" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization obj : "passport" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Passport obj : "visa" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Visa obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("company_authorization" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization obj) GHC.Base.<> (("passport" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Passport obj) GHC.Base.<> ("visa" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Visa obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyDocuments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyDocuments'" (\obj -> ((GHC.Base.pure PostAccountsAccountPeopleRequestBodyDocuments' 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 'PostAccountsAccountPeopleRequestBodyDocuments'' with all required fields. mkPostAccountsAccountPeopleRequestBodyDocuments' :: PostAccountsAccountPeopleRequestBodyDocuments' mkPostAccountsAccountPeopleRequestBodyDocuments' = PostAccountsAccountPeopleRequestBodyDocuments' { postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyDocuments'Passport = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyDocuments'Visa = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_authorization@ in the specification. data PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' = PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' { -- | files postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'" (\obj -> GHC.Base.pure PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'' with all required fields. mkPostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' :: PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' mkPostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' = PostAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization' {postAccountsAccountPeopleRequestBodyDocuments'CompanyAuthorization'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.passport@ in the specification. data PostAccountsAccountPeopleRequestBodyDocuments'Passport' = PostAccountsAccountPeopleRequestBodyDocuments'Passport' { -- | files postAccountsAccountPeopleRequestBodyDocuments'Passport'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyDocuments'Passport' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Passport'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Passport'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyDocuments'Passport' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyDocuments'Passport'" (\obj -> GHC.Base.pure PostAccountsAccountPeopleRequestBodyDocuments'Passport' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountsAccountPeopleRequestBodyDocuments'Passport'' with all required fields. mkPostAccountsAccountPeopleRequestBodyDocuments'Passport' :: PostAccountsAccountPeopleRequestBodyDocuments'Passport' mkPostAccountsAccountPeopleRequestBodyDocuments'Passport' = PostAccountsAccountPeopleRequestBodyDocuments'Passport' {postAccountsAccountPeopleRequestBodyDocuments'Passport'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.visa@ in the specification. data PostAccountsAccountPeopleRequestBodyDocuments'Visa' = PostAccountsAccountPeopleRequestBodyDocuments'Visa' { -- | files postAccountsAccountPeopleRequestBodyDocuments'Visa'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyDocuments'Visa' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Visa'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyDocuments'Visa'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyDocuments'Visa' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyDocuments'Visa'" (\obj -> GHC.Base.pure PostAccountsAccountPeopleRequestBodyDocuments'Visa' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountsAccountPeopleRequestBodyDocuments'Visa'' with all required fields. mkPostAccountsAccountPeopleRequestBodyDocuments'Visa' :: PostAccountsAccountPeopleRequestBodyDocuments'Visa' mkPostAccountsAccountPeopleRequestBodyDocuments'Visa' = PostAccountsAccountPeopleRequestBodyDocuments'Visa' {postAccountsAccountPeopleRequestBodyDocuments'Visa'Files = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/accounts\/{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 PostAccountsAccountPeopleRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostAccountsAccountPeopleRequestBodyMetadata'EmptyString | PostAccountsAccountPeopleRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyMetadata'Variants where toJSON (PostAccountsAccountPeopleRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountsAccountPeopleRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountsAccountPeopleRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostAccountsAccountPeopleRequestBodyMetadata'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\/accounts\/{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 PostAccountsAccountPeopleRequestBodyRelationship' = PostAccountsAccountPeopleRequestBodyRelationship' { -- | director postAccountsAccountPeopleRequestBodyRelationship'Director :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executive postAccountsAccountPeopleRequestBodyRelationship'Executive :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | owner postAccountsAccountPeopleRequestBodyRelationship'Owner :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | percent_ownership postAccountsAccountPeopleRequestBodyRelationship'PercentOwnership :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'Variants), -- | representative postAccountsAccountPeopleRequestBodyRelationship'Representative :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | title -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPeopleRequestBodyRelationship'Title :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyRelationship' where toJSON obj = Data.Aeson.Types.Internal.object ("director" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Director obj : "executive" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Executive obj : "owner" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Owner obj : "percent_ownership" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'PercentOwnership obj : "representative" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Representative obj : "title" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Title obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("director" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Director obj) GHC.Base.<> (("executive" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Executive obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Owner obj) GHC.Base.<> (("percent_ownership" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'PercentOwnership obj) GHC.Base.<> (("representative" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Representative obj) GHC.Base.<> ("title" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyRelationship'Title obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyRelationship' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyRelationship'" (\obj -> (((((GHC.Base.pure PostAccountsAccountPeopleRequestBodyRelationship' 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 'PostAccountsAccountPeopleRequestBodyRelationship'' with all required fields. mkPostAccountsAccountPeopleRequestBodyRelationship' :: PostAccountsAccountPeopleRequestBodyRelationship' mkPostAccountsAccountPeopleRequestBodyRelationship' = PostAccountsAccountPeopleRequestBodyRelationship' { postAccountsAccountPeopleRequestBodyRelationship'Director = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyRelationship'Executive = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyRelationship'Owner = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyRelationship'PercentOwnership = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyRelationship'Representative = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyRelationship'Title = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship.properties.percent_ownership.anyOf@ in the specification. data PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'Variants = -- | Represents the JSON value @""@ PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'EmptyString | PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'Double GHC.Types.Double deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'Variants where toJSON (PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'Double a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountsAccountPeopleRequestBodyRelationship'PercentOwnership'EmptyString | GHC.Base.otherwise -> case (PostAccountsAccountPeopleRequestBodyRelationship'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\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification@ in the specification. -- -- The person\'s verification status. data PostAccountsAccountPeopleRequestBodyVerification' = PostAccountsAccountPeopleRequestBodyVerification' { -- | additional_document postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'), -- | document postAccountsAccountPeopleRequestBodyVerification'Document :: (GHC.Maybe.Maybe PostAccountsAccountPeopleRequestBodyVerification'Document') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("additional_document" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument obj : "document" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("additional_document" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument obj) GHC.Base.<> ("document" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyVerification'" (\obj -> (GHC.Base.pure PostAccountsAccountPeopleRequestBodyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'PostAccountsAccountPeopleRequestBodyVerification'' with all required fields. mkPostAccountsAccountPeopleRequestBodyVerification' :: PostAccountsAccountPeopleRequestBodyVerification' mkPostAccountsAccountPeopleRequestBodyVerification' = PostAccountsAccountPeopleRequestBodyVerification' { postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyVerification'Document = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.additional_document@ in the specification. data PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' = PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'" (\obj -> (GHC.Base.pure PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'' with all required fields. mkPostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' :: PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' mkPostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' = PostAccountsAccountPeopleRequestBodyVerification'AdditionalDocument' { postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Back = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyVerification'AdditionalDocument'Front = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/people.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.document@ in the specification. data PostAccountsAccountPeopleRequestBodyVerification'Document' = PostAccountsAccountPeopleRequestBodyVerification'Document' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPeopleRequestBodyVerification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPeopleRequestBodyVerification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPeopleRequestBodyVerification'Document' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'Document'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'Document'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'Document'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountsAccountPeopleRequestBodyVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPeopleRequestBodyVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPeopleRequestBodyVerification'Document'" (\obj -> (GHC.Base.pure PostAccountsAccountPeopleRequestBodyVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountsAccountPeopleRequestBodyVerification'Document'' with all required fields. mkPostAccountsAccountPeopleRequestBodyVerification'Document' :: PostAccountsAccountPeopleRequestBodyVerification'Document' mkPostAccountsAccountPeopleRequestBodyVerification'Document' = PostAccountsAccountPeopleRequestBodyVerification'Document' { postAccountsAccountPeopleRequestBodyVerification'Document'Back = GHC.Maybe.Nothing, postAccountsAccountPeopleRequestBodyVerification'Document'Front = GHC.Maybe.Nothing } -- | Represents a response of the operation 'postAccountsAccountPeople'. -- -- 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), 'PostAccountsAccountPeopleResponseError' is used. data PostAccountsAccountPeopleResponse = -- | Means either no matching case available or a parse error PostAccountsAccountPeopleResponseError GHC.Base.String | -- | Successful response. PostAccountsAccountPeopleResponse200 Person | -- | Error response. PostAccountsAccountPeopleResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)