{-# 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 postAccountsAccountPersons module StripeAPI.Operations.PostAccountsAccountPersons 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}/persons -- -- \

Creates a new person.\<\/p> postAccountsAccountPersons :: forall m. StripeAPI.Common.MonadHTTP m => -- | account | Constraints: Maximum length of 5000 Data.Text.Internal.Text -> -- | The request body to send GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostAccountsAccountPersonsResponse) postAccountsAccountPersons account body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostAccountsAccountPersonsResponseError 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) -> PostAccountsAccountPersonsResponse200 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) -> PostAccountsAccountPersonsResponseDefault 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.++ "/persons"))) GHC.Base.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostAccountsAccountPersonsRequestBody = PostAccountsAccountPersonsRequestBody { -- | address: The person\'s address. postAccountsAccountPersonsRequestBodyAddress :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyAddress'), -- | address_kana: The Kana variation of the person\'s address (Japan only). postAccountsAccountPersonsRequestBodyAddressKana :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyAddressKana'), -- | address_kanji: The Kanji variation of the person\'s address (Japan only). postAccountsAccountPersonsRequestBodyAddressKanji :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyAddressKanji'), -- | dob: The person\'s date of birth. postAccountsAccountPersonsRequestBodyDob :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyDob'Variants), -- | documents: Documents that may be submitted to satisfy various informational requests. postAccountsAccountPersonsRequestBodyDocuments :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyDocuments'), -- | email: The person\'s email address. postAccountsAccountPersonsRequestBodyEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postAccountsAccountPersonsRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | first_name: The person\'s first name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyFirstName :: (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 postAccountsAccountPersonsRequestBodyFirstNameKana :: (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 postAccountsAccountPersonsRequestBodyFirstNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | gender: The person\'s gender (International regulations require either \"male\" or \"female\"). postAccountsAccountPersonsRequestBodyGender :: (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 postAccountsAccountPersonsRequestBodyIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last_name: The person\'s last name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyLastName :: (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 postAccountsAccountPersonsRequestBodyLastNameKana :: (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 postAccountsAccountPersonsRequestBodyLastNameKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | maiden_name: The person\'s maiden name. -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyMaidenName :: (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\`. postAccountsAccountPersonsRequestBodyMetadata :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyMetadata'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 postAccountsAccountPersonsRequestBodyNationality :: (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 postAccountsAccountPersonsRequestBodyPersonToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: The person\'s phone number. postAccountsAccountPersonsRequestBodyPhone :: (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 postAccountsAccountPersonsRequestBodyPoliticalExposure :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | relationship: The relationship that this person has with the account\'s legal entity. postAccountsAccountPersonsRequestBodyRelationship :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyRelationship'), -- | ssn_last_4: The last four digits of the person\'s Social Security number (U.S. only). postAccountsAccountPersonsRequestBodySsnLast_4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verification: The person\'s verification status. postAccountsAccountPersonsRequestBodyVerification :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyVerification') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress obj : "address_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana obj : "address_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji obj : "dob" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob obj : "documents" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments obj : "email" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyEmail obj : "expand" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyExpand obj : "first_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyFirstName obj : "first_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyFirstNameKana obj : "first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyFirstNameKanji obj : "gender" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyGender obj : "id_number" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyIdNumber obj : "last_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyLastName obj : "last_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyLastNameKana obj : "last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyLastNameKanji obj : "maiden_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyMaidenName obj : "metadata" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyMetadata obj : "nationality" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyNationality obj : "person_token" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyPersonToken obj : "phone" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyPhone obj : "political_exposure" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyPoliticalExposure obj : "relationship" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship obj : "ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodySsnLast_4 obj : "verification" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress obj) GHC.Base.<> (("address_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana obj) GHC.Base.<> (("address_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji obj) GHC.Base.<> (("dob" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob obj) GHC.Base.<> (("documents" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyEmail obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyExpand obj) GHC.Base.<> (("first_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyFirstName obj) GHC.Base.<> (("first_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyFirstNameKana obj) GHC.Base.<> (("first_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyFirstNameKanji obj) GHC.Base.<> (("gender" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyGender obj) GHC.Base.<> (("id_number" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyIdNumber obj) GHC.Base.<> (("last_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyLastName obj) GHC.Base.<> (("last_name_kana" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyLastNameKana obj) GHC.Base.<> (("last_name_kanji" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyLastNameKanji obj) GHC.Base.<> (("maiden_name" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyMaidenName obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyMetadata obj) GHC.Base.<> (("nationality" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyNationality obj) GHC.Base.<> (("person_token" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyPersonToken obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyPhone obj) GHC.Base.<> (("political_exposure" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyPoliticalExposure obj) GHC.Base.<> (("relationship" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship obj) GHC.Base.<> (("ssn_last_4" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodySsnLast_4 obj) GHC.Base.<> ("verification" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification obj)))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBody" (\obj -> (((((((((((((((((((((((GHC.Base.pure PostAccountsAccountPersonsRequestBody 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 'PostAccountsAccountPersonsRequestBody' with all required fields. mkPostAccountsAccountPersonsRequestBody :: PostAccountsAccountPersonsRequestBody mkPostAccountsAccountPersonsRequestBody = PostAccountsAccountPersonsRequestBody { postAccountsAccountPersonsRequestBodyAddress = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyDob = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyDocuments = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyEmail = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyExpand = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyFirstName = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyFirstNameKana = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyFirstNameKanji = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyGender = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyIdNumber = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyLastName = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyLastNameKana = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyLastNameKanji = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyMaidenName = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyMetadata = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyNationality = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyPersonToken = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyPhone = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyPoliticalExposure = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyRelationship = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodySsnLast_4 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address@ in the specification. -- -- The person\'s address. data PostAccountsAccountPersonsRequestBodyAddress' = PostAccountsAccountPersonsRequestBodyAddress' { -- | city -- -- Constraints: -- -- * Maximum length of 100 postAccountsAccountPersonsRequestBodyAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 200 postAccountsAccountPersonsRequestBodyAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 200 postAccountsAccountPersonsRequestBodyAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyAddress'" (\obj -> (((((GHC.Base.pure PostAccountsAccountPersonsRequestBodyAddress' 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 'PostAccountsAccountPersonsRequestBodyAddress'' with all required fields. mkPostAccountsAccountPersonsRequestBodyAddress' :: PostAccountsAccountPersonsRequestBodyAddress' mkPostAccountsAccountPersonsRequestBodyAddress' = PostAccountsAccountPersonsRequestBodyAddress' { postAccountsAccountPersonsRequestBodyAddress'City = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddress'Country = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddress'Line1 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddress'Line2 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddress'PostalCode = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddress'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address_kana@ in the specification. -- -- The Kana variation of the person\'s address (Japan only). data PostAccountsAccountPersonsRequestBodyAddressKana' = PostAccountsAccountPersonsRequestBodyAddressKana' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKana'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyAddressKana' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyAddressKana'" (\obj -> ((((((GHC.Base.pure PostAccountsAccountPersonsRequestBodyAddressKana' 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 'PostAccountsAccountPersonsRequestBodyAddressKana'' with all required fields. mkPostAccountsAccountPersonsRequestBodyAddressKana' :: PostAccountsAccountPersonsRequestBodyAddressKana' mkPostAccountsAccountPersonsRequestBodyAddressKana' = PostAccountsAccountPersonsRequestBodyAddressKana' { postAccountsAccountPersonsRequestBodyAddressKana'City = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana'Country = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana'Line1 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana'Line2 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana'PostalCode = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana'State = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKana'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.address_kanji@ in the specification. -- -- The Kanji variation of the person\'s address (Japan only). data PostAccountsAccountPersonsRequestBodyAddressKanji' = PostAccountsAccountPersonsRequestBodyAddressKanji' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | town -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyAddressKanji'Town :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyAddressKanji' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'City obj : "country" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Country obj : "line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'State obj : "town" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Town obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'PostalCode obj) GHC.Base.<> (("state" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'State obj) GHC.Base.<> ("town" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyAddressKanji'" (\obj -> ((((((GHC.Base.pure PostAccountsAccountPersonsRequestBodyAddressKanji' 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 'PostAccountsAccountPersonsRequestBodyAddressKanji'' with all required fields. mkPostAccountsAccountPersonsRequestBodyAddressKanji' :: PostAccountsAccountPersonsRequestBodyAddressKanji' mkPostAccountsAccountPersonsRequestBodyAddressKanji' = PostAccountsAccountPersonsRequestBodyAddressKanji' { postAccountsAccountPersonsRequestBodyAddressKanji'City = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji'Country = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji'Line1 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji'Line2 = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji'PostalCode = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji'State = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyAddressKanji'Town = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. data PostAccountsAccountPersonsRequestBodyDob'OneOf1 = PostAccountsAccountPersonsRequestBodyDob'OneOf1 { -- | day postAccountsAccountPersonsRequestBodyDob'OneOf1Day :: GHC.Types.Int, -- | month postAccountsAccountPersonsRequestBodyDob'OneOf1Month :: GHC.Types.Int, -- | year postAccountsAccountPersonsRequestBodyDob'OneOf1Year :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyDob'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("day" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob'OneOf1Day obj : "month" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob'OneOf1Month obj : "year" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob'OneOf1Year obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("day" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob'OneOf1Day obj) GHC.Base.<> (("month" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob'OneOf1Month obj) GHC.Base.<> ("year" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDob'OneOf1Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyDob'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyDob'OneOf1" (\obj -> ((GHC.Base.pure PostAccountsAccountPersonsRequestBodyDob'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 'PostAccountsAccountPersonsRequestBodyDob'OneOf1' with all required fields. mkPostAccountsAccountPersonsRequestBodyDob'OneOf1 :: -- | 'postAccountsAccountPersonsRequestBodyDob'OneOf1Day' GHC.Types.Int -> -- | 'postAccountsAccountPersonsRequestBodyDob'OneOf1Month' GHC.Types.Int -> -- | 'postAccountsAccountPersonsRequestBodyDob'OneOf1Year' GHC.Types.Int -> PostAccountsAccountPersonsRequestBodyDob'OneOf1 mkPostAccountsAccountPersonsRequestBodyDob'OneOf1 postAccountsAccountPersonsRequestBodyDob'OneOf1Day postAccountsAccountPersonsRequestBodyDob'OneOf1Month postAccountsAccountPersonsRequestBodyDob'OneOf1Year = PostAccountsAccountPersonsRequestBodyDob'OneOf1 { postAccountsAccountPersonsRequestBodyDob'OneOf1Day = postAccountsAccountPersonsRequestBodyDob'OneOf1Day, postAccountsAccountPersonsRequestBodyDob'OneOf1Month = postAccountsAccountPersonsRequestBodyDob'OneOf1Month, postAccountsAccountPersonsRequestBodyDob'OneOf1Year = postAccountsAccountPersonsRequestBodyDob'OneOf1Year } -- | Defines the oneOf schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.dob.anyOf@ in the specification. -- -- The person\'s date of birth. data PostAccountsAccountPersonsRequestBodyDob'Variants = -- | Represents the JSON value @""@ PostAccountsAccountPersonsRequestBodyDob'EmptyString | PostAccountsAccountPersonsRequestBodyDob'PostAccountsAccountPersonsRequestBodyDob'OneOf1 PostAccountsAccountPersonsRequestBodyDob'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyDob'Variants where toJSON (PostAccountsAccountPersonsRequestBodyDob'PostAccountsAccountPersonsRequestBodyDob'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountsAccountPersonsRequestBodyDob'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyDob'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountsAccountPersonsRequestBodyDob'EmptyString | GHC.Base.otherwise -> case (PostAccountsAccountPersonsRequestBodyDob'PostAccountsAccountPersonsRequestBodyDob'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}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents@ in the specification. -- -- Documents that may be submitted to satisfy various informational requests. data PostAccountsAccountPersonsRequestBodyDocuments' = PostAccountsAccountPersonsRequestBodyDocuments' { -- | company_authorization postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'), -- | passport postAccountsAccountPersonsRequestBodyDocuments'Passport :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyDocuments'Passport'), -- | visa postAccountsAccountPersonsRequestBodyDocuments'Visa :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyDocuments'Visa') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyDocuments' where toJSON obj = Data.Aeson.Types.Internal.object ("company_authorization" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization obj : "passport" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Passport obj : "visa" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Visa obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("company_authorization" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization obj) GHC.Base.<> (("passport" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Passport obj) GHC.Base.<> ("visa" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Visa obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyDocuments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyDocuments'" (\obj -> ((GHC.Base.pure PostAccountsAccountPersonsRequestBodyDocuments' 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 'PostAccountsAccountPersonsRequestBodyDocuments'' with all required fields. mkPostAccountsAccountPersonsRequestBodyDocuments' :: PostAccountsAccountPersonsRequestBodyDocuments' mkPostAccountsAccountPersonsRequestBodyDocuments' = PostAccountsAccountPersonsRequestBodyDocuments' { postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyDocuments'Passport = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyDocuments'Visa = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.company_authorization@ in the specification. data PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' = PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' { -- | files postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'" (\obj -> GHC.Base.pure PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'' with all required fields. mkPostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' :: PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' mkPostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' = PostAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization' {postAccountsAccountPersonsRequestBodyDocuments'CompanyAuthorization'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.passport@ in the specification. data PostAccountsAccountPersonsRequestBodyDocuments'Passport' = PostAccountsAccountPersonsRequestBodyDocuments'Passport' { -- | files postAccountsAccountPersonsRequestBodyDocuments'Passport'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyDocuments'Passport' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Passport'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Passport'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyDocuments'Passport' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyDocuments'Passport'" (\obj -> GHC.Base.pure PostAccountsAccountPersonsRequestBodyDocuments'Passport' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountsAccountPersonsRequestBodyDocuments'Passport'' with all required fields. mkPostAccountsAccountPersonsRequestBodyDocuments'Passport' :: PostAccountsAccountPersonsRequestBodyDocuments'Passport' mkPostAccountsAccountPersonsRequestBodyDocuments'Passport' = PostAccountsAccountPersonsRequestBodyDocuments'Passport' {postAccountsAccountPersonsRequestBodyDocuments'Passport'Files = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.documents.properties.visa@ in the specification. data PostAccountsAccountPersonsRequestBodyDocuments'Visa' = PostAccountsAccountPersonsRequestBodyDocuments'Visa' { -- | files postAccountsAccountPersonsRequestBodyDocuments'Visa'Files :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyDocuments'Visa' where toJSON obj = Data.Aeson.Types.Internal.object ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Visa'Files obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("files" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyDocuments'Visa'Files obj) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyDocuments'Visa' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyDocuments'Visa'" (\obj -> GHC.Base.pure PostAccountsAccountPersonsRequestBodyDocuments'Visa' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "files")) -- | Create a new 'PostAccountsAccountPersonsRequestBodyDocuments'Visa'' with all required fields. mkPostAccountsAccountPersonsRequestBodyDocuments'Visa' :: PostAccountsAccountPersonsRequestBodyDocuments'Visa' mkPostAccountsAccountPersonsRequestBodyDocuments'Visa' = PostAccountsAccountPersonsRequestBodyDocuments'Visa' {postAccountsAccountPersonsRequestBodyDocuments'Visa'Files = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.metadata.anyOf@ in the specification. -- -- Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`. data PostAccountsAccountPersonsRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostAccountsAccountPersonsRequestBodyMetadata'EmptyString | PostAccountsAccountPersonsRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyMetadata'Variants where toJSON (PostAccountsAccountPersonsRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountsAccountPersonsRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountsAccountPersonsRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostAccountsAccountPersonsRequestBodyMetadata'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}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship@ in the specification. -- -- The relationship that this person has with the account\'s legal entity. data PostAccountsAccountPersonsRequestBodyRelationship' = PostAccountsAccountPersonsRequestBodyRelationship' { -- | director postAccountsAccountPersonsRequestBodyRelationship'Director :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executive postAccountsAccountPersonsRequestBodyRelationship'Executive :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | owner postAccountsAccountPersonsRequestBodyRelationship'Owner :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | percent_ownership postAccountsAccountPersonsRequestBodyRelationship'PercentOwnership :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'Variants), -- | representative postAccountsAccountPersonsRequestBodyRelationship'Representative :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | title -- -- Constraints: -- -- * Maximum length of 5000 postAccountsAccountPersonsRequestBodyRelationship'Title :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyRelationship' where toJSON obj = Data.Aeson.Types.Internal.object ("director" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Director obj : "executive" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Executive obj : "owner" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Owner obj : "percent_ownership" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'PercentOwnership obj : "representative" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Representative obj : "title" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Title obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("director" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Director obj) GHC.Base.<> (("executive" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Executive obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Owner obj) GHC.Base.<> (("percent_ownership" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'PercentOwnership obj) GHC.Base.<> (("representative" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Representative obj) GHC.Base.<> ("title" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyRelationship'Title obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyRelationship' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyRelationship'" (\obj -> (((((GHC.Base.pure PostAccountsAccountPersonsRequestBodyRelationship' 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 'PostAccountsAccountPersonsRequestBodyRelationship'' with all required fields. mkPostAccountsAccountPersonsRequestBodyRelationship' :: PostAccountsAccountPersonsRequestBodyRelationship' mkPostAccountsAccountPersonsRequestBodyRelationship' = PostAccountsAccountPersonsRequestBodyRelationship' { postAccountsAccountPersonsRequestBodyRelationship'Director = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyRelationship'Executive = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyRelationship'Owner = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyRelationship'PercentOwnership = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyRelationship'Representative = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyRelationship'Title = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.relationship.properties.percent_ownership.anyOf@ in the specification. data PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'Variants = -- | Represents the JSON value @""@ PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'EmptyString | PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'Double GHC.Types.Double deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'Variants where toJSON (PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'Double a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostAccountsAccountPersonsRequestBodyRelationship'PercentOwnership'EmptyString | GHC.Base.otherwise -> case (PostAccountsAccountPersonsRequestBodyRelationship'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}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification@ in the specification. -- -- The person\'s verification status. data PostAccountsAccountPersonsRequestBodyVerification' = PostAccountsAccountPersonsRequestBodyVerification' { -- | additional_document postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'), -- | document postAccountsAccountPersonsRequestBodyVerification'Document :: (GHC.Maybe.Maybe PostAccountsAccountPersonsRequestBodyVerification'Document') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyVerification' where toJSON obj = Data.Aeson.Types.Internal.object ("additional_document" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument obj : "document" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'Document obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("additional_document" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument obj) GHC.Base.<> ("document" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyVerification'" (\obj -> (GHC.Base.pure PostAccountsAccountPersonsRequestBodyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Create a new 'PostAccountsAccountPersonsRequestBodyVerification'' with all required fields. mkPostAccountsAccountPersonsRequestBodyVerification' :: PostAccountsAccountPersonsRequestBodyVerification' mkPostAccountsAccountPersonsRequestBodyVerification' = PostAccountsAccountPersonsRequestBodyVerification' { postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyVerification'Document = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.additional_document@ in the specification. data PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' = PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'" (\obj -> (GHC.Base.pure PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'' with all required fields. mkPostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' :: PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' mkPostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' = PostAccountsAccountPersonsRequestBodyVerification'AdditionalDocument' { postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Back = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyVerification'AdditionalDocument'Front = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/accounts\/{account}\/persons.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.verification.properties.document@ in the specification. data PostAccountsAccountPersonsRequestBodyVerification'Document' = PostAccountsAccountPersonsRequestBodyVerification'Document' { -- | back -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPersonsRequestBodyVerification'Document'Back :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | front -- -- Constraints: -- -- * Maximum length of 500 postAccountsAccountPersonsRequestBodyVerification'Document'Front :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostAccountsAccountPersonsRequestBodyVerification'Document' where toJSON obj = Data.Aeson.Types.Internal.object ("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'Document'Back obj : "front" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'Document'Front obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("back" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'Document'Back obj) GHC.Base.<> ("front" Data.Aeson.Types.ToJSON..= postAccountsAccountPersonsRequestBodyVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostAccountsAccountPersonsRequestBodyVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostAccountsAccountPersonsRequestBodyVerification'Document'" (\obj -> (GHC.Base.pure PostAccountsAccountPersonsRequestBodyVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Create a new 'PostAccountsAccountPersonsRequestBodyVerification'Document'' with all required fields. mkPostAccountsAccountPersonsRequestBodyVerification'Document' :: PostAccountsAccountPersonsRequestBodyVerification'Document' mkPostAccountsAccountPersonsRequestBodyVerification'Document' = PostAccountsAccountPersonsRequestBodyVerification'Document' { postAccountsAccountPersonsRequestBodyVerification'Document'Back = GHC.Maybe.Nothing, postAccountsAccountPersonsRequestBodyVerification'Document'Front = GHC.Maybe.Nothing } -- | Represents a response of the operation 'postAccountsAccountPersons'. -- -- 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), 'PostAccountsAccountPersonsResponseError' is used. data PostAccountsAccountPersonsResponse = -- | Means either no matching case available or a parse error PostAccountsAccountPersonsResponseError GHC.Base.String | -- | Successful response. PostAccountsAccountPersonsResponse200 Person | -- | Error response. PostAccountsAccountPersonsResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)