-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Circle API client for Haskell -- -- For usage information please consult README.md @package circle @version 0.1.0.0 -- | -- https://developers.circle.com/developer/v1/docs/circle-api-resources module Circle.Types -- | Token type used for HTTP Bearer authentication. newtype ApiToken ApiToken :: ByteString -> ApiToken [unApiToken] :: ApiToken -> ByteString -- | Type to represent the 3 main components (method, endpoint, and params) -- needed to call Circle's API. data CircleAPIRequest a b c CircleAPIRequest :: !Method -> !Text -> !Params TupleBS8 ByteString -> CircleAPIRequest a b c -- | Method of CircleAPIRequest [rMethod] :: CircleAPIRequest a b c -> !Method -- | Endpoint of CircleAPIRequest [endpoint] :: CircleAPIRequest a b c -> !Text -- | Request params of CircleAPIRequest [params] :: CircleAPIRequest a b c -> !Params TupleBS8 ByteString -- | Create a CircleAPIRequest mkCircleAPIRequest :: Method -> Text -> Params TupleBS8 ByteString -> CircleAPIRequest a b c type family CircleRequest a :: * -- | CircleErrors have contain both the error reason (parseError) -- and the full error response body as a ByteString. data CircleError CircleError :: !Text -> !Reply -> CircleError [parseError] :: CircleError -> !Text [errorResponseBody] :: CircleError -> !Reply -- | The CircleResponseBody will have Nothing for the -- circleResponseCode and circleResponseMessage if the -- request succeeds, and Nothing for the circleResponseData -- if the request fails. data CircleResponseBody a CircleResponseBody :: !Maybe ResponseStatus -> !Maybe ResponseMessage -> !Maybe a -> CircleResponseBody a [circleResponseCode] :: CircleResponseBody a -> !Maybe ResponseStatus [circleResponseMessage] :: CircleResponseBody a -> !Maybe ResponseMessage [circleResponseData] :: CircleResponseBody a -> !Maybe a newtype ResponseStatus ResponseStatus :: Int -> ResponseStatus [unResponseStatus] :: ResponseStatus -> Int newtype ResponseMessage ResponseMessage :: Text -> ResponseMessage [unResponseMessage] :: ResponseMessage -> Text type Reply = Response ByteString type Method = Method -- | Either production or sandbox API host type Host = Text data CircleHost CircleProduction :: CircleHost CircleSandbox :: CircleHost hostUri :: CircleHost -> Text data CircleConfig CircleConfig :: !CircleHost -> !ApiToken -> CircleConfig [host] :: CircleConfig -> !CircleHost [token] :: CircleConfig -> !ApiToken -- | Creates an API token using a secrete stored at $CIRCLE_API_KEY (the -- default key for storing the Circle secret) credentialsEnv :: Maybe String -> IO ApiToken -- | Helper method for instantiating a Circle config that calls the -- production endpoint: https://api.circle.com/v1/ Example usage: @ -- import Circle.Client import Circle.Types import Network.HTTP.Client -- (newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) -- -- main :: IO () main = do manager <- newManager tlsManagerSettings -- config <- prodEnvConfig "CIRCLE_API_KEY" result <- circle config -- manager getConfigurationInfo case result of Right CircleResponseBody b -- -> print bs Left CircleError e -> print e @ prodEnvConfig :: Maybe String -> IO CircleConfig -- | Helper method for instantiating a Circle config that calls the -- production endpoint: https://api-sandbox.circle.com/v1/ Example usage: -- @ import Circle.Client import Circle.Types import Network.HTTP.Client -- (newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) -- -- main :: IO () main = do manager <- newManager tlsManagerSettings -- config <- sandboxEnvConfig "CIRCLE_API_KEY" result <- circle -- config manager getConfigurationInfo case result of Right -- CircleResponseBody b -> print bs Left CircleError e -> print e @ sandboxEnvConfig :: Maybe String -> IO CircleConfig newtype Query Query :: TupleBS8 -> Query [unQuery] :: Query -> TupleBS8 newtype Body Body :: ByteString -> Body [unBody] :: Body -> ByteString -- | Parameters for each request which include both the query and the body -- of a request data Params b c Params :: Maybe Body -> ![Query] -> Params b c [paramsBody] :: Params b c -> Maybe Body [paramsQuery] :: Params b c -> ![Query] joinQueryParams :: Params b c -> Params b c -> Params b c -- | Type alias for query parameters type TupleBS8 = (ByteString, ByteString) -- | Convert a parameter to a key/value class ToCircleParam param toCircleParam :: ToCircleParam param => param -> Params TupleBS8 c -> Params TupleBS8 c class (ToCircleParam param) => CircleHasParam request param -- | Supports adding an optional query parameter. Example usage: @ import -- Circle.Client import Circle.Types import Network.HTTP.Client -- (newManager) import Network.HTTP.Client.TLS (tlsManagerSettings) -- -- main :: IO () main = do manager <- newManager tlsManagerSettings -- config <- sandboxEnvConfig "CIRCLE_API_KEY" result <- circle -- config manager listAllBalances -&- PaginationQueryParams -- (PageBefore "a8899b8e-782a-4526-b674-0efe1e04526d") case result of -- Right CircleResponseBody b -> print bs Left CircleError e -> -- print e @ (-&-) :: CircleHasParam r param => CircleAPIRequest r b c -> param -> CircleAPIRequest r b c newtype PaginationQueryParams PaginationQueryParams :: PaginationQueryParam -> PaginationQueryParams [paginationQueryParams] :: PaginationQueryParams -> PaginationQueryParam -- | Depending on which endpoint is being called, the IDs after the -- PageBefore and PageAfter params could either be UUIDs or -- non-UUIDs. Let's just keep them as text for now. TODO maybe improve -- this one day. data PaginationQueryParam PageBefore :: !Text -> PaginationQueryParam PageAfter :: !Text -> PaginationQueryParam newtype FromQueryParam FromQueryParam :: UTCTime -> FromQueryParam [fromQueryParam] :: FromQueryParam -> UTCTime newtype ToQueryParam ToQueryParam :: UTCTime -> ToQueryParam [toQueryParam] :: ToQueryParam -> UTCTime newtype PageSizeQueryParam PageSizeQueryParam :: Integer -> PageSizeQueryParam [pageSizeQueryParam] :: PageSizeQueryParam -> Integer newtype StatusQueryParams StatusQueryParams :: [Status] -> StatusQueryParams [statusQueryParams] :: StatusQueryParams -> [Status] statusToBS8 :: Status -> ByteString newtype DestinationQueryParam DestinationQueryParam :: UUID -> DestinationQueryParam [destinationQueryParam] :: DestinationQueryParam -> UUID newtype TypeQueryParam TypeQueryParam :: BankAccountType -> TypeQueryParam [typeQueryParam] :: TypeQueryParam -> BankAccountType bankAccountTypeToBS8 :: BankAccountType -> ByteString newtype CurrencyQueryParam CurrencyQueryParam :: SupportedCurrencies -> CurrencyQueryParam [currencyQueryParam] :: CurrencyQueryParam -> SupportedCurrencies currencyToBS8 :: SupportedCurrencies -> ByteString newtype SourceQueryParam SourceQueryParam :: UUID -> SourceQueryParam [sourceQueryParam] :: SourceQueryParam -> UUID newtype SettlementIdQueryParam SettlementIdQueryParam :: UUID -> SettlementIdQueryParam [settlementIdQueryParam] :: SettlementIdQueryParam -> UUID newtype PaymentIntentIdQueryParam PaymentIntentIdQueryParam :: UUID -> PaymentIntentIdQueryParam [paymentIntentIdQueryParam] :: PaymentIntentIdQueryParam -> UUID newtype PaymentIdQueryParam PaymentIdQueryParam :: UUID -> PaymentIdQueryParam [paymentIdQueryParam] :: PaymentIdQueryParam -> UUID newtype PaymentStatusQueryParams PaymentStatusQueryParams :: [PaymentStatus] -> PaymentStatusQueryParams [paymentStatusQueryParams] :: PaymentStatusQueryParams -> [PaymentStatus] paymentStatusToBS8 :: PaymentStatus -> ByteString newtype PaymentIntentContextQueryParams PaymentIntentContextQueryParams :: [PaymentIntentContext] -> PaymentIntentContextQueryParams [paymentIntentContextQueryParams] :: PaymentIntentContextQueryParams -> [PaymentIntentContext] paymentIntentContextToBS8 :: PaymentIntentContext -> ByteString newtype WalletIdQueryParam WalletIdQueryParam :: WalletId -> WalletIdQueryParam [walletIdQueryParam] :: WalletIdQueryParam -> WalletId newtype SourceWalletIdQueryParam SourceWalletIdQueryParam :: WalletId -> SourceWalletIdQueryParam [sourceWalletIdQueryParam] :: SourceWalletIdQueryParam -> WalletId newtype DestinationWalletIdQueryParam DestinationWalletIdQueryParam :: WalletId -> DestinationWalletIdQueryParam [destinationWalletIdQueryParam] :: DestinationWalletIdQueryParam -> WalletId newtype ReturnIdentitiesQueryParam ReturnIdentitiesQueryParam :: Bool -> ReturnIdentitiesQueryParam [returnIdentitiesQueryParam] :: ReturnIdentitiesQueryParam -> Bool data BalanceRequest -- | Response body for the "businessAccount/balances" and "/balances" -- endpoints data BalanceResponseBody BalanceResponseBody :: ![MoneyAmount] -> ![MoneyAmount] -> BalanceResponseBody [balanceResponseBodyAvailable] :: BalanceResponseBody -> ![MoneyAmount] [balanceResponseBodyUnsettled] :: BalanceResponseBody -> ![MoneyAmount] data PayoutRequest data PayoutsRequest -- | Response body for methods that call "businessAccount/payouts" or -- "payouts" endpoints data PayoutResponseBody PayoutResponseBody :: !UUID -> !WalletId -> !DestinationBankAccount -> !MoneyAmount -> !MoneyAmount -> !Status -> !TrackingReference -> !PayoutErrorCode -> !RiskEvaluation -> !Adjustments -> !PayoutReturnResponseBody -> !UTCTime -> !UTCTime -> PayoutResponseBody [payoutResponseBodyId] :: PayoutResponseBody -> !UUID [payoutResponseBodySourceWalletId] :: PayoutResponseBody -> !WalletId [payoutResponseBodyDestinationBankAccount] :: PayoutResponseBody -> !DestinationBankAccount [payoutResponseBodyAmount] :: PayoutResponseBody -> !MoneyAmount [payoutResponseBodyFees] :: PayoutResponseBody -> !MoneyAmount [payoutResponseBodyStatus] :: PayoutResponseBody -> !Status [payoutResponseBodyTrackingRef] :: PayoutResponseBody -> !TrackingReference [payoutResponseBodyPayoutErrorCode] :: PayoutResponseBody -> !PayoutErrorCode [payoutResponseBodyRiskEvaluation] :: PayoutResponseBody -> !RiskEvaluation [payoutResponseBodyAdjustments] :: PayoutResponseBody -> !Adjustments [payoutResponseBodyPayoutReturn] :: PayoutResponseBody -> !PayoutReturnResponseBody [payoutResponseBodyCreateDate] :: PayoutResponseBody -> !UTCTime [payoutResponseBodyUpdateDate] :: PayoutResponseBody -> !UTCTime -- | Request body for creating a new business account payout data BusinessPayoutRequestBody BusinessPayoutRequestBody :: !UUID -> !DestinationBankAccount -> !MoneyAmount -> BusinessPayoutRequestBody [businessPayoutIdempotencyKey] :: BusinessPayoutRequestBody -> !UUID [businessPayoutDestination] :: BusinessPayoutRequestBody -> !DestinationBankAccount [businessPayoutAmount] :: BusinessPayoutRequestBody -> !MoneyAmount newtype PayoutMetadata PayoutMetadata :: Email -> PayoutMetadata [payoutMetadataBeneficiaryEmail] :: PayoutMetadata -> Email -- | Request body to create a payout. data PayoutRequestBody PayoutRequestBody :: !UUID -> !Maybe PaymentSource -> !DestinationBankAccount -> !MoneyAmount -> !PayoutMetadata -> PayoutRequestBody [payoutIdempotencyKey] :: PayoutRequestBody -> !UUID [payoutSource] :: PayoutRequestBody -> !Maybe PaymentSource [payoutDestination] :: PayoutRequestBody -> !DestinationBankAccount [payoutAmount] :: PayoutRequestBody -> !MoneyAmount [payoutMetadata] :: PayoutRequestBody -> !PayoutMetadata -- | Response body for methods that call the "returns" endpoint data PayoutReturnResponseBody PayoutReturnResponseBody :: !UUID -> !UUID -> !MoneyAmount -> !MoneyAmount -> !Text -> !Status -> !UTCTime -> !UTCTime -> PayoutReturnResponseBody [payoutReturnResponseBodyId] :: PayoutReturnResponseBody -> !UUID [payoutReturnResponseBodyOriginalPayoutId] :: PayoutReturnResponseBody -> !UUID [payoutReturnResponseBodyAmount] :: PayoutReturnResponseBody -> !MoneyAmount [payoutReturnResponseBodyFees] :: PayoutReturnResponseBody -> !MoneyAmount [payoutReturnResponseBodyReason] :: PayoutReturnResponseBody -> !Text [payoutReturnResponseBodyStatus] :: PayoutReturnResponseBody -> !Status [payoutReturnResponseBodyCreateDate] :: PayoutReturnResponseBody -> !UTCTime [payoutReturnResponseBodyUpdateDate] :: PayoutReturnResponseBody -> !UTCTime data PayoutErrorCode InsufficientFunds :: PayoutErrorCode TransactionDenied :: PayoutErrorCode TransactionFailed :: PayoutErrorCode TransactionReturned :: PayoutErrorCode BankTransactionError :: PayoutErrorCode FiatAccountLimitExceeded :: PayoutErrorCode InvalidBankAccountNumber :: PayoutErrorCode InvalidACHRoutingTransitNumber :: PayoutErrorCode InvalidWireRoutingTransitNumber :: PayoutErrorCode VendorInactive :: PayoutErrorCode data ConfigurationRequest -- | Response body for the "/configuration" endpoint newtype ConfigurationResponseBody ConfigurationResponseBody :: WalletConfig -> ConfigurationResponseBody [configurationResponseBodyPayments] :: ConfigurationResponseBody -> WalletConfig newtype WalletConfig WalletConfig :: WalletId -> WalletConfig [masterWalletId] :: WalletConfig -> WalletId data EncryptionRequest -- | Response body for the "/encryption/public" endpoint data EncryptionResponseBody EncryptionResponseBody :: !Text -> !PGPKey -> EncryptionResponseBody [encryptionResponseBodyKeyId] :: EncryptionResponseBody -> !Text [encryptionResponseBodyPublicKey] :: EncryptionResponseBody -> !PGPKey newtype PGPKey PGPKey :: Text -> PGPKey [unPGPKey] :: PGPKey -> Text data ChannelsRequest -- | Response body for the "/channels" endpoint newtype ChannelResponseBody ChannelResponseBody :: [Channel] -> ChannelResponseBody [channels] :: ChannelResponseBody -> [Channel] data Channel Channel :: !UUID -> !Bool -> !Text -> !Text -> Channel [channelId] :: Channel -> !UUID [channelDefault] :: Channel -> !Bool [channelCardDescriptor] :: Channel -> !Text [channelAchDescriptor] :: Channel -> !Text data StablecoinsRequest -- | Response body for the "/stablecoins" endpoint data StablecoinResponseBody StablecoinResponseBody :: !Text -> !Stablecoin -> !Text -> ![ChainAmount] -> StablecoinResponseBody [stablecoinResponseBodyName] :: StablecoinResponseBody -> !Text [stablecoinResponseBodySymbol] :: StablecoinResponseBody -> !Stablecoin [stablecoinResponseBodyTotalAmount] :: StablecoinResponseBody -> !Text [stablecoinResponseBodyChains] :: StablecoinResponseBody -> ![ChainAmount] data ChainAmount ChainAmount :: !Text -> !Chain -> !UTCTime -> ChainAmount [chainAmountAmount] :: ChainAmount -> !Text [chainAmountChain] :: ChainAmount -> !Chain [chainAmountUpdateDate] :: ChainAmount -> !UTCTime data Chain ALGO :: Chain ARB :: Chain AVAX :: Chain ChainBTC :: Chain ChainETH :: Chain FLOW :: Chain HBAR :: Chain MATIC :: Chain NEAR :: Chain OP :: Chain SOL :: Chain TRX :: Chain XLM :: Chain data Stablecoin USDC :: Stablecoin EUROC :: Stablecoin USDT :: Stablecoin data SubscriptionsRequest data SubscriptionRequest -- | Response body for methods that call "notifications/subscriptions" data SubscriptionResponseBody SubscriptionResponseBody :: !UUID -> !URL -> ![SubscriptionDetails] -> SubscriptionResponseBody [subscriptionResponseBodyId] :: SubscriptionResponseBody -> !UUID [subscriptionResponseBodyEndpoint] :: SubscriptionResponseBody -> !URL [subscriptionResponseBodySubscriptionDetails] :: SubscriptionResponseBody -> ![SubscriptionDetails] data SubscriptionDetails SubscriptionDetails :: !URL -> !Status -> SubscriptionDetails [subscriptionDetailsUrl] :: SubscriptionDetails -> !URL [subscriptionDetailsStatus] :: SubscriptionDetails -> !Status -- | Request body for creating a new subscription newtype SubscriptionRequestBody SubscriptionRequestBody :: Text -> SubscriptionRequestBody [subscriptionRequestBodyEndpoint] :: SubscriptionRequestBody -> Text data TransfersRequest data TransferRequest -- | Request body for creating a new business account transfer data BusinessTransferRequestBody BusinessTransferRequestBody :: !UUID -> !TransferDestination -> !MoneyAmount -> BusinessTransferRequestBody [businessTransferRequestBodyIdempotencyKey] :: BusinessTransferRequestBody -> !UUID [businessTransferRequestBodyDestination] :: BusinessTransferRequestBody -> !TransferDestination [businessTransferRequestBodyAmount] :: BusinessTransferRequestBody -> !MoneyAmount -- | Request body for creating a new transfer data TransferRequestBody TransferRequestBody :: !UUID -> !PaymentSource -> !TransferDestination -> !MoneyAmount -> TransferRequestBody [transferRequestBodyIdempotencyKey] :: TransferRequestBody -> !UUID [transferRequestBodySource] :: TransferRequestBody -> !PaymentSource [transferRequestBodyDestination] :: TransferRequestBody -> !TransferDestination [transferRequestBodyAmount] :: TransferRequestBody -> !MoneyAmount data TransferDestination TransferDestination :: !DestinationType -> !UUID -> TransferDestination [transferDestinationType] :: TransferDestination -> !DestinationType [transferDestinationAddressId] :: TransferDestination -> !UUID data DestinationType VerifiedBlockchain :: DestinationType -- | Response body for methods that call the "businessAccount/transfers" -- and "transfers" endpoints data TransferResponseBody TransferResponseBody :: !UUID -> !ThisOrThat SourceWallet SourceBlockchain -> !ThisOrThat DestinationWallet DestinationBlockchain -> !MoneyAmount -> !TransferFeeAmount -> !Maybe HexString -> !Status -> !Maybe TransferErrorCode -> !Maybe RiskEvaluation -> !Maybe UTCTime -> TransferResponseBody [transferResponseBodyId] :: TransferResponseBody -> !UUID [transferResponseBodySource] :: TransferResponseBody -> !ThisOrThat SourceWallet SourceBlockchain [transferResponseBodyDestination] :: TransferResponseBody -> !ThisOrThat DestinationWallet DestinationBlockchain [transferResponseBodyAmount] :: TransferResponseBody -> !MoneyAmount [transferResponseBodyFees] :: TransferResponseBody -> !TransferFeeAmount [transferResponseBodyTransactionHash] :: TransferResponseBody -> !Maybe HexString [transferResponseBodyStatus] :: TransferResponseBody -> !Status [transferResponseBodyTransferErrorCode] :: TransferResponseBody -> !Maybe TransferErrorCode [transferResponseBodyRiskEvaluation] :: TransferResponseBody -> !Maybe RiskEvaluation [transferResponseBodyCreateDate] :: TransferResponseBody -> !Maybe UTCTime data SourceWallet SourceWallet :: !TransferType -> !WalletId -> ![Identity] -> SourceWallet [sourceWalletType] :: SourceWallet -> !TransferType [sourceWalletId] :: SourceWallet -> !WalletId [sourceWalletIdentities] :: SourceWallet -> ![Identity] data SourceBlockchain SourceBlockchain :: !TransferType -> !Chain -> ![Identity] -> SourceBlockchain [sourceBlockchainType] :: SourceBlockchain -> !TransferType [sourceBlockchainChain] :: SourceBlockchain -> !Chain [sourceBlockChainIdentities] :: SourceBlockchain -> ![Identity] data DestinationWallet DestinationWallet :: !TransferType -> !WalletId -> !Maybe Text -> !Maybe Text -> DestinationWallet [destinationWalletType] :: DestinationWallet -> !TransferType [destinationWalletId] :: DestinationWallet -> !WalletId [destinationWalletAddress] :: DestinationWallet -> !Maybe Text [destinationWalletAddressTag] :: DestinationWallet -> !Maybe Text data DestinationBlockchain DestinationBlockchain :: !TransferType -> !HexString -> !Maybe Text -> !Chain -> DestinationBlockchain [destinationBlockchainType] :: DestinationBlockchain -> !TransferType [destinationBlockchainAddress] :: DestinationBlockchain -> !HexString [destinationBlockchainAddressTag] :: DestinationBlockchain -> !Maybe Text [destinationBlockchainAddressChain] :: DestinationBlockchain -> !Chain data Identity Identity :: !IdentityType -> !Text -> ![Address] -> Identity [identityType] :: Identity -> !IdentityType [identityName] :: Identity -> !Text [identityAddresses] :: Identity -> ![Address] data IdentityType Individual :: IdentityType Business :: IdentityType data TransferType Wallet :: TransferType Blockchain :: TransferType data TransferErrorCode TransferInsufficientFunds :: TransferErrorCode BlockchainError :: TransferErrorCode TransferDenied :: TransferErrorCode TransferFailed :: TransferErrorCode data DepositAddressesRequest data DepositAddressRequest -- | Response body for methods that call the -- "businessAccount/wallets/addresses/deposit" endpoint data DepositAddressResponseBody DepositAddressResponseBody :: !HexString -> !Maybe Text -> !SupportedCurrencies -> !Chain -> DepositAddressResponseBody [depositAddressResponseBodyAddress] :: DepositAddressResponseBody -> !HexString [depositAddressResponseBodyAddressTag] :: DepositAddressResponseBody -> !Maybe Text [depositAddressResponseBodyCurrency] :: DepositAddressResponseBody -> !SupportedCurrencies [depositAddressResponseBodyChain] :: DepositAddressResponseBody -> !Chain -- | Request body for creating a new deposit address data DepositAddressRequestBody DepositAddressRequestBody :: !UUID -> !SupportedCurrencies -> !Chain -> DepositAddressRequestBody [depositAddressRequestBodyIdempotencyKey] :: DepositAddressRequestBody -> !UUID [depositAddressRequestBodyCurrency] :: DepositAddressRequestBody -> !SupportedCurrencies [depositAddressRequestBodyChain] :: DepositAddressRequestBody -> !Chain data RecipientAddressesRequest data RecipientAddressRequest -- | Response body for methods that call the -- "businessAccount/wallets/addresses/recipient" endpoint data RecipientAddressResponseBody RecipientAddressResponseBody :: !UUID -> !HexString -> !Maybe Text -> !Chain -> !SupportedCurrencies -> !Text -> RecipientAddressResponseBody [recipientAddressResponseBodyId] :: RecipientAddressResponseBody -> !UUID [recipientAddressResponseBodyAddress] :: RecipientAddressResponseBody -> !HexString [recipientAddressResponseBodyAddressTag] :: RecipientAddressResponseBody -> !Maybe Text [recipientAddressResponseBodyChain] :: RecipientAddressResponseBody -> !Chain [recipientAddressResponseBodyCurrency] :: RecipientAddressResponseBody -> !SupportedCurrencies [recipientAddressResponseBodyDescription] :: RecipientAddressResponseBody -> !Text -- | Request body for creating a new recipient address data RecipientAddressRequestBody RecipientAddressRequestBody :: !UUID -> !HexString -> !Maybe Text -> !Chain -> !SupportedCurrencies -> !Text -> RecipientAddressRequestBody [recipientAddressRequestBodyIdempotencyKey] :: RecipientAddressRequestBody -> !UUID [recipientAddressRequestBodyAddress] :: RecipientAddressRequestBody -> !HexString [recipientAddressRequestBodyAddressTag] :: RecipientAddressRequestBody -> !Maybe Text [recipientAddressRequestBodyChain] :: RecipientAddressRequestBody -> !Chain [recipientAddressRequestBodyCurrency] :: RecipientAddressRequestBody -> !SupportedCurrencies [recipientAddressRequestBodyDescription] :: RecipientAddressRequestBody -> !Text data DepositsRequest -- | Response body for methods that call the "businessAccount/deposits" -- endpoint data DepositResponseBody DepositResponseBody :: !UUID -> !Maybe WalletId -> !DestinationWallet -> !MoneyAmount -> !MoneyAmount -> !Status -> !Maybe RiskEvaluation -> !UTCTime -> !Maybe UTCTime -> DepositResponseBody [depositResponseBodyId] :: DepositResponseBody -> !UUID [depositResponseBodySourceWalletId] :: DepositResponseBody -> !Maybe WalletId [depositResponseBodyDestination] :: DepositResponseBody -> !DestinationWallet [depositResponseBodyAmount] :: DepositResponseBody -> !MoneyAmount [depositResponseBodyFee] :: DepositResponseBody -> !MoneyAmount [depositResponseBodyStatus] :: DepositResponseBody -> !Status [depositResponseBodyRiskEvaluation] :: DepositResponseBody -> !Maybe RiskEvaluation [depositResponseBodyCreateDate] :: DepositResponseBody -> !UTCTime [depositResponseBodyUpdateDate] :: DepositResponseBody -> !Maybe UTCTime data MockPaymentRequest -- | Response body for methods that call the "mock/payments/*" endpoint data MockPaymentResponseBody MockPaymentResponseBody :: !Maybe TrackingReference -> !Maybe MoneyAmount -> !Maybe BeneficiaryBankDetails -> !Maybe Status -> MockPaymentResponseBody [mockPaymentResponseBodyTrackingRef] :: MockPaymentResponseBody -> !Maybe TrackingReference [mockPaymentResponseBodyAmount] :: MockPaymentResponseBody -> !Maybe MoneyAmount [mockPaymentResponseBodyBeneficiaryBank] :: MockPaymentResponseBody -> !Maybe BeneficiaryBankDetails [mockPaymentResponseBodyStatus] :: MockPaymentResponseBody -> !Maybe Status -- | Request body to create a mock SEN or Wire payment (in the sandbox -- only). data MockSenOrWirePaymentRequestBody MockSenOrWirePaymentRequestBody :: !TrackingReference -> !MoneyAmount -> !MockBeneficiaryBankDetails -> MockSenOrWirePaymentRequestBody [mockSenOrWirePaymentRequestBodyTrackingRef] :: MockSenOrWirePaymentRequestBody -> !TrackingReference [mockSenOrWirePaymentRequestBodyAmount] :: MockSenOrWirePaymentRequestBody -> !MoneyAmount [mockSenOrWirePaymentRequestBodyBeneficiaryBank] :: MockSenOrWirePaymentRequestBody -> !MockBeneficiaryBankDetails -- | Request body to create a mock SEPA payment (in the sandbox only). data MockSEPAPaymentRequestBody MockSEPAPaymentRequestBody :: !TrackingReference -> !MoneyAmount -> MockSEPAPaymentRequestBody [mockSEPAPaymentRequestBodyTrackingRef] :: MockSEPAPaymentRequestBody -> !TrackingReference [mockSEPAPaymentRequestBodyAmount] :: MockSEPAPaymentRequestBody -> !MoneyAmount newtype MockBeneficiaryBankDetails MockBeneficiaryBankDetails :: AccountNumber -> MockBeneficiaryBankDetails [mockBeneficiaryBankDetailsAccountNumber] :: MockBeneficiaryBankDetails -> AccountNumber data SENAccountRequest data SENAccountsRequest data SENInstructionsRequest -- | Request body to create a Silvergate SEN account. data SENAccountRequestBody SENAccountRequestBody :: !UUID -> !AccountNumber -> !Maybe SupportedCurrencies -> SENAccountRequestBody [senAccountRequestBodyIdempotencyKey] :: SENAccountRequestBody -> !UUID [senAccountRequestBodyAccountNumber] :: SENAccountRequestBody -> !AccountNumber [senAccountRequestBodyCurrency] :: SENAccountRequestBody -> !Maybe SupportedCurrencies -- | Response body for methods that call the "businessAccount/banks/sen" -- endpoint data SENAccountResponseBody SENAccountResponseBody :: !UUID -> !Status -> !Text -> !TrackingReference -> !UTCTime -> !UTCTime -> !Maybe SupportedCurrencies -> SENAccountResponseBody [senAccountResponseBodyId] :: SENAccountResponseBody -> !UUID [senAccountResponseBodyStatus] :: SENAccountResponseBody -> !Status [senAccountResponseBodyDescription] :: SENAccountResponseBody -> !Text [senAccountResponseBodyTrackingRef] :: SENAccountResponseBody -> !TrackingReference [senAccountResponseBodyCreateDate] :: SENAccountResponseBody -> !UTCTime [senAccountResponseBodyUpdateDate] :: SENAccountResponseBody -> !UTCTime [senAccountResponseBodyCurrency] :: SENAccountResponseBody -> !Maybe SupportedCurrencies data SENInstructionsResponseData SENInstructionsResponseData :: !TrackingReference -> !AccountNumber -> !SupportedCurrencies -> SENInstructionsResponseData [senInstructionsResponseDataTrackingRef] :: SENInstructionsResponseData -> !TrackingReference [senInstructionsResponseDataAccountNumber] :: SENInstructionsResponseData -> !AccountNumber [senInstructionsResponseDataCurrency] :: SENInstructionsResponseData -> !SupportedCurrencies data SignetBankAccountRequest data SignetBankAccountsRequest data SignetBankInstructionsRequest -- | Request body to create Signet Bank bank account. data SignetBankAccountRequestBody SignetBankAccountRequestBody :: !UUID -> !HexString -> SignetBankAccountRequestBody [signetBankAccountRequestBodyIdempotencyKey] :: SignetBankAccountRequestBody -> !UUID [signetBankAccountRequestBodyWalletAddress] :: SignetBankAccountRequestBody -> !HexString -- | Response body for methods that call the "businessAccount/banks/signet" -- endpoint data SignetBankAccountResponseData SignetBankAccountResponseData :: !UUID -> !Status -> !TrackingReference -> !HexString -> !UTCTime -> !UTCTime -> SignetBankAccountResponseData [signetBankAccountId] :: SignetBankAccountResponseData -> !UUID [signetBankAccountStatus] :: SignetBankAccountResponseData -> !Status [signetBankAccountTrackingRef] :: SignetBankAccountResponseData -> !TrackingReference [signetBankAccountWalletAddress] :: SignetBankAccountResponseData -> !HexString [signetBankAccountCreateDate] :: SignetBankAccountResponseData -> !UTCTime [signetBankAccountUpdateDate] :: SignetBankAccountResponseData -> !UTCTime data SignetBankInstructionsResponseData SignetBankInstructionsResponseData :: !Maybe TrackingReference -> !Maybe HexString -> SignetBankInstructionsResponseData [signetBankInstructionsTrackingRef] :: SignetBankInstructionsResponseData -> !Maybe TrackingReference [signetBankInstructionsWalletAddress] :: SignetBankInstructionsResponseData -> !Maybe HexString data WireAccountRequest data WireAccountsRequest data WireInstructionsRequest -- | Request body to create a wire account. Sum type because this endpoint -- supports several different types of wire accounts. data WireAccountRequestBody USBankAccount :: !USBankAccountRequestBody -> WireAccountRequestBody IBANBankAccount :: !IBANBankAccountRequestBody -> WireAccountRequestBody NonIBANBankAccount :: !NonIBANBankAccountRequestBody -> WireAccountRequestBody data USBankAccountRequestBody USBankAccountRequestBody :: !UUID -> !AccountNumber -> !RoutingNumber -> !BillingDetails -> !BankAddress -> USBankAccountRequestBody [usBankAccountIdempotencyKey] :: USBankAccountRequestBody -> !UUID [usBankAccountAccountNumber] :: USBankAccountRequestBody -> !AccountNumber [usBankAccountRoutingNumber] :: USBankAccountRequestBody -> !RoutingNumber [usBankAccountBillingDetails] :: USBankAccountRequestBody -> !BillingDetails [usBankAccountBankAddress] :: USBankAccountRequestBody -> !BankAddress data IBANBankAccountRequestBody IBANBankAccountRequestBody :: !UUID -> !Iban -> !BillingDetails -> !BankAddress -> IBANBankAccountRequestBody [ibanBankAccountIdempotencyKey] :: IBANBankAccountRequestBody -> !UUID [ibanBankAccountIBAN] :: IBANBankAccountRequestBody -> !Iban [ibanBankAccountBillingDetails] :: IBANBankAccountRequestBody -> !BillingDetails [ibanBankAccountBankAddress] :: IBANBankAccountRequestBody -> !BankAddress data NonIBANBankAccountRequestBody NonIBANBankAccountRequestBody :: !UUID -> !AccountNumber -> !RoutingNumber -> !BillingDetails -> !BankAddress -> NonIBANBankAccountRequestBody [nonIBANBankAccountIdempotencyKey] :: NonIBANBankAccountRequestBody -> !UUID [nonIBANBankAccountAccountNumber] :: NonIBANBankAccountRequestBody -> !AccountNumber [nonIBANBankAccountRoutingNumber] :: NonIBANBankAccountRequestBody -> !RoutingNumber [nonIBANBankAccountBillingDetails] :: NonIBANBankAccountRequestBody -> !BillingDetails [nonIBANBankAccountBankAddress] :: NonIBANBankAccountRequestBody -> !BankAddress -- | Response body for getWireAccountInstructions data WireInstructionsResponseData WireInstructionsResponseData :: !TrackingReference -> !BeneficiaryDetails -> !BeneficiaryBankDetails -> WireInstructionsResponseData [wireInstructionsResponseDataTrackingRef] :: WireInstructionsResponseData -> !TrackingReference [wireInstructionsResponseDataBeneficiaryDetails] :: WireInstructionsResponseData -> !BeneficiaryDetails [wireInstructionsResponseDataBeneficiaryBankDetails] :: WireInstructionsResponseData -> !BeneficiaryBankDetails -- | Response body for methods that call the "/wires" or -- "businessAccount/wires" endpoints data WireAccountResponseBody WireAccountResponseBody :: !UUID -> !Status -> !Text -> !TrackingReference -> !UUID -> !BillingDetails -> !BankAddress -> !UTCTime -> !UTCTime -> WireAccountResponseBody [wireAccountResponseBodyId] :: WireAccountResponseBody -> !UUID [wireAccountResponseBodyStatus] :: WireAccountResponseBody -> !Status [wireAccountResponseBodyDescription] :: WireAccountResponseBody -> !Text [wireAccountResponseBodyTrackingRef] :: WireAccountResponseBody -> !TrackingReference [wireAccountResponseBodyFingerprint] :: WireAccountResponseBody -> !UUID [wireAccountResponseBodyBillingDetails] :: WireAccountResponseBody -> !BillingDetails [wireAccountResponseBodyBankAddress] :: WireAccountResponseBody -> !BankAddress [wireAccountResponseBodyCreateDate] :: WireAccountResponseBody -> !UTCTime [wireAccountResponseBodyUpdateDate] :: WireAccountResponseBody -> !UTCTime data PaymentRequest data PaymentsRequest -- | Request body to create any kind of payment. data CreatePaymentRequestBody CreatePaymentRequestBody :: !UUID -> !Text -> !RequestMetadata -> !MoneyAmount -> !Maybe Bool -> !VerificationType -> !Maybe URL -> !Maybe URL -> !PaymentSource -> !Maybe Text -> !Maybe Text -> !Maybe UUID -> CreatePaymentRequestBody [createPaymentIdempotencyKey] :: CreatePaymentRequestBody -> !UUID [createPaymentKeyId] :: CreatePaymentRequestBody -> !Text [requestMetadata] :: CreatePaymentRequestBody -> !RequestMetadata [createPaymentAmount] :: CreatePaymentRequestBody -> !MoneyAmount [createPaymentAutoCapture] :: CreatePaymentRequestBody -> !Maybe Bool [createPaymentVerification] :: CreatePaymentRequestBody -> !VerificationType -- | The following two fields are only present if VerificationType = -- ThreeDSecure [createPaymentVerificationSuccessUrl] :: CreatePaymentRequestBody -> !Maybe URL [createPaymentVerificationFailureUrl] :: CreatePaymentRequestBody -> !Maybe URL [createPaymentSource] :: CreatePaymentRequestBody -> !PaymentSource [createPaymentDescription] :: CreatePaymentRequestBody -> !Maybe Text -- | This encrypted data needs to encrypt the card CVV [createPaymentEncryptedData] :: CreatePaymentRequestBody -> !Maybe Text [createPaymentChannel] :: CreatePaymentRequestBody -> !Maybe UUID data RequestMetadata RequestMetadata :: !Email -> !Maybe PhoneNumber -> !SessionId -> !IPAddress -> RequestMetadata [requestMetadataEmail] :: RequestMetadata -> !Email [requestMetadataPhoneNumber] :: RequestMetadata -> !Maybe PhoneNumber [requestMetadataSessionId] :: RequestMetadata -> !SessionId [requestMetadataIpAddress] :: RequestMetadata -> !IPAddress newtype SessionId SessionId :: Text -> SessionId [unSessionId] :: SessionId -> Text newtype IPAddress IPAddress :: Text -> IPAddress [unIPAddress] :: IPAddress -> Text newtype PhoneNumber PhoneNumber :: Text -> PhoneNumber [unPhoneNumber] :: PhoneNumber -> Text data PaymentErrorCode PaymentFailedErrorCode :: PaymentErrorCode PaymentFraudDetected :: PaymentErrorCode PaymentDenied :: PaymentErrorCode PaymentNotSupportedByIssuer :: PaymentErrorCode PaymentNotFunded :: PaymentErrorCode PaymentUnprocessable :: PaymentErrorCode PaymentStoppedByIssuer :: PaymentErrorCode PaymentCanceled :: PaymentErrorCode PaymentReturned :: PaymentErrorCode PaymentFailedBalanceCheck :: PaymentErrorCode CardFailed :: PaymentErrorCode CardInvalid :: PaymentErrorCode CardAddressMismatch :: PaymentErrorCode CardZipMismatch :: PaymentErrorCode CardCvvInvalid :: PaymentErrorCode CardExpired :: PaymentErrorCode CardLimitViolated :: PaymentErrorCode CardNotHonored :: PaymentErrorCode CardCvvRequired :: PaymentErrorCode CardRestricted :: PaymentErrorCode CardAccountIneligible :: PaymentErrorCode CardNetworkUnsupported :: PaymentErrorCode ChannelInvalid :: PaymentErrorCode UnauthorizedTransaction :: PaymentErrorCode BankAccountIneligible :: PaymentErrorCode PaymentBankTransactionError :: PaymentErrorCode InvalidAccountNumber :: PaymentErrorCode InvalidWireRtn :: PaymentErrorCode InvalidAchRtn :: PaymentErrorCode RefIdInvalid :: PaymentErrorCode AccountNameMismatch :: PaymentErrorCode AccountNumberMismatch :: PaymentErrorCode AccountIneligible :: PaymentErrorCode WalletAddressMismatch :: PaymentErrorCode CustomerNameMismatch :: PaymentErrorCode InstitutionNameMismatch :: PaymentErrorCode PaymentVendorInactive :: PaymentErrorCode -- | A FiatOrCryptoPaymentResponseBody object represents a fiat or crypto -- payment. These payments look identical except for the -- Description field, and the fact that a FiatPayment could have -- response verification data, whereas a crypto payment could have info -- about the deposit address, transaction hash etc. I'd love to -- differentiate these fields based on what I can parse from JSON, but -- there's enough overlap between the two response bodies that I can -- cheat for now. data FiatOrCryptoPaymentResponseBody FiatOrCryptoPaymentResponseBody :: !UUID -> !PaymentType -> !UUID -> !WalletId -> !MoneyAmount -> !PaymentSource -> !Text -> !PaymentStatus -> !Maybe UUID -> !Maybe MoneyAmount -> !Maybe PaymentDepositAddress -> !Maybe HexString -> !Maybe VerificationData -> !Maybe Bool -> !Maybe MoneyAmount -> !Maybe UTCTime -> !Maybe PaymentActionRequired -> !Maybe FiatCancelOrRefundResponseBody -> !Maybe [FiatCancelOrRefundResponseBody] -> !Maybe MoneyAmount -> !Maybe UUID -> !Maybe UTCTime -> !Maybe UTCTime -> !Maybe TrackingReference -> !Maybe PaymentErrorCode -> !Maybe ResponseMetadata -> !Maybe RiskEvaluation -> FiatOrCryptoPaymentResponseBody [fiatOrCryptoPaymentId] :: FiatOrCryptoPaymentResponseBody -> !UUID [fiatOrCryptoPaymentType] :: FiatOrCryptoPaymentResponseBody -> !PaymentType [fiatOrCryptoPaymentMerchantId] :: FiatOrCryptoPaymentResponseBody -> !UUID [fiatOrCryptoPaymentMerchantWalletId] :: FiatOrCryptoPaymentResponseBody -> !WalletId [fiatOrCryptoPaymentAmount] :: FiatOrCryptoPaymentResponseBody -> !MoneyAmount [fiatOrCryptoPaymentSource] :: FiatOrCryptoPaymentResponseBody -> !PaymentSource [fiatOrCryptoPaymentDescription] :: FiatOrCryptoPaymentResponseBody -> !Text [fiatOrCryptoPaymentStatus] :: FiatOrCryptoPaymentResponseBody -> !PaymentStatus [fiatOrCryptoPaymentPaymentIntentId] :: FiatOrCryptoPaymentResponseBody -> !Maybe UUID [fiatOrCryptoPaymentSettlementAmount] :: FiatOrCryptoPaymentResponseBody -> !Maybe MoneyAmount [fiatOrCryptoPaymentDepositAddress] :: FiatOrCryptoPaymentResponseBody -> !Maybe PaymentDepositAddress [fiatOrCryptoPaymentTransactionHash] :: FiatOrCryptoPaymentResponseBody -> !Maybe HexString [fiatOrCryptoPaymentVerification] :: FiatOrCryptoPaymentResponseBody -> !Maybe VerificationData [fiatOrCryptoPaymentCaptured] :: FiatOrCryptoPaymentResponseBody -> !Maybe Bool [fiatOrCryptoPaymentCaptureAmount] :: FiatOrCryptoPaymentResponseBody -> !Maybe MoneyAmount [fiatOrCryptoPaymentCaptureDate] :: FiatOrCryptoPaymentResponseBody -> !Maybe UTCTime [fiatOrCryptoPaymentRequiredAction] :: FiatOrCryptoPaymentResponseBody -> !Maybe PaymentActionRequired [fiatOrCryptoPaymentCancel] :: FiatOrCryptoPaymentResponseBody -> !Maybe FiatCancelOrRefundResponseBody [fiatOrCryptoPaymentRefunds] :: FiatOrCryptoPaymentResponseBody -> !Maybe [FiatCancelOrRefundResponseBody] [fiatOrCryptoPaymentFees] :: FiatOrCryptoPaymentResponseBody -> !Maybe MoneyAmount [fiatOrCryptoPaymentChannel] :: FiatOrCryptoPaymentResponseBody -> !Maybe UUID [fiatOrCryptoPaymentCreateDate] :: FiatOrCryptoPaymentResponseBody -> !Maybe UTCTime [fiatOrCryptoPaymentUpdateDate] :: FiatOrCryptoPaymentResponseBody -> !Maybe UTCTime [fiatOrCryptoPaymentTrackingRef] :: FiatOrCryptoPaymentResponseBody -> !Maybe TrackingReference [fiatOrCryptoPaymentErrorCode] :: FiatOrCryptoPaymentResponseBody -> !Maybe PaymentErrorCode [fiatOrCryptoMetadata] :: FiatOrCryptoPaymentResponseBody -> !Maybe ResponseMetadata [fiatOrCryptoPaymentRiskEvaluation] :: FiatOrCryptoPaymentResponseBody -> !Maybe RiskEvaluation data ResponseMetadata ResponseMetadata :: !Email -> !Maybe PhoneNumber -> ResponseMetadata [responseMetadataEmail] :: ResponseMetadata -> !Email [responseMetadataPhoneNumber] :: ResponseMetadata -> !Maybe PhoneNumber data VerificationData VerificationData :: !AVS -> !CVV -> VerificationData [verificationAVS] :: VerificationData -> !AVS [verificationCVV] :: VerificationData -> !CVV data AVS AVSNotRequested :: AVS AVSPending :: AVS Y :: AVS N :: AVS data CVV CVVNotRequested :: CVV CVVPass :: CVV CVVFail :: CVV CVVUnavailable :: CVV CVVPending :: CVV data PaymentDepositAddress PaymentDepositAddress :: !Chain -> !HexString -> PaymentDepositAddress [paymentDepositAddressChain] :: PaymentDepositAddress -> !Chain [paymentDepositAddressAddress] :: PaymentDepositAddress -> !HexString -- | A FiatCancelOrRefundResponseBody object represents an attempt at -- canceling or refunding a payment. Cancellations apply only to card -- payments, and its presence doesn't necessarily mean that the -- cancellation was successful. A successful cancellation has a status of -- paid, a successful refund has a status of confirmed. data FiatCancelOrRefundResponseBody FiatCancelOrRefundResponseBody :: !UUID -> !PaymentType -> !UUID -> !WalletId -> !MoneyAmount -> !PaymentSource -> !Text -> !PaymentStatus -> !OriginalFiatPayment -> !Maybe MoneyAmount -> !Maybe Text -> !Maybe CancelPaymentReason -> !UTCTime -> !UTCTime -> FiatCancelOrRefundResponseBody [fiatCancelOrRefundResponseBodyId] :: FiatCancelOrRefundResponseBody -> !UUID [fiatCancelOrRefundResponseBodyType] :: FiatCancelOrRefundResponseBody -> !PaymentType [fiatCancelOrRefundResponseBodyMerchantId] :: FiatCancelOrRefundResponseBody -> !UUID [fiatCancelOrRefundResponseBodyMerchantWalletId] :: FiatCancelOrRefundResponseBody -> !WalletId [fiatCancelOrRefundResponseBodyAmount] :: FiatCancelOrRefundResponseBody -> !MoneyAmount [fiatCancelOrRefundResponseBodySource] :: FiatCancelOrRefundResponseBody -> !PaymentSource [fiatCancelOrRefundResponseBodyDescription] :: FiatCancelOrRefundResponseBody -> !Text [fiatCancelOrRefundResponseBodyStatus] :: FiatCancelOrRefundResponseBody -> !PaymentStatus [fiatCancelOrRefundResponseBodyOriginalPayment] :: FiatCancelOrRefundResponseBody -> !OriginalFiatPayment [fiatCancelOrRefundResponseBodyFees] :: FiatCancelOrRefundResponseBody -> !Maybe MoneyAmount [fiatCancelOrRefundResponseBodyChannel] :: FiatCancelOrRefundResponseBody -> !Maybe Text [fiatCancelOrRefundResponseBodyReason] :: FiatCancelOrRefundResponseBody -> !Maybe CancelPaymentReason [fiatCancelOrRefundResponseBodyCreateDate] :: FiatCancelOrRefundResponseBody -> !UTCTime [fiatCancelOrRefundResponseBodyUpdateDate] :: FiatCancelOrRefundResponseBody -> !UTCTime data OriginalFiatPayment OriginalFiatPayment :: !UUID -> !PaymentType -> !PaymentStatus -> !UTCTime -> !UTCTime -> !Maybe Text -> !Maybe MoneyAmount -> !Maybe MoneyAmount -> !Maybe UUID -> !Maybe WalletId -> !Maybe PaymentSource -> !Maybe TrackingReference -> OriginalFiatPayment [originalFiatPaymentId] :: OriginalFiatPayment -> !UUID [originalFiatPaymentType] :: OriginalFiatPayment -> !PaymentType [originalFiatPaymentStatus] :: OriginalFiatPayment -> !PaymentStatus [originalFiatPaymentCreateDate] :: OriginalFiatPayment -> !UTCTime [originalFiatPaymentUpdateDate] :: OriginalFiatPayment -> !UTCTime [originalFiatPaymentDescription] :: OriginalFiatPayment -> !Maybe Text [originalFiatPaymentAmount] :: OriginalFiatPayment -> !Maybe MoneyAmount [originalFiatPaymentFees] :: OriginalFiatPayment -> !Maybe MoneyAmount [originalFiatPaymentMerchantId] :: OriginalFiatPayment -> !Maybe UUID [originalFiatPaymentMerchantWalletId] :: OriginalFiatPayment -> !Maybe WalletId [originalFiatPaymentSource] :: OriginalFiatPayment -> !Maybe PaymentSource [originalFiatPaymentTrackingRef] :: OriginalFiatPayment -> !Maybe TrackingReference data PaymentSource PaymentSource :: !UUID -> !PaymentSourceType -> PaymentSource [paymentSourceId] :: PaymentSource -> !UUID [paymentSourceType] :: PaymentSource -> !PaymentSourceType data PaymentActionRequired PaymentActionRequired :: !ActionRequiredType -> !URL -> PaymentActionRequired [paymentActionRequiredType] :: PaymentActionRequired -> !ActionRequiredType [paymentActionRequiredRedirectUrl] :: PaymentActionRequired -> !URL data ActionRequiredType ThreeDSecureRequired :: ActionRequiredType data VerificationType VerificationThreeDSecure :: VerificationType VerificationCVV :: VerificationType data PaymentType Payment :: PaymentType Cancel :: PaymentType Refund :: PaymentType data PaymentSourceType Card :: PaymentSourceType ACH :: PaymentSourceType WireSource :: PaymentSourceType SEPA :: PaymentSourceType -- | Request body to cancel a fiat payment. data CancelPaymentRequestBody CancelPaymentRequestBody :: !UUID -> !Maybe CancelPaymentReason -> CancelPaymentRequestBody [cancelPaymentIdempotencyKey] :: CancelPaymentRequestBody -> !UUID [cancelPaymentReason] :: CancelPaymentRequestBody -> !Maybe CancelPaymentReason data CancelPaymentReason CancelPaymentReasonDuplicate :: CancelPaymentReason CancelPaymentReasonFraudulent :: CancelPaymentReason CancelPaymentReasonRequestedByCustomer :: CancelPaymentReason CancelPaymentReasonBankTransactionError :: CancelPaymentReason CancelPaymentReasonInvalidAccountNumber :: CancelPaymentReason CancelPaymentReasonInsufficientFunds :: CancelPaymentReason CancelPaymentReasonPaymentStoppedByIssuer :: CancelPaymentReason -- | Request body to refund a fiat payment. data RefundPaymentRequestBody RefundPaymentRequestBody :: !UUID -> !MoneyAmount -> !Maybe CancelPaymentReason -> RefundPaymentRequestBody [refundPaymentIdempotencyKey] :: RefundPaymentRequestBody -> !UUID [refundPaymentAmount] :: RefundPaymentRequestBody -> !MoneyAmount [refundPaymentReason] :: RefundPaymentRequestBody -> !Maybe CancelPaymentReason data OnChainTransferRequest data OnChainTransfersRequest data OnChainAddressRequest -- | Request body to create an on-chain transfer data OnChainTransferRequestBody OnChainTransferRequestBody :: !UUID -> !SourceWallet -> !ThisOrThat DestinationWallet DestinationBlockchain -> !MoneyAmount -> OnChainTransferRequestBody [onChainTransferRequestBodyIdempotencyKey] :: OnChainTransferRequestBody -> !UUID [onChainTransferRequestBodySource] :: OnChainTransferRequestBody -> !SourceWallet [onChainTransferRequestBodyDestination] :: OnChainTransferRequestBody -> !ThisOrThat DestinationWallet DestinationBlockchain [onChainTransferRequestBodyAmount] :: OnChainTransferRequestBody -> !MoneyAmount data CardsRequest data CardRequest -- | Response body for listAllCards data ListCardResponseBody ListCardResponseBody :: !UUID -> !Status -> !ListCardBillingDetails -> !Int -> !Int -> !CardNetwork -> !Maybe Text -> !Maybe ISO3166Alpha2 -> !UUID -> !VerificationData -> !Maybe RiskEvaluation -> !UTCTime -> !UTCTime -> ListCardResponseBody [listCardId] :: ListCardResponseBody -> !UUID [listCardStatus] :: ListCardResponseBody -> !Status [listCardBillingDetails] :: ListCardResponseBody -> !ListCardBillingDetails [listCardExpiryMonth] :: ListCardResponseBody -> !Int [listCardExpiryYear] :: ListCardResponseBody -> !Int [listCardNetwork] :: ListCardResponseBody -> !CardNetwork [listCardBin] :: ListCardResponseBody -> !Maybe Text [listCardIssuerCountry] :: ListCardResponseBody -> !Maybe ISO3166Alpha2 [listCardFingerprint] :: ListCardResponseBody -> !UUID [listCardVerification] :: ListCardResponseBody -> !VerificationData [listCardRiskEvaluation] :: ListCardResponseBody -> !Maybe RiskEvaluation [listCardCreateDate] :: ListCardResponseBody -> !UTCTime [listCardUpdateDate] :: ListCardResponseBody -> !UTCTime -- | Response body for methods that interface with an individual card: -- createCard, getCard, and updateCard data CardResponseBody CardResponseBody :: !UUID -> !Status -> !BillingDetails -> !Int -> !Int -> !CardNetwork -> !Text -> !Maybe Text -> !Maybe ISO3166Alpha2 -> !Maybe CardFundingType -> !UUID -> !Maybe VerificationErrorCode -> !VerificationData -> !Maybe RiskEvaluation -> !ResponseMetadata -> !UTCTime -> !UTCTime -> CardResponseBody [cardId] :: CardResponseBody -> !UUID [cardStatus] :: CardResponseBody -> !Status [cardBillingDetails] :: CardResponseBody -> !BillingDetails [cardExpiryMonth] :: CardResponseBody -> !Int [cardExpiryYear] :: CardResponseBody -> !Int [cardNetwork] :: CardResponseBody -> !CardNetwork [cardLast4] :: CardResponseBody -> !Text [cardBin] :: CardResponseBody -> !Maybe Text [cardIssuerCountry] :: CardResponseBody -> !Maybe ISO3166Alpha2 [cardFundingType] :: CardResponseBody -> !Maybe CardFundingType [cardFingerprint] :: CardResponseBody -> !UUID [cardErrorCode] :: CardResponseBody -> !Maybe VerificationErrorCode [cardVerification] :: CardResponseBody -> !VerificationData [cardRiskEvaluation] :: CardResponseBody -> !Maybe RiskEvaluation [cardMetadata] :: CardResponseBody -> !ResponseMetadata [cardCreateDate] :: CardResponseBody -> !UTCTime [cardUpdateDate] :: CardResponseBody -> !UTCTime -- | Request body to create a debit card. data CreateCardRequestBody CreateCardRequestBody :: !UUID -> !Maybe Text -> !Maybe Text -> !BillingDetails -> !Int -> !Int -> !RequestMetadata -> CreateCardRequestBody [createCardIdempotencyKey] :: CreateCardRequestBody -> !UUID [createCardKeyId] :: CreateCardRequestBody -> !Maybe Text [createCardEncryptedData] :: CreateCardRequestBody -> !Maybe Text [createCardBillingDetails] :: CreateCardRequestBody -> !BillingDetails [createCardExpiryMonth] :: CreateCardRequestBody -> !Int [createCardExpiryYear] :: CreateCardRequestBody -> !Int [createCardMetadata] :: CreateCardRequestBody -> !RequestMetadata -- | Request body to update a debit card. data UpdateCardRequestBody UpdateCardRequestBody :: !Maybe Text -> !Maybe Text -> !Int -> !Int -> UpdateCardRequestBody [updateCardKeyId] :: UpdateCardRequestBody -> !Maybe Text [updateCardEncryptedData] :: UpdateCardRequestBody -> !Maybe Text [updateCardExpiryMonth] :: UpdateCardRequestBody -> !Int [updateCardExpiryYear] :: UpdateCardRequestBody -> !Int data ListCardBillingDetails ListCardBillingDetails :: !ISO3166Alpha2 -> !District -> ListCardBillingDetails [listCardBillingDetailsCountry] :: ListCardBillingDetails -> !ISO3166Alpha2 [listCardBillingDetailsDistrict] :: ListCardBillingDetails -> !District data CardNetwork VISA :: CardNetwork MASTERCARD :: CardNetwork AMEX :: CardNetwork UNKNOWN :: CardNetwork data CardFundingType Credit :: CardFundingType Debit :: CardFundingType Prepaid :: CardFundingType Unknown :: CardFundingType data VerificationErrorCode VerificationFailed :: VerificationErrorCode VerificationFraudDetected :: VerificationErrorCode VerificationDenied :: VerificationErrorCode VerificationNotSupportedByIssuer :: VerificationErrorCode VerificationStoppedByIssuer :: VerificationErrorCode VerificationCardFailed :: VerificationErrorCode VerificationCardInvalid :: VerificationErrorCode VerificationCardAddressMismatch :: VerificationErrorCode VerificationCardZipMismatch :: VerificationErrorCode VerificationCardCvvInvalid :: VerificationErrorCode VerificationCardExpired :: VerificationErrorCode VerificationCardLimitViolated :: VerificationErrorCode VerificationCardNotHonored :: VerificationErrorCode VerificationCardCvvRequired :: VerificationErrorCode VerificationCreditCardNotAllowed :: VerificationErrorCode VerificationCardAccountIneligible :: VerificationErrorCode VerificationCardNetworkUnsupported :: VerificationErrorCode data ACHBankAccountRequest -- | Response body for createACHAccount and getACHAccount data ACHBankAccountResponseBody ACHBankAccountResponseBody :: !UUID -> !Status -> !AccountNumber -> !RoutingNumber -> !BillingDetails -> !Maybe ACHBankAccountType -> !BankAddress -> !UUID -> !Maybe ACHBankAccountErrorCode -> !Maybe RiskEvaluation -> !ResponseMetadata -> !UTCTime -> !UTCTime -> ACHBankAccountResponseBody [achBankAccountId] :: ACHBankAccountResponseBody -> !UUID [achBankAccountStatus] :: ACHBankAccountResponseBody -> !Status [achBankAccountAccountNumber] :: ACHBankAccountResponseBody -> !AccountNumber [achBankAccountRoutingNumber] :: ACHBankAccountResponseBody -> !RoutingNumber [achBankAccountBillingDetails] :: ACHBankAccountResponseBody -> !BillingDetails [achBankAccountType] :: ACHBankAccountResponseBody -> !Maybe ACHBankAccountType [achBankAccountBankAddress] :: ACHBankAccountResponseBody -> !BankAddress [achBankAccountFingerprint] :: ACHBankAccountResponseBody -> !UUID [achBankAccountErrorCode] :: ACHBankAccountResponseBody -> !Maybe ACHBankAccountErrorCode [achBankAccountRiskEvaluation] :: ACHBankAccountResponseBody -> !Maybe RiskEvaluation [achBankAccountMetadata] :: ACHBankAccountResponseBody -> !ResponseMetadata [achBankAccountCreateDate] :: ACHBankAccountResponseBody -> !UTCTime [achBankAccountUpdateDate] :: ACHBankAccountResponseBody -> !UTCTime data ACHBankAccountErrorCode ACHBankAccountAuthorizationExpired :: ACHBankAccountErrorCode ACHBankAccountError :: ACHBankAccountErrorCode ACHBankAccountIneligible :: ACHBankAccountErrorCode ACHBankAccountNotFound :: ACHBankAccountErrorCode ACHBankAccountUnauthorized :: ACHBankAccountErrorCode ACHBankAccountUnsupportedRoutingNumber :: ACHBankAccountErrorCode ACHBankAccountVerificationFailed :: ACHBankAccountErrorCode -- | Request body to an ACH bank account. data CreateACHBankAccountRequestBody CreateACHBankAccountRequestBody :: !UUID -> !ProcessorToken -> !BillingDetails -> !Maybe ACHBankAccountType -> !RequestMetadata -> CreateACHBankAccountRequestBody [achBankAccountBodyIdempotencyKey] :: CreateACHBankAccountRequestBody -> !UUID [achBankAccountBodyPlaidProcessorToken] :: CreateACHBankAccountRequestBody -> !ProcessorToken [achBankAccountBodyBillingDetails] :: CreateACHBankAccountRequestBody -> !BillingDetails [achBankAccountBodyBankAccountType] :: CreateACHBankAccountRequestBody -> !Maybe ACHBankAccountType [achBankAccountBodyMetadata] :: CreateACHBankAccountRequestBody -> !RequestMetadata data MockAccountRequest -- | Request body to create a mock ACH bank account (in the sandbox only). data CreateMockACHBankAccountRequestBody CreateMockACHBankAccountRequestBody :: !MockACHBankAccount -> !MoneyAmount -> CreateMockACHBankAccountRequestBody [mockACHBankAccountBodyAccount] :: CreateMockACHBankAccountRequestBody -> !MockACHBankAccount [mockACHBankAccountBodyBalance] :: CreateMockACHBankAccountRequestBody -> !MoneyAmount -- | Response body for methods that call the "mocks/ach/account" endpoint data MockACHBankAccountResponseBody MockACHBankAccountResponseBody :: !MockACHBankAccount -> !MoneyAmount -> !ProcessorToken -> MockACHBankAccountResponseBody [mockACHBankAccountResponseBodyAccount] :: MockACHBankAccountResponseBody -> !MockACHBankAccount [mockACHBankAccountResponseBodyBalance] :: MockACHBankAccountResponseBody -> !MoneyAmount [mockACHBankAccountResponseBodyProcessorToken] :: MockACHBankAccountResponseBody -> !ProcessorToken data MockACHBankAccount MockACHBankAccount :: !AccountNumber -> !MockRoutingNumber -> !Text -> MockACHBankAccount [mockACHBankAccountAccountNumber] :: MockACHBankAccount -> !AccountNumber [mockACHBankAccountRoutingNumber] :: MockACHBankAccount -> !MockRoutingNumber [mockACHBankAccountDescription] :: MockACHBankAccount -> !Text data MockRoutingNumber MockRoutingNumber1 :: MockRoutingNumber MockRoutingNumber2 :: MockRoutingNumber MockRoutingNumber3 :: MockRoutingNumber MockRoutingNumber4 :: MockRoutingNumber MockRoutingNumber5 :: MockRoutingNumber MockRoutingNumber6 :: MockRoutingNumber MockRoutingNumber7 :: MockRoutingNumber MockRoutingNumber8 :: MockRoutingNumber MockRoutingNumber9 :: MockRoutingNumber data SEPAAccountRequest data SEPAInstructionsRequest -- | Request body to create a SEPA account. data SEPAAccountRequestBody SEPAAccountRequestBody :: !UUID -> !Iban -> !BillingDetails -> SEPAAccountRequestBody [sepaAccountRequestBodyIdempotencyKey] :: SEPAAccountRequestBody -> !UUID [sepaAccountRequestBodyIBAN] :: SEPAAccountRequestBody -> !Iban [sepaAccountRequestBodyBillingDetails] :: SEPAAccountRequestBody -> !BillingDetails -- | Response body for methods that call the "banks/sepa" endpoint data SEPAAccountResponseBody SEPAAccountResponseBody :: !UUID -> !Status -> !Text -> !TrackingReference -> !UUID -> !Maybe RiskEvaluation -> !BillingDetails -> !UTCTime -> !UTCTime -> SEPAAccountResponseBody [sepaAccountResponseBodyId] :: SEPAAccountResponseBody -> !UUID [sepaAccountResponseBodyStatus] :: SEPAAccountResponseBody -> !Status [sepaAccountResponseBodyDescription] :: SEPAAccountResponseBody -> !Text [sepaAccountResponseBodyTrackingRef] :: SEPAAccountResponseBody -> !TrackingReference [sepaAccountResponseBodyFingerprint] :: SEPAAccountResponseBody -> !UUID [sepaAccountResponseBodyRiskEvaluation] :: SEPAAccountResponseBody -> !Maybe RiskEvaluation [sepaAccountResponseBodyBillingDetails] :: SEPAAccountResponseBody -> !BillingDetails [sepaAccountResponseBodyCreateDate] :: SEPAAccountResponseBody -> !UTCTime [sepaAccountResponseBodyUpdateDate] :: SEPAAccountResponseBody -> !UTCTime data SettlementRequest data SettlementsRequest -- | Response body for methods that call the "settlements" endpoint data SettlementResponseBody SettlementResponseBody :: !UUID -> !UUID -> !UUID -> !MoneyAmount -> !MoneyAmount -> !MoneyAmount -> !MoneyAmount -> !UTCTime -> !UTCTime -> SettlementResponseBody [settlementResponseBodyId] :: SettlementResponseBody -> !UUID [settlementResponseBodyMerchantWalletId] :: SettlementResponseBody -> !UUID [settlementResponseBodyWalletId] :: SettlementResponseBody -> !UUID [settlementResponseBodyTotalDebits] :: SettlementResponseBody -> !MoneyAmount [settlementResponseBodyTotalCredits] :: SettlementResponseBody -> !MoneyAmount [settlementResponseBodyPaymentFees] :: SettlementResponseBody -> !MoneyAmount [settlementResponseBodyChargebackFees] :: SettlementResponseBody -> !MoneyAmount [settlementResponseBodyCreateDate] :: SettlementResponseBody -> !UTCTime [settlementResponseBodyUpdateDate] :: SettlementResponseBody -> !UTCTime data ChargebacksRequest data ChargebackRequest data MockChargebackRequest -- | Response body for methods that call the "cards/chargebacks" and -- "mocks/cards/chargebacks" endpoints data ChargebackResponseBody ChargebackResponseBody :: !UUID -> !UUID -> !UUID -> !Text -> !Maybe ChargebackCategory -> [ChargebackHistory] -> ChargebackResponseBody [chargebackResponseBodyId] :: ChargebackResponseBody -> !UUID [chargebackResponseBodyPaymentId] :: ChargebackResponseBody -> !UUID [chargebackResponseBodyMerchantId] :: ChargebackResponseBody -> !UUID [chargebackResponseBodyReasonCode] :: ChargebackResponseBody -> !Text [chargebackResponseBodyCategory] :: ChargebackResponseBody -> !Maybe ChargebackCategory [chargebackResponseBodyHistory] :: ChargebackResponseBody -> [ChargebackHistory] data ChargebackCategory CanceledRecurringPayment :: ChargebackCategory CustomerDispute :: ChargebackCategory Fraudulent :: ChargebackCategory General :: ChargebackCategory ProcessingError :: ChargebackCategory NotDefined :: ChargebackCategory data ChargebackHistory ChargebackHistory :: !ChargebackHistoryType -> !MoneyAmount -> !Maybe MoneyAmount -> !Text -> !Maybe UUID -> !UTCTime -> ChargebackHistory [chargebackHistoryType] :: ChargebackHistory -> !ChargebackHistoryType [chargebackHistoryAmount] :: ChargebackHistory -> !MoneyAmount [chargebackHistoryFee] :: ChargebackHistory -> !Maybe MoneyAmount [chargebackHistoryDescription] :: ChargebackHistory -> !Text [chargebackHistorySettlementId] :: ChargebackHistory -> !Maybe UUID [chargebackHistoryCreateDate] :: ChargebackHistory -> !UTCTime data ChargebackHistoryType FirstChargeback :: ChargebackHistoryType SecondChargeback :: ChargebackHistoryType ChargebackReversal :: ChargebackHistoryType Representment :: ChargebackHistoryType ChargebackSettlement :: ChargebackHistoryType data ReversalsRequest -- | Response body for methods that call the "reversals" endpoint data ReversalResponseBody ReversalResponseBody :: !UUID -> !UUID -> !MoneyAmount -> !Text -> !Status -> !ReversalReason -> !MoneyAmount -> !UTCTime -> !UTCTime -> ReversalResponseBody [reversalResponseBodyId] :: ReversalResponseBody -> !UUID [reversalResponseBodyPaymentId] :: ReversalResponseBody -> !UUID [reversalResponseBodyAmount] :: ReversalResponseBody -> !MoneyAmount [reversalResponseBodyDescription] :: ReversalResponseBody -> !Text [reversalResponseBodyStatus] :: ReversalResponseBody -> !Status [reversalResponseBodyReason] :: ReversalResponseBody -> !ReversalReason [reversalResponseBodyFees] :: ReversalResponseBody -> !MoneyAmount [reversalResponseBodyCreateDate] :: ReversalResponseBody -> !UTCTime [reversalResponseBodyUpdateDate] :: ReversalResponseBody -> !UTCTime data ReversalReason ReversalDuplicate :: ReversalReason ReversalFraudulent :: ReversalReason ReversalRequestedByCustomer :: ReversalReason ReversalBankTransactionError :: ReversalReason ReversalInvalidAccountNumber :: ReversalReason ReversalInsufficientFunds :: ReversalReason ReversalPaymentStoppedByIssuer :: ReversalReason ReversalPaymentReturned :: ReversalReason ReversalBankAccountIneligible :: ReversalReason ReversalInvalidACHRTN :: ReversalReason ReversalUnauthorizedTransaction :: ReversalReason ReversalPaymentFailed :: ReversalReason data PaymentIntentRequest data PaymentIntentsRequest -- | Request body to create a payment intent for a blockchain payment data CreatePaymentIntentRequestBody CreatePaymentIntentRequestBody :: !UUID -> !MoneyAmount -> !SupportedCurrencies -> [PaymentMethodData] -> CreatePaymentIntentRequestBody [createPaymentIntentIdempotencyKey] :: CreatePaymentIntentRequestBody -> !UUID [createPaymentIntentAmount] :: CreatePaymentIntentRequestBody -> !MoneyAmount [createPaymentIntentSettlementCurrency] :: CreatePaymentIntentRequestBody -> !SupportedCurrencies [createPaymentIntentPaymentMethods] :: CreatePaymentIntentRequestBody -> [PaymentMethodData] -- | Response body for methods that call the "paymentIntents" endpoint data PaymentIntentResponseBody PaymentIntentResponseBody :: !UUID -> !UUID -> !MoneyAmount -> !MoneyAmount -> !SupportedCurrencies -> ![PaymentMethodData] -> ![BlockchainFeeMoneyAmount] -> ![UUID] -> ![TimelineData] -> !UTCTime -> !UTCTime -> !UTCTime -> PaymentIntentResponseBody [paymentIntentResponseBodyIdempotencyKey] :: PaymentIntentResponseBody -> !UUID [paymentIntentResponseBodyId] :: PaymentIntentResponseBody -> !UUID [paymentIntentResponseBodyAmount] :: PaymentIntentResponseBody -> !MoneyAmount [paymentIntentResponseBodyAmountPaid] :: PaymentIntentResponseBody -> !MoneyAmount [paymentIntentResponseBodySettlementCurrency] :: PaymentIntentResponseBody -> !SupportedCurrencies [paymentIntentResponseBodyPaymentMethods] :: PaymentIntentResponseBody -> ![PaymentMethodData] [paymentIntentResponseBodyFees] :: PaymentIntentResponseBody -> ![BlockchainFeeMoneyAmount] [paymentIntentResponseBodyPaymentIds] :: PaymentIntentResponseBody -> ![UUID] [paymentIntentResponseBodyTimeline] :: PaymentIntentResponseBody -> ![TimelineData] [paymentIntentResponseBodyExpiresOn] :: PaymentIntentResponseBody -> !UTCTime [paymentIntentResponseBodyUpdateDate] :: PaymentIntentResponseBody -> !UTCTime [paymentIntentResponseBodyCreateDate] :: PaymentIntentResponseBody -> !UTCTime data PaymentMethodData PaymentMethodData :: !Text -> !Chain -> !Maybe HexString -> PaymentMethodData [paymentMethodType] :: PaymentMethodData -> !Text [paymentMethodDataChain] :: PaymentMethodData -> !Chain [paymentMethodDataAddress] :: PaymentMethodData -> !Maybe HexString data TimelineData TimelineData :: !PaymentIntentStatus -> !PaymentIntentContext -> !UTCTime -> TimelineData [timelineDataStatus] :: TimelineData -> !PaymentIntentStatus [timelineDataContext] :: TimelineData -> !PaymentIntentContext [timelineDataTime] :: TimelineData -> !UTCTime data ReturnsRequest data WalletRequest data WalletsRequest -- | Response body for methods that call the "wallets" endpoint data WalletResponseBody WalletResponseBody :: !WalletId -> !UUID -> !Text -> !Maybe Text -> [MoneyAmount] -> WalletResponseBody [walletResponseBodyWalletId] :: WalletResponseBody -> !WalletId [walletResponseBodyEntityId] :: WalletResponseBody -> !UUID [walletResponseBodyType] :: WalletResponseBody -> !Text [walletResponseBodyDescription] :: WalletResponseBody -> !Maybe Text [walletResponseBodyBalances] :: WalletResponseBody -> [MoneyAmount] -- | Request body to create a Circle wallet. data CreateWalletRequestBody CreateWalletRequestBody :: !UUID -> !Maybe Text -> CreateWalletRequestBody [createWalletRequestBodyIdempotencyKey] :: CreateWalletRequestBody -> !UUID [createWalletRequestBodyDescription] :: CreateWalletRequestBody -> !Maybe Text utcToCircle :: UTCTime -> Text tshow :: Show a => a -> Text -- | Similar to Either but with different ToJSON and -- FromJSON instances. ToJSON will serialize the payload -- without adding any kind of tag. FromJSON will first attempt to -- parse JSON as the first type parameter, and if that fails will then -- attempt to parse as the second type parameter. -- -- NB: The order of type parameters make a huge difference! In -- ThisOrThat A B, if A is structurally a -- subtype of B, then the parser can never produce a That -- result! For example, with types -- --
--   data A = A {foo :: String, bar :: Scientific}
--   data B = B {foo :: String, bar :: Scientific, baz :: Bool}
--   
-- -- FromJSON (ThisOrThat A B) can never parse a -- B. Any JSON object that includes properties foo: -- string and bar: number will parse as an -- A, whether or not the property baz: boolean -- is present. You can fix this by instead using ThisOrThat B -- A. data ThisOrThat a b This :: a -> ThisOrThat a b That :: b -> ThisOrThat a b catThises :: [ThisOrThat a b] -> [a] catThats :: [ThisOrThat a b] -> [b] thisOrThatToEither :: ThisOrThat a b -> Either a b thisOrThat :: (a -> c) -> (b -> c) -> ThisOrThat a b -> c data Status Pending :: Status Complete :: Status Failed :: Status data PaymentStatus PaymentPending :: PaymentStatus Confirmed :: PaymentStatus Paid :: PaymentStatus PaymentFailed :: PaymentStatus ActionRequired :: PaymentStatus data PaymentIntentStatus PaymentIntentCreated :: PaymentIntentStatus PaymentIntentPending :: PaymentIntentStatus PaymentIntentComplete :: PaymentIntentStatus PaymentIntentExpired :: PaymentIntentStatus PaymentIntentFailed :: PaymentIntentStatus data PaymentIntentContext ContextUnderpaid :: PaymentIntentContext ContextPaid :: PaymentIntentContext ContextOverpaid :: PaymentIntentContext data Address Address :: !Maybe City -> !Maybe ISO3166Alpha2 -> !Maybe AddressLine -> !Maybe AddressLine -> !Maybe District -> Address [addressCity] :: Address -> !Maybe City [addressCountry] :: Address -> !Maybe ISO3166Alpha2 [addressLine1] :: Address -> !Maybe AddressLine [addressLine2] :: Address -> !Maybe AddressLine [addressDistrict] :: Address -> !Maybe District data BankAccountType Wire :: BankAccountType Sen :: BankAccountType data ACHBankAccountType RetailType :: ACHBankAccountType BusinessType :: ACHBankAccountType data DestinationBankAccount DestinationBankAccount :: !BankAccountType -> !UUID -> !Maybe Text -> DestinationBankAccount [destinationBankAccountType] :: DestinationBankAccount -> !BankAccountType [destinationBankAccountId] :: DestinationBankAccount -> !UUID [destinationBankAccountName] :: DestinationBankAccount -> !Maybe Text data SupportedCurrencies USD :: SupportedCurrencies EUR :: SupportedCurrencies BTC :: SupportedCurrencies ETH :: SupportedCurrencies newtype Amount Amount :: Text -> Amount [unAmount] :: Amount -> Text data BlockchainFeeType BlockchainLeaseFee :: BlockchainFeeType TotalPaymentFees :: BlockchainFeeType data BlockchainFeeMoneyAmount BlockchainFeeMoneyAmount :: !BlockchainFeeType -> !Amount -> !SupportedCurrencies -> BlockchainFeeMoneyAmount [blockchainFeeMoneyAmountType] :: BlockchainFeeMoneyAmount -> !BlockchainFeeType [blockchainFeeMoneyAmountAmount] :: BlockchainFeeMoneyAmount -> !Amount [blockchainFeeMoneyAmountCurrency] :: BlockchainFeeMoneyAmount -> !SupportedCurrencies data MoneyAmount MoneyAmount :: !Amount -> !SupportedCurrencies -> MoneyAmount [moneyAmountAmount] :: MoneyAmount -> !Amount [moneyAmountCurrency] :: MoneyAmount -> !SupportedCurrencies data TransferFeeAmount TransferFeeAmount :: !Amount -> !SupportedCurrencies -> !Text -> TransferFeeAmount [transferFeeAmountAmount] :: TransferFeeAmount -> !Amount [transferFeeAmountCurrency] :: TransferFeeAmount -> !SupportedCurrencies [transferFeeAmountType] :: TransferFeeAmount -> !Text data Decision Approved :: Decision Denied :: Decision Review :: Decision data RiskEvaluation RiskEvaluation :: !Decision -> !Text -> RiskEvaluation [riskEvaluationDecision] :: RiskEvaluation -> !Decision [riskEvaluationReason] :: RiskEvaluation -> !Text data Adjustments Adjustments :: !MoneyAmount -> !MoneyAmount -> Adjustments [adjustmentsFXCredit] :: Adjustments -> !MoneyAmount [adjustmentsFXDebit] :: Adjustments -> !MoneyAmount data BillingDetails BillingDetails :: !Text -> !City -> !ISO3166Alpha2 -> !AddressLine -> !Maybe AddressLine -> !Maybe District -> !PostalCode -> BillingDetails [billingDetailsName] :: BillingDetails -> !Text [billingDetailsCity] :: BillingDetails -> !City [billingDetailsCountry] :: BillingDetails -> !ISO3166Alpha2 [billingDetailsLine1] :: BillingDetails -> !AddressLine [billingDetailsLine2] :: BillingDetails -> !Maybe AddressLine [billingDetailsDistrict] :: BillingDetails -> !Maybe District [billingDetailsPostalCode] :: BillingDetails -> !PostalCode data BankAddress BankAddress :: !Maybe Text -> !Maybe City -> !Maybe ISO3166Alpha2 -> !Maybe AddressLine -> !Maybe AddressLine -> !Maybe District -> BankAddress [bankAddressName] :: BankAddress -> !Maybe Text [bankAddressCity] :: BankAddress -> !Maybe City [bankAddressCountry] :: BankAddress -> !Maybe ISO3166Alpha2 [bankAddressLine1] :: BankAddress -> !Maybe AddressLine [bankAddressLine2] :: BankAddress -> !Maybe AddressLine [bankAddressDistrict] :: BankAddress -> !Maybe District data BeneficiaryDetails BeneficiaryDetails :: !Text -> !Maybe AddressLine -> !Maybe AddressLine -> BeneficiaryDetails [beneficiaryDetailsName] :: BeneficiaryDetails -> !Text [beneficiaryDetailsAddress1] :: BeneficiaryDetails -> !Maybe AddressLine [beneficiaryDetailsAddress2] :: BeneficiaryDetails -> !Maybe AddressLine data BeneficiaryBankDetails BeneficiaryBankDetails :: !Text -> !SwiftCode -> !RoutingNumber -> !AccountNumber -> !SupportedCurrencies -> !AddressLine -> !City -> !PostalCode -> !ISO3166Alpha2 -> BeneficiaryBankDetails [beneficiaryBankDetailsName] :: BeneficiaryBankDetails -> !Text [beneficiaryBankDetailsSwiftCode] :: BeneficiaryBankDetails -> !SwiftCode [beneficiaryBankDetailsRoutingNumber] :: BeneficiaryBankDetails -> !RoutingNumber [beneficiaryBankDetailsAccountNumber] :: BeneficiaryBankDetails -> !AccountNumber [beneficiaryBankDetailsCurrency] :: BeneficiaryBankDetails -> !SupportedCurrencies [beneficiaryBankDetailsAddress] :: BeneficiaryBankDetails -> !AddressLine [beneficiaryBankDetailsCity] :: BeneficiaryBankDetails -> !City [beneficiaryBankDetailsPostalCode] :: BeneficiaryBankDetails -> !PostalCode [beneficiaryBankDetailsCountry] :: BeneficiaryBankDetails -> !ISO3166Alpha2 newtype ProcessorToken ProcessorToken :: Text -> ProcessorToken [unProcessorToken] :: ProcessorToken -> Text newtype AddressLine AddressLine :: Text -> AddressLine [unAddressLine] :: AddressLine -> Text newtype URL URL :: Text -> URL [unURL] :: URL -> Text urlRegex :: Regex mkURL :: Text -> Maybe URL urlToText :: URL -> Text urlToByteString :: URL -> ByteString newtype AccountNumber AccountNumber :: Text -> AccountNumber [unAccountNumber] :: AccountNumber -> Text accountNumberRegex :: Regex mkAccountNumber :: Text -> Maybe AccountNumber accountNumberToText :: AccountNumber -> Text type AccountNumberMask = Refined (SizeEqualTo 4) Text accountNumberLastFour :: AccountNumber -> AccountNumberMask accountNumberToByteString :: AccountNumber -> ByteString compileAccountNumber :: QuasiQuoter newtype RoutingNumber RoutingNumber :: Text -> RoutingNumber [unRoutingNumber] :: RoutingNumber -> Text routingNumberRegex :: Regex mkRoutingNumber :: Text -> Maybe RoutingNumber routingNumberToText :: RoutingNumber -> Text routingNumberToByteString :: RoutingNumber -> ByteString compileRoutingNumber :: QuasiQuoter newtype Iban Iban :: Text -> Iban [unIban] :: Iban -> Text mkIban :: Text -> Maybe Iban compileIban :: QuasiQuoter ibanToText :: Iban -> Text -- | A newtype around email text. This newtype verifies the email is -- formatted correctly using HTML5's email regexp -- https://www.w3.org/TR/html5/forms.html#valid-e-mail-address newtype Email Email :: Text -> Email [getEmailText] :: Email -> Text emailRegex :: Regex -- | Attempt to create an email from text, returning Nothing if it -- doesn't match our email regular expression. mkEmail :: Text -> Maybe Email -- | Convenience function for APIs that take emails as Text emailToText :: Email -> Text -- | Convenience function for APIs that take emails as ByteString emailToByteString :: Email -> ByteString -- | Create an email at compile time Usage: > -- [compileEmail|dmarticus@gmail.com|] compileEmail :: QuasiQuoter newtype City City :: Text -> City [unCity] :: City -> Text newtype PostalCode PostalCode :: Text -> PostalCode [unPostalCode] :: PostalCode -> Text newtype SwiftCode SwiftCode :: Text -> SwiftCode [unSwiftCode] :: SwiftCode -> Text swiftCountryCodes :: Set Text swiftCodeRegex :: Regex mkSwiftCode :: Text -> Maybe SwiftCode compileSwiftCode :: QuasiQuoter swiftCodeToText :: SwiftCode -> Text -- | Extracts an ISO 3166-1 alpha-2 country code (or XK for Kosovo) from a -- SWIFT code, e.g. BOFAUS3N -> US getCountryFromSwiftCodeText :: Text -> Text getCountryFromSwiftCode :: SwiftCode -> Text -- | SwiftCodes can be either 11 or 8 digits, this ensures you're always -- working with the 8 digit variety. get8DigitSwiftCode :: SwiftCode -> SwiftCode -- | Gets the branch code from an 11-digit SwiftCode (this is the last 3 -- digits of an 11-digit SwiftCode), otherwise returns Nothing. getBranchCodeFromSwiftCode :: SwiftCode -> Maybe Text newtype District District :: Text -> District [unDistrict] :: District -> Text newtype ISO3166Alpha2 ISO3166Alpha2 :: Text -> ISO3166Alpha2 [unISO3166Alpha2] :: ISO3166Alpha2 -> Text newtype TrackingReference TrackingReference :: Text -> TrackingReference [unTrackingReference] :: TrackingReference -> Text newtype HexString HexString :: Text -> HexString [unHexString] :: HexString -> Text newtype WalletId WalletId :: Text -> WalletId [unWalletId] :: WalletId -> Text instance GHC.Classes.Eq Circle.Types.ApiToken instance GHC.Show.Show Circle.Types.ApiToken instance GHC.Read.Read Circle.Types.ApiToken instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ResponseStatus instance GHC.Show.Show Circle.Types.ResponseStatus instance GHC.Classes.Eq Circle.Types.ResponseStatus instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ResponseMessage instance GHC.Show.Show Circle.Types.ResponseMessage instance GHC.Classes.Eq Circle.Types.ResponseMessage instance GHC.Show.Show a => GHC.Show.Show (Circle.Types.CircleResponseBody a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Circle.Types.CircleResponseBody a) instance GHC.Show.Show Circle.Types.CircleError instance GHC.Show.Show Circle.Types.CircleHost instance GHC.Classes.Eq Circle.Types.CircleHost instance GHC.Show.Show Circle.Types.CircleConfig instance GHC.Classes.Eq Circle.Types.CircleConfig instance GHC.Show.Show Circle.Types.Body instance GHC.Classes.Eq Circle.Types.Body instance GHC.Show.Show Circle.Types.Query instance GHC.Classes.Eq Circle.Types.Query instance GHC.Show.Show (Circle.Types.Params b c) instance GHC.Show.Show (Circle.Types.CircleAPIRequest a b c) instance GHC.Classes.Eq Circle.Types.PaginationQueryParam instance GHC.Show.Show Circle.Types.PaginationQueryParam instance GHC.Show.Show Circle.Types.PaginationQueryParams instance GHC.Classes.Eq Circle.Types.PaginationQueryParams instance GHC.Show.Show Circle.Types.FromQueryParam instance GHC.Classes.Eq Circle.Types.FromQueryParam instance GHC.Show.Show Circle.Types.ToQueryParam instance GHC.Classes.Eq Circle.Types.ToQueryParam instance GHC.Show.Show Circle.Types.PageSizeQueryParam instance GHC.Classes.Eq Circle.Types.PageSizeQueryParam instance GHC.Show.Show Circle.Types.DestinationQueryParam instance GHC.Classes.Eq Circle.Types.DestinationQueryParam instance GHC.Show.Show Circle.Types.SourceQueryParam instance GHC.Classes.Eq Circle.Types.SourceQueryParam instance GHC.Show.Show Circle.Types.SettlementIdQueryParam instance GHC.Classes.Eq Circle.Types.SettlementIdQueryParam instance GHC.Show.Show Circle.Types.PaymentIntentIdQueryParam instance GHC.Classes.Eq Circle.Types.PaymentIntentIdQueryParam instance GHC.Show.Show Circle.Types.PaymentIdQueryParam instance GHC.Classes.Eq Circle.Types.PaymentIdQueryParam instance GHC.Show.Show Circle.Types.ReturnIdentitiesQueryParam instance GHC.Classes.Eq Circle.Types.ReturnIdentitiesQueryParam instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PayoutErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PayoutErrorCode instance GHC.Show.Show Circle.Types.PayoutErrorCode instance GHC.Classes.Eq Circle.Types.PayoutErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PGPKey instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PGPKey instance GHC.Show.Show Circle.Types.PGPKey instance GHC.Classes.Eq Circle.Types.PGPKey instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.EncryptionResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.EncryptionResponseBody instance GHC.Show.Show Circle.Types.EncryptionResponseBody instance GHC.Classes.Eq Circle.Types.EncryptionResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Channel instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Channel instance GHC.Show.Show Circle.Types.Channel instance GHC.Classes.Eq Circle.Types.Channel instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ChannelResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ChannelResponseBody instance GHC.Show.Show Circle.Types.ChannelResponseBody instance GHC.Classes.Eq Circle.Types.ChannelResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Chain instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Chain instance GHC.Show.Show Circle.Types.Chain instance GHC.Classes.Eq Circle.Types.Chain instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ChainAmount instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ChainAmount instance GHC.Show.Show Circle.Types.ChainAmount instance GHC.Classes.Eq Circle.Types.ChainAmount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Stablecoin instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Stablecoin instance GHC.Show.Show Circle.Types.Stablecoin instance GHC.Classes.Eq Circle.Types.Stablecoin instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.StablecoinResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.StablecoinResponseBody instance GHC.Show.Show Circle.Types.StablecoinResponseBody instance GHC.Classes.Eq Circle.Types.StablecoinResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SubscriptionRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SubscriptionRequestBody instance GHC.Show.Show Circle.Types.SubscriptionRequestBody instance GHC.Classes.Eq Circle.Types.SubscriptionRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DestinationType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DestinationType instance GHC.Show.Show Circle.Types.DestinationType instance GHC.Classes.Eq Circle.Types.DestinationType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TransferDestination instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TransferDestination instance GHC.Show.Show Circle.Types.TransferDestination instance GHC.Classes.Eq Circle.Types.TransferDestination instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.IdentityType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.IdentityType instance GHC.Show.Show Circle.Types.IdentityType instance GHC.Classes.Eq Circle.Types.IdentityType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TransferType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TransferType instance GHC.Show.Show Circle.Types.TransferType instance GHC.Classes.Eq Circle.Types.TransferType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TransferErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TransferErrorCode instance GHC.Show.Show Circle.Types.TransferErrorCode instance GHC.Classes.Eq Circle.Types.TransferErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SessionId instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SessionId instance GHC.Show.Show Circle.Types.SessionId instance GHC.Classes.Eq Circle.Types.SessionId instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.IPAddress instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.IPAddress instance GHC.Show.Show Circle.Types.IPAddress instance GHC.Classes.Eq Circle.Types.IPAddress instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PhoneNumber instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PhoneNumber instance GHC.Show.Show Circle.Types.PhoneNumber instance GHC.Classes.Eq Circle.Types.PhoneNumber instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentErrorCode instance GHC.Show.Show Circle.Types.PaymentErrorCode instance GHC.Classes.Eq Circle.Types.PaymentErrorCode instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.AVS instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.AVS instance GHC.Show.Show Circle.Types.AVS instance GHC.Classes.Eq Circle.Types.AVS instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CVV instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CVV instance GHC.Show.Show Circle.Types.CVV instance GHC.Classes.Eq Circle.Types.CVV instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.VerificationData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.VerificationData instance GHC.Generics.Generic Circle.Types.VerificationData instance GHC.Show.Show Circle.Types.VerificationData instance GHC.Classes.Eq Circle.Types.VerificationData instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ActionRequiredType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ActionRequiredType instance GHC.Show.Show Circle.Types.ActionRequiredType instance GHC.Classes.Eq Circle.Types.ActionRequiredType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.VerificationType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.VerificationType instance GHC.Show.Show Circle.Types.VerificationType instance GHC.Classes.Eq Circle.Types.VerificationType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentType instance GHC.Show.Show Circle.Types.PaymentType instance GHC.Classes.Eq Circle.Types.PaymentType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentSourceType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentSourceType instance GHC.Show.Show Circle.Types.PaymentSourceType instance GHC.Classes.Eq Circle.Types.PaymentSourceType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentSource instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentSource instance GHC.Show.Show Circle.Types.PaymentSource instance GHC.Classes.Eq Circle.Types.PaymentSource instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CancelPaymentReason instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CancelPaymentReason instance GHC.Show.Show Circle.Types.CancelPaymentReason instance GHC.Classes.Eq Circle.Types.CancelPaymentReason instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CancelPaymentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CancelPaymentRequestBody instance GHC.Show.Show Circle.Types.CancelPaymentRequestBody instance GHC.Classes.Eq Circle.Types.CancelPaymentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.UpdateCardRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.UpdateCardRequestBody instance GHC.Show.Show Circle.Types.UpdateCardRequestBody instance GHC.Classes.Eq Circle.Types.UpdateCardRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CardNetwork instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CardNetwork instance GHC.Enum.Bounded Circle.Types.CardNetwork instance GHC.Enum.Enum Circle.Types.CardNetwork instance GHC.Show.Show Circle.Types.CardNetwork instance GHC.Classes.Eq Circle.Types.CardNetwork instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CardFundingType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CardFundingType instance GHC.Enum.Bounded Circle.Types.CardFundingType instance GHC.Enum.Enum Circle.Types.CardFundingType instance GHC.Show.Show Circle.Types.CardFundingType instance GHC.Classes.Eq Circle.Types.CardFundingType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.VerificationErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.VerificationErrorCode instance GHC.Show.Show Circle.Types.VerificationErrorCode instance GHC.Classes.Eq Circle.Types.VerificationErrorCode instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ACHBankAccountErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ACHBankAccountErrorCode instance GHC.Show.Show Circle.Types.ACHBankAccountErrorCode instance GHC.Classes.Eq Circle.Types.ACHBankAccountErrorCode instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockRoutingNumber instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockRoutingNumber instance GHC.Enum.Bounded Circle.Types.MockRoutingNumber instance GHC.Enum.Enum Circle.Types.MockRoutingNumber instance GHC.Show.Show Circle.Types.MockRoutingNumber instance GHC.Classes.Eq Circle.Types.MockRoutingNumber instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ChargebackCategory instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ChargebackCategory instance GHC.Enum.Bounded Circle.Types.ChargebackCategory instance GHC.Enum.Enum Circle.Types.ChargebackCategory instance GHC.Show.Show Circle.Types.ChargebackCategory instance GHC.Classes.Eq Circle.Types.ChargebackCategory instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ChargebackHistoryType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ChargebackHistoryType instance GHC.Enum.Bounded Circle.Types.ChargebackHistoryType instance GHC.Enum.Enum Circle.Types.ChargebackHistoryType instance GHC.Show.Show Circle.Types.ChargebackHistoryType instance GHC.Classes.Eq Circle.Types.ChargebackHistoryType instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ReversalReason instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ReversalReason instance GHC.Enum.Bounded Circle.Types.ReversalReason instance GHC.Enum.Enum Circle.Types.ReversalReason instance GHC.Show.Show Circle.Types.ReversalReason instance GHC.Classes.Eq Circle.Types.ReversalReason instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CreateWalletRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CreateWalletRequestBody instance GHC.Show.Show Circle.Types.CreateWalletRequestBody instance GHC.Classes.Eq Circle.Types.CreateWalletRequestBody instance GHC.Generics.Generic (Circle.Types.ThisOrThat a b) instance (GHC.Classes.Eq a, GHC.Classes.Eq b) => GHC.Classes.Eq (Circle.Types.ThisOrThat a b) instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Status instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Status instance GHC.Classes.Eq Circle.Types.Status instance GHC.Show.Show Circle.Types.Status instance GHC.Show.Show Circle.Types.StatusQueryParams instance GHC.Classes.Eq Circle.Types.StatusQueryParams instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentStatus instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentStatus instance GHC.Classes.Eq Circle.Types.PaymentStatus instance GHC.Show.Show Circle.Types.PaymentStatus instance GHC.Show.Show Circle.Types.PaymentStatusQueryParams instance GHC.Classes.Eq Circle.Types.PaymentStatusQueryParams instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentIntentStatus instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentIntentStatus instance GHC.Classes.Eq Circle.Types.PaymentIntentStatus instance GHC.Show.Show Circle.Types.PaymentIntentStatus instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentIntentContext instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentIntentContext instance GHC.Classes.Eq Circle.Types.PaymentIntentContext instance GHC.Show.Show Circle.Types.PaymentIntentContext instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TimelineData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TimelineData instance GHC.Show.Show Circle.Types.TimelineData instance GHC.Classes.Eq Circle.Types.TimelineData instance GHC.Show.Show Circle.Types.PaymentIntentContextQueryParams instance GHC.Classes.Eq Circle.Types.PaymentIntentContextQueryParams instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BankAccountType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BankAccountType instance GHC.Show.Show Circle.Types.BankAccountType instance GHC.Classes.Eq Circle.Types.BankAccountType instance GHC.Show.Show Circle.Types.TypeQueryParam instance GHC.Classes.Eq Circle.Types.TypeQueryParam instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ACHBankAccountType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ACHBankAccountType instance GHC.Show.Show Circle.Types.ACHBankAccountType instance GHC.Classes.Eq Circle.Types.ACHBankAccountType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DestinationBankAccount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DestinationBankAccount instance GHC.Show.Show Circle.Types.DestinationBankAccount instance GHC.Classes.Eq Circle.Types.DestinationBankAccount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SupportedCurrencies instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SupportedCurrencies instance GHC.Enum.Bounded Circle.Types.SupportedCurrencies instance GHC.Enum.Enum Circle.Types.SupportedCurrencies instance GHC.Show.Show Circle.Types.SupportedCurrencies instance GHC.Classes.Eq Circle.Types.SupportedCurrencies instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DepositAddressRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DepositAddressRequestBody instance GHC.Show.Show Circle.Types.DepositAddressRequestBody instance GHC.Classes.Eq Circle.Types.DepositAddressRequestBody instance GHC.Show.Show Circle.Types.CurrencyQueryParam instance GHC.Classes.Eq Circle.Types.CurrencyQueryParam instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Amount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Amount instance GHC.Show.Show Circle.Types.Amount instance GHC.Classes.Eq Circle.Types.Amount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BlockchainFeeType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BlockchainFeeType instance GHC.Show.Show Circle.Types.BlockchainFeeType instance GHC.Classes.Eq Circle.Types.BlockchainFeeType instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BlockchainFeeMoneyAmount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BlockchainFeeMoneyAmount instance GHC.Generics.Generic Circle.Types.BlockchainFeeMoneyAmount instance GHC.Show.Show Circle.Types.BlockchainFeeMoneyAmount instance GHC.Classes.Eq Circle.Types.BlockchainFeeMoneyAmount instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MoneyAmount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MoneyAmount instance GHC.Generics.Generic Circle.Types.MoneyAmount instance GHC.Show.Show Circle.Types.MoneyAmount instance GHC.Classes.Eq Circle.Types.MoneyAmount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ReversalResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ReversalResponseBody instance GHC.Show.Show Circle.Types.ReversalResponseBody instance GHC.Classes.Eq Circle.Types.ReversalResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ChargebackHistory instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ChargebackHistory instance GHC.Show.Show Circle.Types.ChargebackHistory instance GHC.Classes.Eq Circle.Types.ChargebackHistory instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ChargebackResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ChargebackResponseBody instance GHC.Show.Show Circle.Types.ChargebackResponseBody instance GHC.Classes.Eq Circle.Types.ChargebackResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SettlementResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SettlementResponseBody instance GHC.Show.Show Circle.Types.SettlementResponseBody instance GHC.Classes.Eq Circle.Types.SettlementResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.RefundPaymentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.RefundPaymentRequestBody instance GHC.Show.Show Circle.Types.RefundPaymentRequestBody instance GHC.Classes.Eq Circle.Types.RefundPaymentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TransferRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TransferRequestBody instance GHC.Show.Show Circle.Types.TransferRequestBody instance GHC.Classes.Eq Circle.Types.TransferRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BusinessTransferRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BusinessTransferRequestBody instance GHC.Show.Show Circle.Types.BusinessTransferRequestBody instance GHC.Classes.Eq Circle.Types.BusinessTransferRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PayoutReturnResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PayoutReturnResponseBody instance GHC.Show.Show Circle.Types.PayoutReturnResponseBody instance GHC.Classes.Eq Circle.Types.PayoutReturnResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BusinessPayoutRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BusinessPayoutRequestBody instance GHC.Show.Show Circle.Types.BusinessPayoutRequestBody instance GHC.Classes.Eq Circle.Types.BusinessPayoutRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BalanceResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BalanceResponseBody instance GHC.Generics.Generic Circle.Types.BalanceResponseBody instance GHC.Show.Show Circle.Types.BalanceResponseBody instance GHC.Classes.Eq Circle.Types.BalanceResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TransferFeeAmount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TransferFeeAmount instance GHC.Generics.Generic Circle.Types.TransferFeeAmount instance GHC.Show.Show Circle.Types.TransferFeeAmount instance GHC.Classes.Eq Circle.Types.TransferFeeAmount instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Decision instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Decision instance GHC.Generics.Generic Circle.Types.Decision instance GHC.Show.Show Circle.Types.Decision instance GHC.Classes.Eq Circle.Types.Decision instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.RiskEvaluation instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.RiskEvaluation instance GHC.Generics.Generic Circle.Types.RiskEvaluation instance GHC.Show.Show Circle.Types.RiskEvaluation instance GHC.Classes.Eq Circle.Types.RiskEvaluation instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Adjustments instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Adjustments instance GHC.Generics.Generic Circle.Types.Adjustments instance GHC.Show.Show Circle.Types.Adjustments instance GHC.Classes.Eq Circle.Types.Adjustments instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ProcessorToken instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ProcessorToken instance GHC.Show.Show Circle.Types.ProcessorToken instance GHC.Classes.Eq Circle.Types.ProcessorToken instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.AddressLine instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.AddressLine instance GHC.Show.Show Circle.Types.AddressLine instance GHC.Classes.Eq Circle.Types.AddressLine instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BeneficiaryDetails instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BeneficiaryDetails instance GHC.Show.Show Circle.Types.BeneficiaryDetails instance GHC.Classes.Eq Circle.Types.BeneficiaryDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.URL instance Language.Haskell.TH.Syntax.Lift Circle.Types.URL instance GHC.Show.Show Circle.Types.URL instance GHC.Classes.Eq Circle.Types.URL instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentActionRequired instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentActionRequired instance GHC.Show.Show Circle.Types.PaymentActionRequired instance GHC.Classes.Eq Circle.Types.PaymentActionRequired instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SubscriptionDetails instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SubscriptionDetails instance GHC.Show.Show Circle.Types.SubscriptionDetails instance GHC.Classes.Eq Circle.Types.SubscriptionDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SubscriptionResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SubscriptionResponseBody instance GHC.Show.Show Circle.Types.SubscriptionResponseBody instance GHC.Classes.Eq Circle.Types.SubscriptionResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.AccountNumber instance Language.Haskell.TH.Syntax.Lift Circle.Types.AccountNumber instance GHC.Show.Show Circle.Types.AccountNumber instance GHC.Classes.Eq Circle.Types.AccountNumber instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockACHBankAccount instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockACHBankAccount instance GHC.Show.Show Circle.Types.MockACHBankAccount instance GHC.Classes.Eq Circle.Types.MockACHBankAccount instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockACHBankAccountResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockACHBankAccountResponseBody instance GHC.Show.Show Circle.Types.MockACHBankAccountResponseBody instance GHC.Classes.Eq Circle.Types.MockACHBankAccountResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CreateMockACHBankAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CreateMockACHBankAccountRequestBody instance GHC.Show.Show Circle.Types.CreateMockACHBankAccountRequestBody instance GHC.Classes.Eq Circle.Types.CreateMockACHBankAccountRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SENAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SENAccountRequestBody instance GHC.Show.Show Circle.Types.SENAccountRequestBody instance GHC.Classes.Eq Circle.Types.SENAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockBeneficiaryBankDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockBeneficiaryBankDetails instance GHC.Show.Show Circle.Types.MockBeneficiaryBankDetails instance GHC.Classes.Eq Circle.Types.MockBeneficiaryBankDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.RoutingNumber instance GHC.Classes.Eq Circle.Types.RoutingNumber instance Language.Haskell.TH.Syntax.Lift Circle.Types.RoutingNumber instance GHC.Show.Show Circle.Types.RoutingNumber instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Iban instance GHC.Classes.Eq Circle.Types.Iban instance Language.Haskell.TH.Syntax.Lift Circle.Types.Iban instance GHC.Read.Read Circle.Types.Iban instance GHC.Show.Show Circle.Types.Iban instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Email instance GHC.Classes.Ord Circle.Types.Email instance GHC.Classes.Eq Circle.Types.Email instance Language.Haskell.TH.Syntax.Lift Circle.Types.Email instance GHC.Show.Show Circle.Types.Email instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ResponseMetadata instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ResponseMetadata instance GHC.Show.Show Circle.Types.ResponseMetadata instance GHC.Classes.Eq Circle.Types.ResponseMetadata instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.RequestMetadata instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.RequestMetadata instance GHC.Show.Show Circle.Types.RequestMetadata instance GHC.Classes.Eq Circle.Types.RequestMetadata instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CreatePaymentRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CreatePaymentRequestBody instance GHC.Show.Show Circle.Types.CreatePaymentRequestBody instance GHC.Classes.Eq Circle.Types.CreatePaymentRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PayoutMetadata instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PayoutMetadata instance GHC.Show.Show Circle.Types.PayoutMetadata instance GHC.Classes.Eq Circle.Types.PayoutMetadata instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PayoutRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PayoutRequestBody instance GHC.Show.Show Circle.Types.PayoutRequestBody instance GHC.Classes.Eq Circle.Types.PayoutRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.City instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.City instance GHC.Show.Show Circle.Types.City instance GHC.Classes.Eq Circle.Types.City instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PostalCode instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PostalCode instance GHC.Show.Show Circle.Types.PostalCode instance GHC.Classes.Eq Circle.Types.PostalCode instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SwiftCode instance GHC.Classes.Ord Circle.Types.SwiftCode instance GHC.Classes.Eq Circle.Types.SwiftCode instance Language.Haskell.TH.Syntax.Lift Circle.Types.SwiftCode instance GHC.Show.Show Circle.Types.SwiftCode instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.District instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.District instance GHC.Show.Show Circle.Types.District instance GHC.Classes.Eq Circle.Types.District instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ISO3166Alpha2 instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ISO3166Alpha2 instance GHC.Classes.Ord Circle.Types.ISO3166Alpha2 instance GHC.Show.Show Circle.Types.ISO3166Alpha2 instance GHC.Classes.Eq Circle.Types.ISO3166Alpha2 instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BeneficiaryBankDetails instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BeneficiaryBankDetails instance GHC.Show.Show Circle.Types.BeneficiaryBankDetails instance GHC.Classes.Eq Circle.Types.BeneficiaryBankDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BankAddress instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BankAddress instance GHC.Show.Show Circle.Types.BankAddress instance GHC.Classes.Eq Circle.Types.BankAddress instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.BillingDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.BillingDetails instance GHC.Generics.Generic Circle.Types.BillingDetails instance GHC.Show.Show Circle.Types.BillingDetails instance GHC.Classes.Eq Circle.Types.BillingDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SEPAAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SEPAAccountRequestBody instance GHC.Show.Show Circle.Types.SEPAAccountRequestBody instance GHC.Classes.Eq Circle.Types.SEPAAccountRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CreateACHBankAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CreateACHBankAccountRequestBody instance GHC.Show.Show Circle.Types.CreateACHBankAccountRequestBody instance GHC.Classes.Eq Circle.Types.CreateACHBankAccountRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ACHBankAccountResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ACHBankAccountResponseBody instance GHC.Show.Show Circle.Types.ACHBankAccountResponseBody instance GHC.Classes.Eq Circle.Types.ACHBankAccountResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CreateCardRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CreateCardRequestBody instance GHC.Show.Show Circle.Types.CreateCardRequestBody instance GHC.Classes.Eq Circle.Types.CreateCardRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.NonIBANBankAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.NonIBANBankAccountRequestBody instance GHC.Show.Show Circle.Types.NonIBANBankAccountRequestBody instance GHC.Classes.Eq Circle.Types.NonIBANBankAccountRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.IBANBankAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.IBANBankAccountRequestBody instance GHC.Show.Show Circle.Types.IBANBankAccountRequestBody instance GHC.Classes.Eq Circle.Types.IBANBankAccountRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.USBankAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.USBankAccountRequestBody instance GHC.Show.Show Circle.Types.USBankAccountRequestBody instance GHC.Classes.Eq Circle.Types.USBankAccountRequestBody instance GHC.Show.Show Circle.Types.WireAccountRequestBody instance GHC.Classes.Eq Circle.Types.WireAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Address instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Address instance GHC.Show.Show Circle.Types.Address instance GHC.Classes.Eq Circle.Types.Address instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.Identity instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Identity instance GHC.Show.Show Circle.Types.Identity instance GHC.Classes.Eq Circle.Types.Identity instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SourceBlockchain instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SourceBlockchain instance GHC.Show.Show Circle.Types.SourceBlockchain instance GHC.Classes.Eq Circle.Types.SourceBlockchain instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ListCardBillingDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ListCardBillingDetails instance GHC.Generics.Generic Circle.Types.ListCardBillingDetails instance GHC.Show.Show Circle.Types.ListCardBillingDetails instance GHC.Classes.Eq Circle.Types.ListCardBillingDetails instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CardResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CardResponseBody instance GHC.Show.Show Circle.Types.CardResponseBody instance GHC.Classes.Eq Circle.Types.CardResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ListCardResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ListCardResponseBody instance GHC.Show.Show Circle.Types.ListCardResponseBody instance GHC.Classes.Eq Circle.Types.ListCardResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TrackingReference instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.TrackingReference instance GHC.Show.Show Circle.Types.TrackingReference instance GHC.Classes.Eq Circle.Types.TrackingReference instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SEPAAccountResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SEPAAccountResponseBody instance GHC.Show.Show Circle.Types.SEPAAccountResponseBody instance GHC.Classes.Eq Circle.Types.SEPAAccountResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.WireAccountResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.WireAccountResponseBody instance GHC.Show.Show Circle.Types.WireAccountResponseBody instance GHC.Classes.Eq Circle.Types.WireAccountResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.WireInstructionsResponseData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.WireInstructionsResponseData instance GHC.Show.Show Circle.Types.WireInstructionsResponseData instance GHC.Classes.Eq Circle.Types.WireInstructionsResponseData instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SENInstructionsResponseData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SENInstructionsResponseData instance GHC.Generics.Generic Circle.Types.SENInstructionsResponseData instance GHC.Show.Show Circle.Types.SENInstructionsResponseData instance GHC.Classes.Eq Circle.Types.SENInstructionsResponseData instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SENAccountResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SENAccountResponseBody instance GHC.Show.Show Circle.Types.SENAccountResponseBody instance GHC.Classes.Eq Circle.Types.SENAccountResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockSEPAPaymentRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockSEPAPaymentRequestBody instance GHC.Show.Show Circle.Types.MockSEPAPaymentRequestBody instance GHC.Classes.Eq Circle.Types.MockSEPAPaymentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockSenOrWirePaymentRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockSenOrWirePaymentRequestBody instance GHC.Show.Show Circle.Types.MockSenOrWirePaymentRequestBody instance GHC.Classes.Eq Circle.Types.MockSenOrWirePaymentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.MockPaymentResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.MockPaymentResponseBody instance GHC.Show.Show Circle.Types.MockPaymentResponseBody instance GHC.Classes.Eq Circle.Types.MockPaymentResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.HexString instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.HexString instance GHC.Show.Show Circle.Types.HexString instance GHC.Classes.Eq Circle.Types.HexString instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentMethodData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentMethodData instance GHC.Show.Show Circle.Types.PaymentMethodData instance GHC.Classes.Eq Circle.Types.PaymentMethodData instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentIntentResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentIntentResponseBody instance GHC.Show.Show Circle.Types.PaymentIntentResponseBody instance GHC.Classes.Eq Circle.Types.PaymentIntentResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.CreatePaymentIntentRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.CreatePaymentIntentRequestBody instance GHC.Show.Show Circle.Types.CreatePaymentIntentRequestBody instance GHC.Classes.Eq Circle.Types.CreatePaymentIntentRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PaymentDepositAddress instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PaymentDepositAddress instance GHC.Show.Show Circle.Types.PaymentDepositAddress instance GHC.Classes.Eq Circle.Types.PaymentDepositAddress instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SignetBankInstructionsResponseData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SignetBankInstructionsResponseData instance GHC.Show.Show Circle.Types.SignetBankInstructionsResponseData instance GHC.Classes.Eq Circle.Types.SignetBankInstructionsResponseData instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SignetBankAccountResponseData instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SignetBankAccountResponseData instance GHC.Show.Show Circle.Types.SignetBankAccountResponseData instance GHC.Classes.Eq Circle.Types.SignetBankAccountResponseData instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SignetBankAccountRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SignetBankAccountRequestBody instance GHC.Show.Show Circle.Types.SignetBankAccountRequestBody instance GHC.Classes.Eq Circle.Types.SignetBankAccountRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.RecipientAddressRequestBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.RecipientAddressRequestBody instance GHC.Show.Show Circle.Types.RecipientAddressRequestBody instance GHC.Classes.Eq Circle.Types.RecipientAddressRequestBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.RecipientAddressResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.RecipientAddressResponseBody instance GHC.Show.Show Circle.Types.RecipientAddressResponseBody instance GHC.Classes.Eq Circle.Types.RecipientAddressResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DepositAddressResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DepositAddressResponseBody instance GHC.Show.Show Circle.Types.DepositAddressResponseBody instance GHC.Classes.Eq Circle.Types.DepositAddressResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DestinationBlockchain instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DestinationBlockchain instance GHC.Show.Show Circle.Types.DestinationBlockchain instance GHC.Classes.Eq Circle.Types.DestinationBlockchain instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.WalletId instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.WalletId instance GHC.Show.Show Circle.Types.WalletId instance GHC.Classes.Eq Circle.Types.WalletId instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.WalletResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.WalletResponseBody instance GHC.Show.Show Circle.Types.WalletResponseBody instance GHC.Classes.Eq Circle.Types.WalletResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.OriginalFiatPayment instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.OriginalFiatPayment instance GHC.Generics.Generic Circle.Types.OriginalFiatPayment instance GHC.Show.Show Circle.Types.OriginalFiatPayment instance GHC.Classes.Eq Circle.Types.OriginalFiatPayment instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.FiatCancelOrRefundResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.FiatCancelOrRefundResponseBody instance GHC.Show.Show Circle.Types.FiatCancelOrRefundResponseBody instance GHC.Classes.Eq Circle.Types.FiatCancelOrRefundResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.FiatOrCryptoPaymentResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.FiatOrCryptoPaymentResponseBody instance GHC.Show.Show Circle.Types.FiatOrCryptoPaymentResponseBody instance GHC.Classes.Eq Circle.Types.FiatOrCryptoPaymentResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DestinationWallet instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DestinationWallet instance GHC.Show.Show Circle.Types.DestinationWallet instance GHC.Classes.Eq Circle.Types.DestinationWallet instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.DepositResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.DepositResponseBody instance GHC.Show.Show Circle.Types.DepositResponseBody instance GHC.Classes.Eq Circle.Types.DepositResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.SourceWallet instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SourceWallet instance GHC.Show.Show Circle.Types.SourceWallet instance GHC.Classes.Eq Circle.Types.SourceWallet instance GHC.Show.Show Circle.Types.OnChainTransferRequestBody instance GHC.Classes.Eq Circle.Types.OnChainTransferRequestBody instance GHC.Show.Show Circle.Types.TransferResponseBody instance GHC.Classes.Eq Circle.Types.TransferResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.WalletConfig instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.WalletConfig instance GHC.Show.Show Circle.Types.WalletConfig instance GHC.Classes.Eq Circle.Types.WalletConfig instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.ConfigurationResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.ConfigurationResponseBody instance GHC.Show.Show Circle.Types.ConfigurationResponseBody instance GHC.Classes.Eq Circle.Types.ConfigurationResponseBody instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.PayoutResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.PayoutResponseBody instance GHC.Show.Show Circle.Types.PayoutResponseBody instance GHC.Classes.Eq Circle.Types.PayoutResponseBody instance GHC.Show.Show Circle.Types.DestinationWalletIdQueryParam instance GHC.Classes.Eq Circle.Types.DestinationWalletIdQueryParam instance GHC.Show.Show Circle.Types.SourceWalletIdQueryParam instance GHC.Classes.Eq Circle.Types.SourceWalletIdQueryParam instance GHC.Show.Show Circle.Types.WalletIdQueryParam instance GHC.Classes.Eq Circle.Types.WalletIdQueryParam instance Circle.Types.ToCircleParam Circle.Types.WalletIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.WalletIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.WalletIdQueryParam instance Circle.Types.ToCircleParam Circle.Types.SourceWalletIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.SourceWalletIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.SourceWalletIdQueryParam instance Circle.Types.ToCircleParam Circle.Types.DestinationWalletIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.DestinationWalletIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.DestinationWalletIdQueryParam instance Autodocodec.Class.HasCodec Circle.Types.PayoutResponseBody instance Autodocodec.Class.HasCodec Circle.Types.ConfigurationResponseBody instance Autodocodec.Class.HasCodec Circle.Types.WalletConfig instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.TransferResponseBody instance Data.Aeson.Types.ToJSON.ToJSON Circle.Types.OnChainTransferRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SourceWallet instance Autodocodec.Class.HasCodec Circle.Types.DepositResponseBody instance Autodocodec.Class.HasCodec Circle.Types.DestinationWallet instance Autodocodec.Class.HasCodec Circle.Types.FiatOrCryptoPaymentResponseBody instance Autodocodec.Class.HasCodec Circle.Types.FiatCancelOrRefundResponseBody instance Autodocodec.Class.HasCodec Circle.Types.OriginalFiatPayment instance Autodocodec.Class.HasCodec Circle.Types.WalletResponseBody instance Autodocodec.Class.HasCodec Circle.Types.WalletId instance Autodocodec.Class.HasCodec Circle.Types.DestinationBlockchain instance Autodocodec.Class.HasCodec Circle.Types.DepositAddressResponseBody instance Autodocodec.Class.HasCodec Circle.Types.RecipientAddressResponseBody instance Autodocodec.Class.HasCodec Circle.Types.RecipientAddressRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SignetBankAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SignetBankAccountResponseData instance Autodocodec.Class.HasCodec Circle.Types.SignetBankInstructionsResponseData instance Autodocodec.Class.HasCodec Circle.Types.PaymentDepositAddress instance Autodocodec.Class.HasCodec Circle.Types.CreatePaymentIntentRequestBody instance Autodocodec.Class.HasCodec Circle.Types.PaymentIntentResponseBody instance Autodocodec.Class.HasCodec Circle.Types.PaymentMethodData instance Autodocodec.Class.HasCodec Circle.Types.HexString instance Autodocodec.Class.HasCodec Circle.Types.MockPaymentResponseBody instance Autodocodec.Class.HasCodec Circle.Types.MockSenOrWirePaymentRequestBody instance Autodocodec.Class.HasCodec Circle.Types.MockSEPAPaymentRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SENAccountResponseBody instance Autodocodec.Class.HasCodec Circle.Types.SENInstructionsResponseData instance Autodocodec.Class.HasCodec Circle.Types.WireInstructionsResponseData instance Autodocodec.Class.HasCodec Circle.Types.WireAccountResponseBody instance Autodocodec.Class.HasCodec Circle.Types.SEPAAccountResponseBody instance Autodocodec.Class.HasCodec Circle.Types.TrackingReference instance Autodocodec.Class.HasCodec Circle.Types.ListCardResponseBody instance Autodocodec.Class.HasCodec Circle.Types.CardResponseBody instance Autodocodec.Class.HasCodec Circle.Types.ListCardBillingDetails instance Autodocodec.Class.HasCodec Circle.Types.SourceBlockchain instance Autodocodec.Class.HasCodec Circle.Types.Identity instance Autodocodec.Class.HasCodec Circle.Types.Address instance Autodocodec.Class.HasCodec Circle.Types.USBankAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.IBANBankAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.NonIBANBankAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.CreateCardRequestBody instance Autodocodec.Class.HasCodec Circle.Types.ACHBankAccountResponseBody instance Autodocodec.Class.HasCodec Circle.Types.CreateACHBankAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SEPAAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.BillingDetails instance Autodocodec.Class.HasCodec Circle.Types.BankAddress instance Autodocodec.Class.HasCodec Circle.Types.BeneficiaryBankDetails instance Autodocodec.Class.HasCodec Circle.Types.ISO3166Alpha2 instance Autodocodec.Class.HasCodec Circle.Types.District instance Autodocodec.Class.HasCodec Circle.Types.SwiftCode instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.SwiftCode instance Autodocodec.Class.HasCodec Circle.Types.PostalCode instance Autodocodec.Class.HasCodec Circle.Types.City instance Autodocodec.Class.HasCodec Circle.Types.PayoutRequestBody instance Autodocodec.Class.HasCodec Circle.Types.PayoutMetadata instance Autodocodec.Class.HasCodec Circle.Types.CreatePaymentRequestBody instance Autodocodec.Class.HasCodec Circle.Types.RequestMetadata instance Autodocodec.Class.HasCodec Circle.Types.ResponseMetadata instance Autodocodec.Class.HasCodec Circle.Types.Email instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Email instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.Iban instance Autodocodec.Class.HasCodec Circle.Types.Iban instance Autodocodec.Class.HasCodec Circle.Types.RoutingNumber instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.RoutingNumber instance Autodocodec.Class.HasCodec Circle.Types.MockBeneficiaryBankDetails instance Autodocodec.Class.HasCodec Circle.Types.SENAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.CreateMockACHBankAccountRequestBody instance Autodocodec.Class.HasCodec Circle.Types.MockACHBankAccountResponseBody instance Autodocodec.Class.HasCodec Circle.Types.MockACHBankAccount instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.AccountNumber instance Autodocodec.Class.HasCodec Circle.Types.AccountNumber instance Autodocodec.Class.HasCodec Circle.Types.SubscriptionResponseBody instance Autodocodec.Class.HasCodec Circle.Types.SubscriptionDetails instance Autodocodec.Class.HasCodec Circle.Types.PaymentActionRequired instance Data.Aeson.Types.FromJSON.FromJSON Circle.Types.URL instance Autodocodec.Class.HasCodec Circle.Types.URL instance Autodocodec.Class.HasCodec Circle.Types.BeneficiaryDetails instance Autodocodec.Class.HasCodec Circle.Types.AddressLine instance Autodocodec.Class.HasCodec Circle.Types.ProcessorToken instance Autodocodec.Class.HasCodec Circle.Types.Adjustments instance Autodocodec.Class.HasCodec Circle.Types.RiskEvaluation instance Autodocodec.Class.HasCodec Circle.Types.Decision instance Autodocodec.Class.HasCodec Circle.Types.TransferFeeAmount instance Autodocodec.Class.HasCodec Circle.Types.BalanceResponseBody instance Autodocodec.Class.HasCodec Circle.Types.BusinessPayoutRequestBody instance Autodocodec.Class.HasCodec Circle.Types.PayoutReturnResponseBody instance Autodocodec.Class.HasCodec Circle.Types.BusinessTransferRequestBody instance Autodocodec.Class.HasCodec Circle.Types.TransferRequestBody instance Autodocodec.Class.HasCodec Circle.Types.RefundPaymentRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SettlementResponseBody instance Autodocodec.Class.HasCodec Circle.Types.ChargebackResponseBody instance Autodocodec.Class.HasCodec Circle.Types.ChargebackHistory instance Autodocodec.Class.HasCodec Circle.Types.ReversalResponseBody instance Autodocodec.Class.HasCodec Circle.Types.MoneyAmount instance Autodocodec.Class.HasCodec Circle.Types.BlockchainFeeMoneyAmount instance Autodocodec.Class.HasCodec Circle.Types.BlockchainFeeType instance Autodocodec.Class.HasCodec Circle.Types.Amount instance Circle.Types.ToCircleParam Circle.Types.CurrencyQueryParam instance Autodocodec.Class.HasCodec Circle.Types.DepositAddressRequestBody instance Autodocodec.Class.HasCodec Circle.Types.SupportedCurrencies instance Autodocodec.Class.HasCodec Circle.Types.DestinationBankAccount instance Autodocodec.Class.HasCodec Circle.Types.ACHBankAccountType instance Circle.Types.ToCircleParam Circle.Types.TypeQueryParam instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.TypeQueryParam instance Circle.Types.CircleHasParam Circle.Types.DepositsRequest Circle.Types.TypeQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.TypeQueryParam instance Autodocodec.Class.HasCodec Circle.Types.BankAccountType instance Circle.Types.ToCircleParam Circle.Types.PaymentIntentContextQueryParams instance Circle.Types.CircleHasParam Circle.Types.PaymentIntentsRequest Circle.Types.PaymentIntentContextQueryParams instance Autodocodec.Class.HasCodec Circle.Types.TimelineData instance Autodocodec.Class.HasCodec Circle.Types.PaymentIntentContext instance Autodocodec.Class.HasCodec Circle.Types.PaymentIntentStatus instance Circle.Types.ToCircleParam Circle.Types.PaymentStatusQueryParams instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.PaymentStatusQueryParams instance Circle.Types.CircleHasParam Circle.Types.ReversalsRequest Circle.Types.PaymentStatusQueryParams instance Circle.Types.CircleHasParam Circle.Types.PaymentIntentsRequest Circle.Types.PaymentStatusQueryParams instance Autodocodec.Class.HasCodec Circle.Types.PaymentStatus instance Circle.Types.ToCircleParam Circle.Types.StatusQueryParams instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.StatusQueryParams instance Autodocodec.Class.HasCodec Circle.Types.Status instance (GHC.Show.Show a, GHC.Show.Show b) => GHC.Show.Show (Circle.Types.ThisOrThat a b) instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON b) => Data.Aeson.Types.ToJSON.ToJSON (Circle.Types.ThisOrThat a b) instance (Data.Aeson.Types.FromJSON.FromJSON a, Data.Aeson.Types.FromJSON.FromJSON b) => Data.Aeson.Types.FromJSON.FromJSON (Circle.Types.ThisOrThat a b) instance Data.Bifunctor.Bifunctor Circle.Types.ThisOrThat instance Autodocodec.Class.HasCodec Circle.Types.CreateWalletRequestBody instance Circle.Types.CircleHasParam Circle.Types.WalletsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.WalletsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.WalletsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.WalletsRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.ReturnsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.ReturnsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.ReturnsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.ReturnsRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentIntentsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.PaymentIntentsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentIntentsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentIntentsRequest Circle.Types.PageSizeQueryParam instance Autodocodec.Class.HasCodec Circle.Types.ReversalReason instance Circle.Types.CircleHasParam Circle.Types.ReversalsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.ReversalsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.ReversalsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.ReversalsRequest Circle.Types.PageSizeQueryParam instance Autodocodec.Class.HasCodec Circle.Types.ChargebackHistoryType instance Autodocodec.Class.HasCodec Circle.Types.ChargebackCategory instance Circle.Types.CircleHasParam Circle.Types.ChargebacksRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.ChargebacksRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.ChargebacksRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.ChargebacksRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.ChargebacksRequest Circle.Types.PaymentIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.SettlementsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.SettlementsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.SettlementsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.SettlementsRequest Circle.Types.PageSizeQueryParam instance Autodocodec.Class.HasCodec Circle.Types.MockRoutingNumber instance Autodocodec.Class.HasCodec Circle.Types.ACHBankAccountErrorCode instance Autodocodec.Class.HasCodec Circle.Types.VerificationErrorCode instance Autodocodec.Class.HasCodec Circle.Types.CardFundingType instance Autodocodec.Class.HasCodec Circle.Types.CardNetwork instance Autodocodec.Class.HasCodec Circle.Types.UpdateCardRequestBody instance Circle.Types.CircleHasParam Circle.Types.CardsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.CardsRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransfersRequest Circle.Types.ReturnIdentitiesQueryParam instance Circle.Types.CircleHasParam Circle.Types.OnChainTransferRequest Circle.Types.ReturnIdentitiesQueryParam instance Autodocodec.Class.HasCodec Circle.Types.CancelPaymentRequestBody instance Autodocodec.Class.HasCodec Circle.Types.CancelPaymentReason instance Autodocodec.Class.HasCodec Circle.Types.PaymentSource instance Autodocodec.Class.HasCodec Circle.Types.PaymentSourceType instance Autodocodec.Class.HasCodec Circle.Types.PaymentType instance Autodocodec.Class.HasCodec Circle.Types.VerificationType instance Autodocodec.Class.HasCodec Circle.Types.ActionRequiredType instance Autodocodec.Class.HasCodec Circle.Types.VerificationData instance Autodocodec.Class.HasCodec Circle.Types.CVV instance Autodocodec.Class.HasCodec Circle.Types.AVS instance Autodocodec.Class.HasCodec Circle.Types.PaymentErrorCode instance Autodocodec.Class.HasCodec Circle.Types.PhoneNumber instance Autodocodec.Class.HasCodec Circle.Types.IPAddress instance Autodocodec.Class.HasCodec Circle.Types.SessionId instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.DestinationQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.SourceQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.SettlementIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.PaymentsRequest Circle.Types.PaymentIntentIdQueryParam instance Circle.Types.CircleHasParam Circle.Types.WireInstructionsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.DepositsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.DepositsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.DepositsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.DepositsRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.RecipientAddressesRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.RecipientAddressesRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.RecipientAddressesRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.RecipientAddressesRequest Circle.Types.PageSizeQueryParam instance Autodocodec.Class.HasCodec Circle.Types.TransferErrorCode instance Autodocodec.Class.HasCodec Circle.Types.TransferType instance Autodocodec.Class.HasCodec Circle.Types.IdentityType instance Autodocodec.Class.HasCodec Circle.Types.TransferDestination instance Autodocodec.Class.HasCodec Circle.Types.DestinationType instance Circle.Types.CircleHasParam Circle.Types.TransferRequest Circle.Types.ReturnIdentitiesQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.TransfersRequest Circle.Types.ReturnIdentitiesQueryParam instance Autodocodec.Class.HasCodec Circle.Types.SubscriptionRequestBody instance Autodocodec.Class.HasCodec Circle.Types.StablecoinResponseBody instance Autodocodec.Class.HasCodec Circle.Types.Stablecoin instance Autodocodec.Class.HasCodec Circle.Types.ChainAmount instance Autodocodec.Class.HasCodec Circle.Types.Chain instance Autodocodec.Class.HasCodec Circle.Types.ChannelResponseBody instance Autodocodec.Class.HasCodec Circle.Types.Channel instance Autodocodec.Class.HasCodec Circle.Types.EncryptionResponseBody instance Autodocodec.Class.HasCodec Circle.Types.PGPKey instance Autodocodec.Class.HasCodec Circle.Types.PayoutErrorCode instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.PaginationQueryParams instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.FromQueryParam instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.ToQueryParam instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.PageSizeQueryParam instance Circle.Types.CircleHasParam Circle.Types.PayoutsRequest Circle.Types.DestinationQueryParam instance Circle.Types.ToCircleParam Circle.Types.ReturnIdentitiesQueryParam instance Circle.Types.ToCircleParam Circle.Types.PaymentIdQueryParam instance Circle.Types.ToCircleParam Circle.Types.PaymentIntentIdQueryParam instance Circle.Types.ToCircleParam Circle.Types.SettlementIdQueryParam instance Circle.Types.ToCircleParam Circle.Types.SourceQueryParam instance Circle.Types.ToCircleParam Circle.Types.DestinationQueryParam instance Circle.Types.ToCircleParam Circle.Types.PageSizeQueryParam instance Circle.Types.ToCircleParam Circle.Types.ToQueryParam instance Circle.Types.ToCircleParam Circle.Types.FromQueryParam instance Circle.Types.ToCircleParam Circle.Types.PaginationQueryParams instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Circle.Types.CircleResponseBody a) instance Autodocodec.Class.HasCodec Circle.Types.ResponseMessage instance Autodocodec.Class.HasCodec Circle.Types.ResponseStatus instance Autodocodec.Class.HasCodec Data.UUID.Types.Internal.UUID -- | https://developers.circle.com/developer/v1/docs module Circle.Client -- | Create a business bank account for a wire -- https://developers.circle.com/reference/createbusinesswireaccount createBusinessWireAccount :: WireAccountRequestBody -> CircleAPIRequest WireAccountRequest TupleBS8 ByteString -- | Get a list of business account wire accounts -- https://developers.circle.com/reference/listbusinesswireaccounts listBusinessWireAccounts :: CircleAPIRequest WireAccountsRequest TupleBS8 ByteString -- | Get a single business account wire account, accepts the wire account -- Id as a parameter -- https://developers.circle.com/reference/getbusinesswireaccount getBusinessWireAccount :: UUID -> CircleAPIRequest WireAccountRequest TupleBS8 ByteString -- | Get the wire transfer instructions into the Circle business bank -- account given your bank account id. -- https://developers.circle.com/reference/getbusinesswireaccountinstructions getBusinessWireAccountInstructions :: UUID -> CircleAPIRequest WireInstructionsRequest TupleBS8 ByteString -- | List all business balances -- https://developers.circle.com/reference/listbusinesspayouts listAllBusinessBalances :: CircleAPIRequest BalanceRequest TupleBS8 ByteString -- | Get configuration info -- https://developers.circle.com/reference/getaccountconfig getConfigurationInfo :: CircleAPIRequest ConfigurationRequest TupleBS8 ByteString -- | Get encryption info -- https://developers.circle.com/reference/getpublickey getPublicKey :: CircleAPIRequest EncryptionRequest TupleBS8 ByteString -- | List all channels -- https://developers.circle.com/reference/listchannels listAllChannels :: CircleAPIRequest ChannelsRequest TupleBS8 ByteString -- | List all stablecoins -- https://developers.circle.com/reference/listchannels listAllStablecoins :: CircleAPIRequest StablecoinsRequest TupleBS8 ByteString -- | List all subscriptions -- https://developers.circle.com/reference/listsubscriptions listAllNotificationSubscriptions :: CircleAPIRequest SubscriptionsRequest TupleBS8 ByteString -- | Create new subscription -- https://developers.circle.com/reference/createsubscribtion createSubscription :: SubscriptionRequestBody -> CircleAPIRequest SubscriptionRequest TupleBS8 ByteString -- | Delete subscription -- https://developers.circle.com/reference/deletesubscribtion deleteSubscription :: UUID -> CircleAPIRequest SubscriptionsRequest TupleBS8 ByteString -- | Lists all payouts made from a given business account -- https://developers.circle.com/reference/listbusinesspayouts listAllBusinessAccountPayouts :: CircleAPIRequest PayoutsRequest TupleBS8 ByteString -- | Gets a specific payout associated with a business account -- https://developers.circle.com/reference/getbusinesspayout getBusinessAccountPayout :: UUID -> CircleAPIRequest PayoutRequest TupleBS8 ByteString -- | Creates a business account payout -- https://developers.circle.com/reference/createbusinesspayout createBusinessAccountPayout :: BusinessPayoutRequestBody -> CircleAPIRequest PayoutRequest TupleBS8 ByteString -- | Searches for transfers from your business account. If the date -- parameters are omitted, returns the most recent transfers. This -- endpoint returns up to 50 transfers in descending chronological order -- or pageSize, if provided. -- https://developers.circle.com/reference/listbusinesstransfers listAllBusinessAccountTransfers :: CircleAPIRequest TransfersRequest TupleBS8 ByteString -- | Get a business account transfer based on a transfer ID -- https://developers.circle.com/reference/getbusinesstransfer getBusinessAccountTransfer :: UUID -> CircleAPIRequest TransferRequest TupleBS8 ByteString -- | Create a new transfer -- https://developers.circle.com/reference/createbusinesstransfer createBusinessAccountTransfer :: BusinessTransferRequestBody -> CircleAPIRequest TransferRequest TupleBS8 ByteString -- | List all deposit addresses -- https://developers.circle.com/developer/v1/reference/getbusinessdepositaddress listAllBusinessAccountDepositAddresses :: CircleAPIRequest DepositAddressesRequest TupleBS8 ByteString -- | Create new business account deposit address Generates a new blockchain -- address for a wallet for a given currency/chain pair. Circle may reuse -- addresses on blockchains that support reuse. For example, if you're -- requesting two addresses for depositing USD and ETH, both on Ethereum, -- you may see the same Ethereum address returned. Depositing -- cryptocurrency to a generated address will credit the associated -- wallet with the value of the deposit. -- https://developers.circle.com/developer/v1/reference/createbusinessdepositaddress createBusinessAccountDepositAddress :: DepositAddressRequestBody -> CircleAPIRequest DepositAddressRequest TupleBS8 ByteString -- | List all recipient addresses Returns a list of recipient addresses -- that have each been verified and are eligible for transfers. Any -- recipient addresses pending verification are not included in the -- response. -- https://developers.circle.com/developer/v1/reference/listbusinessrecipientaddresses listAllBusinessAccountRecipientAddresses :: CircleAPIRequest RecipientAddressesRequest TupleBS8 ByteString -- | Create a new recipient address Stores an external blockchain address. -- Once added, the recipient address must be verified to ensure that you -- know and trust each new address. -- https://developers.circle.com/developer/v1/reference/createbusinessrecipientaddress createBusinessAccountRecipientAddress :: RecipientAddressRequestBody -> CircleAPIRequest RecipientAddressRequest TupleBS8 ByteString -- | List all deposits Searches for deposits sent to your business account. -- If the date parameters are omitted, returns the most recent deposits. -- This endpoint returns up to 50 deposits in descending chronological -- order or pageSize, if provided. -- https://developers.circle.com/developer/v1/reference/listbusinessdeposits listAllBusinessAccountDeposits :: CircleAPIRequest DepositsRequest TupleBS8 ByteString -- | Create a signet bank account -- https://developers.circle.com/developer/v1/reference/createbusinesssignetaccount createSignetBankAccount :: SignetBankAccountRequestBody -> CircleAPIRequest SignetBankAccountRequest TupleBS8 ByteString -- | Get a list of Signet accounts -- https://developers.circle.com/developer/v1/reference/listbusinesssignetaccounts listSignetAccounts :: CircleAPIRequest SignetBankAccountsRequest TupleBS8 ByteString -- | Get a single Signet bank account, accepts the Signet bank account Id -- as a parameter -- https://developers.circle.com/developer/v1/reference/getbusinesssignetaccount getSignetAccount :: UUID -> CircleAPIRequest SignetBankAccountRequestBody TupleBS8 ByteString -- | Get the Signet transfer instructions into the Circle bank account -- given your bank account id (only available on Production now). -- https://developers.circle.com/developer/v1/reference/getbusinesssignetaccountinstructions getSignetAccountInstructions :: UUID -> CircleAPIRequest SignetBankInstructionsResponseData TupleBS8 ByteString -- | Create a bank account for a SEN -- https://developers.circle.com/developer/v1/reference/createbusinesssenaccount createSENAccount :: SENAccountRequestBody -> CircleAPIRequest SENAccountRequest TupleBS8 ByteString -- | Get a list of SEN accounts -- https://developers.circle.com/developer/v1/reference/listbusinesssenaccounts listSENAccounts :: CircleAPIRequest SENAccountsRequest TupleBS8 ByteString -- | Get a single SEN account, accepts the SEN account Id as a parameter -- https://developers.circle.com/developer/v1/reference/getbusinesssenaccount getSENAccount :: UUID -> CircleAPIRequest SENAccountRequest TupleBS8 ByteString -- | Get the SEN transfer instructions into the Circle bank account given -- your bank account id. -- https://developers.circle.com/developer/v1/reference/getbusinesssenaccountinstructions getSENAccountInstructions :: UUID -> CircleAPIRequest SENInstructionsRequest TupleBS8 ByteString -- | List all payments -- https://developers.circle.com/developer/v1/reference/listpayments listAllPayments :: CircleAPIRequest PaymentsRequest TupleBS8 ByteString -- | Create a payment (fiat or Crypto) -- https://developers.circle.com/developer/v1/reference/payments-payments-create createPayment :: CreatePaymentRequestBody -> CircleAPIRequest PaymentRequest TupleBS8 ByteString -- | Get a payment (fiat or Crypto) -- https://developers.circle.com/developer/v1/reference/payments-payments-get-id getPayment :: UUID -> CircleAPIRequest PaymentRequest TupleBS8 ByteString -- | Cancel a fiat payment -- https://developers.circle.com/developer/v1/reference/payments-payments-cancel-id cancelPayment :: UUID -> CancelPaymentRequestBody -> CircleAPIRequest PaymentRequest TupleBS8 ByteString -- | Refund a fiat payment -- https://developers.circle.com/developer/v1/reference/payments-payments-refund-id refundPayment :: UUID -> RefundPaymentRequestBody -> CircleAPIRequest PaymentRequest TupleBS8 ByteString -- | Create mock wire payment SANDBOX ONLY In the sandbox environment, -- initiate a mock wire payment that mimics the behavior of funds sent -- through the bank (wire) account linked to master wallet. -- https://developers.circle.com/developer/v1/reference/createmockwirepayment createMockWirePayment :: MockSenOrWirePaymentRequestBody -> CircleAPIRequest MockPaymentRequest TupleBS8 ByteString -- | Create mock SEPA payment SANDBOX ONLY (in Beta) In the sandbox -- environment, initiate a mock SEPA payment that mimics the behavior of -- funds sent through the bank (SEPA) account linked to master wallet. -- https://developers.circle.com/developer/v1/reference/createmocksepapayment createMockSEPAPayment :: MockSEPAPaymentRequestBody -> CircleAPIRequest MockPaymentRequest TupleBS8 ByteString -- | Create mock Silvergate payment SANDBOX ONLY In the sandbox -- environment, initiate a mock SEN transfer that mimics the behavior of -- funds sent through the Silvergate SEN account linked to master wallet. -- https://developers.circle.com/developer/v1/reference/createmocksenpayment createMockSilvergatePayment :: MockSenOrWirePaymentRequestBody -> CircleAPIRequest MockPaymentRequest TupleBS8 ByteString -- | Create mock ACH account SANDBOX ONLY In the sandbox environment, -- create a mock ACH account and retrieve a processor token that can be -- used to link an ACH account. -- https://developers.circle.com/developer/v1/reference/createmockachaccount-1 createMockACHBankAccount :: CreateMockACHBankAccountRequestBody -> CircleAPIRequest MockAccountRequest TupleBS8 ByteString -- | Create mock chargeback SANDBOX ONLY In the sandbox environment, -- initiate a mock chargeback of a specified payment. The entire payment -- will be charged back for its full value. The payment must be in the -- paid state (otherwise the endpoint will return a 404), and each -- payment can only be charged back once (otherwise the endpoint will -- return a 409). This endpoint is only available in the sandbox -- environment. -- https://developers.circle.com/developer/v1/reference/payments-chargebacks-mock-create createMockChargeback :: UUID -> CircleAPIRequest MockChargebackRequest TupleBS8 ByteString -- | Searches for transfers. Searches for transfers involving the provided -- wallets. If no wallet ids are provided, searches all wallets -- associated with your Circle API account. If the date parameters are -- omitted, returns the most recent transfers. This endpoint returns up -- to 50 transfers in descending chronological order or pageSize, if -- provided. -- https://developers.circle.com/developer/v1/reference/listtransfers-1 listAllOnChainTransfers :: CircleAPIRequest OnChainTransfersRequest TupleBS8 ByteString -- | Get a business account transfer based on a transfer ID -- https://developers.circle.com/developer/v1/reference/gettransfer getOnChainTransfer :: UUID -> CircleAPIRequest TransferRequest TupleBS8 ByteString -- | Create an on-chain transfer (i.e. a crypto payment) -- https://developers.circle.com/developer/v1/reference/accounts-transfers-create createOnChainTransfer :: OnChainTransferRequestBody -> CircleAPIRequest TransferRequest TupleBS8 ByteString -- | List all cards -- https://developers.circle.com/developer/v1/reference/listcards listAllCards :: CircleAPIRequest CardsRequest TupleBS8 ByteString -- | Get a card -- https://developers.circle.com/developer/v1/reference/payments-cards-get-id getCard :: UUID -> CircleAPIRequest CardRequest TupleBS8 ByteString -- | Create a card -- https://developers.circle.com/developer/v1/reference/payments-cards-create createCard :: CreateCardRequestBody -> CircleAPIRequest CardRequest TupleBS8 ByteString -- | Update a card -- https://developers.circle.com/developer/v1/reference/updatecard updateCard :: UUID -> UpdateCardRequestBody -> CircleAPIRequest CardRequest TupleBS8 ByteString -- | Create a bank account for a wire -- https://developers.circle.com/developer/v1/reference/createwireaccount createWireAccount :: WireAccountRequestBody -> CircleAPIRequest WireAccountRequest TupleBS8 ByteString -- | Get a single wire account, accepts the wire account Id as a parameter -- https://developers.circle.com/developer/v1/reference/getwireaccount-1 getWireAccount :: UUID -> CircleAPIRequest WireAccountRequest TupleBS8 ByteString -- | Get the wire transfer instructions into the Circle bank account given -- your bank account id. -- https://developers.circle.com/developer/v1/reference/getwireaccountinstructions getWireAccountInstructions :: UUID -> CircleAPIRequest WireInstructionsRequest TupleBS8 ByteString -- | Create an ACH account -- https://developers.circle.com/developer/v1/reference/payments-bank-accounts-ach-mock createACHAccount :: CreateACHBankAccountRequestBody -> CircleAPIRequest ACHBankAccountRequest TupleBS8 ByteString -- | Get an ACH account -- https://developers.circle.com/developer/v1/reference/getachaccount-1 getACHAccount :: UUID -> CircleAPIRequest ACHBankAccountRequest TupleBS8 ByteString -- | Create a SEPA account (in beta) -- https://developers.circle.com/developer/v1/reference/createsepaaccount-1 createSEPAAccount :: SEPAAccountRequestBody -> CircleAPIRequest SEPAAccountRequest TupleBS8 ByteString -- | Get a SEPA account (in beta) -- https://developers.circle.com/developer/v1/reference/getsepaaccount-1 getSEPAAccount :: UUID -> CircleAPIRequest SEPAAccountRequest TupleBS8 ByteString -- | Get instructions for a SEPA transfer (in beta) -- https://developers.circle.com/developer/v1/reference/getsepaaccountinstructions getSEPAAccountInstructions :: UUID -> CircleAPIRequest SEPAInstructionsRequest TupleBS8 ByteString -- | List all settlements -- https://developers.circle.com/developer/v1/reference/listsettlements listAllSettlements :: CircleAPIRequest SettlementsRequest TupleBS8 ByteString -- | Get a settlement -- https://developers.circle.com/developer/v1/reference/payments-settlements-get-id getSettlement :: UUID -> CircleAPIRequest SettlementRequest TupleBS8 ByteString -- | List all chargebacks -- https://developers.circle.com/developer/v1/reference/listchargebacks listAllChargebacks :: CircleAPIRequest ChargebacksRequest TupleBS8 ByteString -- | Get a chargeback -- https://developers.circle.com/developer/v1/reference/payments-chargebacks-get-id getChargeback :: UUID -> CircleAPIRequest ChargebackRequest TupleBS8 ByteString -- | Retrieve a list of ACH payment reversals. Results will be sorted by -- create date descending; more recent reversals will be at the beginning -- of the list -- https://developers.circle.com/developer/v1/reference/listreversals listAllACHReversals :: CircleAPIRequest ReversalsRequest TupleBS8 ByteString -- | Retrieves the balance of merchant funds that have settled and also of -- funds that have been sent for processing but have not yet settled. -- https://developers.circle.com/developer/v1/reference/listbalances listAllBalances :: CircleAPIRequest BalanceRequest TupleBS8 ByteString -- | List all payment intents -- https://developers.circle.com/developer/v1/reference/listpaymentintents listAllPaymentIntents :: CircleAPIRequest PaymentIntentsRequest TupleBS8 ByteString -- | Create a payment intent -- https://developers.circle.com/developer/v1/reference/createpaymentintent createPaymentIntent :: CreatePaymentIntentRequestBody -> CircleAPIRequest PaymentIntentRequest TupleBS8 ByteString -- | Get a payment intent -- https://developers.circle.com/developer/v1/reference/getpaymentintent getPaymentIntent :: UUID -> CircleAPIRequest PaymentIntentRequest TupleBS8 ByteString -- | Expire a payment intent -- https://developers.circle.com/developer/v1/reference/expirepaymentintent expirePaymentIntent :: UUID -> CircleAPIRequest PaymentIntentRequest TupleBS8 ByteString -- | Lists all payouts made from a given account -- https://developers.circle.com/developer/v1/reference/listpayouts listAllPayouts :: CircleAPIRequest PayoutsRequest TupleBS8 ByteString -- | Gets a specific payout based on an ID -- https://developers.circle.com/developer/v1/reference/payouts-payouts-get-id getPayout :: UUID -> CircleAPIRequest PayoutRequest TupleBS8 ByteString -- | Creates a payout -- https://developers.circle.com/developer/v1/reference/payouts-payouts-create createPayout :: PayoutRequestBody -> CircleAPIRequest PayoutRequest TupleBS8 ByteString -- | Searches for transfers from your account. If the date parameters are -- omitted, returns the most recent transfers. This endpoint returns up -- to 50 transfers in descending chronological order or pageSize, if -- provided. -- https://developers.circle.com/developer/v1/reference/listtransfers listAllTransfers :: CircleAPIRequest TransfersRequest TupleBS8 ByteString -- | Get a transfer based on a transfer ID -- https://developers.circle.com/reference/getbusinesstransfer getTransfer :: UUID -> CircleAPIRequest TransferRequest TupleBS8 ByteString -- | Create a new transfer -- https://developers.circle.com/developer/v1/reference/payouts-transfers-create createTransfer :: TransferRequestBody -> CircleAPIRequest TransferRequest TupleBS8 ByteString -- | Retrieve a list of Wire and ACH payout returns. Results will be sorted -- by create date descending; more recent returns will be at the -- beginning of the list. -- https://developers.circle.com/developer/v1/reference/listreturns listAllReturns :: CircleAPIRequest ReturnsRequest TupleBS8 ByteString -- | Retrieves a list of a user's wallets. -- https://developers.circle.com/developer/v1/reference/listwallets listAllWallets :: CircleAPIRequest WalletsRequest TupleBS8 ByteString -- | Get a wallet -- https://developers.circle.com/developer/v1/reference/accounts-wallets-get-id getWallet :: UUID -> CircleAPIRequest WalletRequest TupleBS8 ByteString -- | Creates an end user wallet. -- https://developers.circle.com/developer/v1/reference/accounts-wallets-create createWallet :: CreateWalletRequestBody -> CircleAPIRequest WalletRequest TupleBS8 ByteString -- | Create new blockchain deposit address Generates a new blockchain -- address for a wallet for a given currency/chain pair. Circle may reuse -- addresses on blockchains that support reuse. For example, if you're -- requesting two addresses for depositing USD and ETH, both on Ethereum, -- you may see the same Ethereum address returned. Depositing -- cryptocurrency to a generated address will credit the associated -- wallet with the value of the deposit. -- https://developers.circle.com/developer/v1/reference/payments-on-chain-addresses-create createDepositAddress :: UUID -> DepositAddressRequestBody -> CircleAPIRequest DepositAddressRequest TupleBS8 ByteString -- | List all recipient addresses associated with a wallet Id Retrieves a -- list of addresses associated with a wallet. -- https://developers.circle.com/developer/v1/reference/listaddresses listAllAddresses :: UUID -> CircleAPIRequest RecipientAddressesRequest TupleBS8 ByteString -- | Create a request to circle's API circle :: FromJSON (CircleRequest a) => CircleConfig -> CircleAPIRequest a TupleBS8 ByteString -> IO (Either CircleError (CircleRequest a)) -- | This function is only used internally to speed up the test suite. -- Instead of creating a new Manager we reuse the same one. circleTest :: FromJSON (CircleRequest a) => CircleConfig -> Manager -> CircleAPIRequest a TupleBS8 ByteString -> IO (Either CircleError (CircleRequest a)) -- | Conversion of a key value pair to a query parameterized string paramsToByteString :: [Query] -> ByteString -- | https://developers.circle.com/developer/v1/docs -- --
--   import Circle.Client
--   import Circle.Types
--   import Network.HTTP.Client (newManager)
--   import Network.HTTP.Client.TLS (tlsManagerSettings)
--   
--   main :: IO ()
--   main = do
--     manager <- newManager tlsManagerSettings
--     config <- sandboxEnvConfig "CIRCLE_API_KEY"
--     result <- circle config manager getConfigurationInfo
--     case result of
--       Right CircleResponseBody b -> print bs
--       Left CircleError e -> print e
--   
module Circle