diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index e4e7bc0..654add3 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "2.20.3"
+ ".": "2.20.4"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index b1d1921..7c575dc 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
configured_endpoints: 158
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/modern-treasury-5753cf83c1cfd8a49c2fb5445fa9a6970330522400bebaf8a4a9f56aecbcff24.yml
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/modern-treasury-d9dd2a4af66300f520a77524c0062719e35fe8eec09019d45142030cf740846f.yml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0328f70..8356111 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,15 @@
# Changelog
+## 2.20.4 (2024-11-25)
+
+Full Changelog: [v2.20.3...v2.20.4](https://github.com/Modern-Treasury/modern-treasury-go/compare/v2.20.3...v2.20.4)
+
+### Chores
+
+* **api:** additional fields for requests to get BalanceReports and create LegalEntities ([#292](https://github.com/Modern-Treasury/modern-treasury-go/issues/292)) ([579f935](https://github.com/Modern-Treasury/modern-treasury-go/commit/579f935cba1451233b1112e266e0ce6f47b83e8e))
+* sync openapi spec ([#293](https://github.com/Modern-Treasury/modern-treasury-go/issues/293)) ([7b6557d](https://github.com/Modern-Treasury/modern-treasury-go/commit/7b6557d35f239a3faf18f98d7ecadaef1e489615))
+* **tests:** limit array example length ([#290](https://github.com/Modern-Treasury/modern-treasury-go/issues/290)) ([eb2208c](https://github.com/Modern-Treasury/modern-treasury-go/commit/eb2208cd5de0f0463da3e84f54f6325141096a9e))
+
## 2.20.3 (2024-11-11)
Full Changelog: [v2.20.2...v2.20.3](https://github.com/Modern-Treasury/modern-treasury-go/compare/v2.20.2...v2.20.3)
diff --git a/README.md b/README.md
index 31a435c..86b9ceb 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@ Or to pin the version:
```sh
-go get -u 'github.com/Modern-Treasury/modern-treasury-go/v2@v2.20.3'
+go get -u 'github.com/Modern-Treasury/modern-treasury-go/v2@v2.20.4'
```
diff --git a/accountcollectionflow_test.go b/accountcollectionflow_test.go
index 5eb3c1d..28a1d28 100644
--- a/accountcollectionflow_test.go
+++ b/accountcollectionflow_test.go
@@ -28,8 +28,8 @@ func TestAccountCollectionFlowNewWithOptionalParams(t *testing.T) {
)
_, err := client.AccountCollectionFlows.New(context.TODO(), moderntreasury.AccountCollectionFlowNewParams{
CounterpartyID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- PaymentTypes: moderntreasury.F([]string{"string", "string", "string"}),
- ReceivingCountries: moderntreasury.F([]moderntreasury.AccountCollectionFlowNewParamsReceivingCountry{moderntreasury.AccountCollectionFlowNewParamsReceivingCountryUsa, moderntreasury.AccountCollectionFlowNewParamsReceivingCountryAus, moderntreasury.AccountCollectionFlowNewParamsReceivingCountryBel}),
+ PaymentTypes: moderntreasury.F([]string{"string"}),
+ ReceivingCountries: moderntreasury.F([]moderntreasury.AccountCollectionFlowNewParamsReceivingCountry{moderntreasury.AccountCollectionFlowNewParamsReceivingCountryUsa}),
})
if err != nil {
var apierr *moderntreasury.Error
diff --git a/api.md b/api.md
index 8f10ebe..0d9160c 100644
--- a/api.md
+++ b/api.md
@@ -568,9 +568,16 @@ Methods:
# LegalEntities
+Params Types:
+
+- moderntreasury.BankSettingsParam
+- moderntreasury.WealthAndEmploymentDetailsParam
+
Response Types:
+- moderntreasury.BankSettings
- moderntreasury.LegalEntity
+- moderntreasury.WealthAndEmploymentDetails
Methods:
diff --git a/bulkrequest_test.go b/bulkrequest_test.go
index 060991d..e1cadc5 100644
--- a/bulkrequest_test.go
+++ b/bulkrequest_test.go
@@ -72,259 +72,6 @@ func TestBulkRequestNewWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }}),
- Description: moderntreasury.F("description"),
- EffectiveAt: moderntreasury.F(time.Now()),
- EffectiveDate: moderntreasury.F(time.Now()),
- ExternalID: moderntreasury.F("external_id"),
- LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LedgerableType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransactionLedgerableTypeExpectedPayment),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Status: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransactionStatusArchived),
- }),
- LedgerTransactionID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LineItems: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLineItem{{
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }}),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- NsfProtected: moderntreasury.F(true),
- OriginatingPartyName: moderntreasury.F("originating_party_name"),
- Priority: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestPriorityHigh),
- ProcessAfter: moderntreasury.F(time.Now()),
- Purpose: moderntreasury.F("purpose"),
- ReceivingAccount: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccount{
- AccountDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetail{{
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }}),
- AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
- ContactDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetail{{
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }}),
- LedgerAccount: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountLedgerAccount{
- Currency: moderntreasury.F("currency"),
- LedgerID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Name: moderntreasury.F("name"),
- NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
- CurrencyExponent: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
- LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LedgerableType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountLedgerAccountLedgerableTypeCounterparty),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Name: moderntreasury.F("name"),
- PartyAddress: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountPartyAddress{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Line2: moderntreasury.F("line2"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- }),
- PartyIdentifier: moderntreasury.F("party_identifier"),
- PartyName: moderntreasury.F("party_name"),
- PartyType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountPartyTypeBusiness),
- PlaidProcessorToken: moderntreasury.F("plaid_processor_token"),
- RoutingDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetail{{
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }}),
- }),
- ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- RemittanceInformation: moderntreasury.F("remittance_information"),
- SendRemittanceAdvice: moderntreasury.F(true),
- StatementDescriptor: moderntreasury.F("statement_descriptor"),
- Subtype: moderntreasury.F(moderntreasury.PaymentOrderSubtypeBacsNewInstruction),
- TransactionMonitoringEnabled: moderntreasury.F(true),
- UltimateOriginatingPartyIdentifier: moderntreasury.F("ultimate_originating_party_identifier"),
- UltimateOriginatingPartyName: moderntreasury.F("ultimate_originating_party_name"),
- UltimateReceivingPartyIdentifier: moderntreasury.F("ultimate_receiving_party_identifier"),
- UltimateReceivingPartyName: moderntreasury.F("ultimate_receiving_party_name"),
- }, moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequest{
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestDirectionCredit),
- OriginatingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Type: moderntreasury.F(moderntreasury.PaymentOrderTypeACH),
- Accounting: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestAccounting{
- AccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ClassID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- }),
- AccountingCategoryID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AccountingLedgerClassID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ChargeBearer: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestChargeBearerShared),
- Currency: moderntreasury.F(shared.CurrencyAed),
- Description: moderntreasury.F("description"),
- EffectiveDate: moderntreasury.F(time.Now()),
- ExpiresAt: moderntreasury.F(time.Now()),
- FallbackType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestFallbackTypeACH),
- ForeignExchangeContract: moderntreasury.F("foreign_exchange_contract"),
- ForeignExchangeIndicator: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestForeignExchangeIndicatorFixedToVariable),
- LedgerTransaction: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransaction{
- LedgerEntries: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransactionLedgerEntry{{
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
Description: moderntreasury.F("description"),
EffectiveAt: moderntreasury.F(time.Now()),
@@ -349,24 +96,6 @@ func TestBulkRequestNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
}}),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
@@ -382,23 +111,11 @@ func TestBulkRequestNewWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
}}),
AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
ContactDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetail{{
ContactIdentifier: moderntreasury.F("contact_identifier"),
ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
}}),
LedgerAccount: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountLedgerAccount{
Currency: moderntreasury.F("currency"),
@@ -407,7 +124,7 @@ func TestBulkRequestNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -438,227 +155,6 @@ func TestBulkRequestNewWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }}),
- }),
- ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- RemittanceInformation: moderntreasury.F("remittance_information"),
- SendRemittanceAdvice: moderntreasury.F(true),
- StatementDescriptor: moderntreasury.F("statement_descriptor"),
- Subtype: moderntreasury.F(moderntreasury.PaymentOrderSubtypeBacsNewInstruction),
- TransactionMonitoringEnabled: moderntreasury.F(true),
- UltimateOriginatingPartyIdentifier: moderntreasury.F("ultimate_originating_party_identifier"),
- UltimateOriginatingPartyName: moderntreasury.F("ultimate_originating_party_name"),
- UltimateReceivingPartyIdentifier: moderntreasury.F("ultimate_receiving_party_identifier"),
- UltimateReceivingPartyName: moderntreasury.F("ultimate_receiving_party_name"),
- }, moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequest{
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestDirectionCredit),
- OriginatingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Type: moderntreasury.F(moderntreasury.PaymentOrderTypeACH),
- Accounting: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestAccounting{
- AccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ClassID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- }),
- AccountingCategoryID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AccountingLedgerClassID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ChargeBearer: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestChargeBearerShared),
- Currency: moderntreasury.F(shared.CurrencyAed),
- Description: moderntreasury.F("description"),
- EffectiveDate: moderntreasury.F(time.Now()),
- ExpiresAt: moderntreasury.F(time.Now()),
- FallbackType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestFallbackTypeACH),
- ForeignExchangeContract: moderntreasury.F("foreign_exchange_contract"),
- ForeignExchangeIndicator: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestForeignExchangeIndicatorFixedToVariable),
- LedgerTransaction: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransaction{
- LedgerEntries: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransactionLedgerEntry{{
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }}),
- Description: moderntreasury.F("description"),
- EffectiveAt: moderntreasury.F(time.Now()),
- EffectiveDate: moderntreasury.F(time.Now()),
- ExternalID: moderntreasury.F("external_id"),
- LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LedgerableType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransactionLedgerableTypeExpectedPayment),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Status: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLedgerTransactionStatusArchived),
- }),
- LedgerTransactionID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LineItems: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestLineItem{{
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }}),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- NsfProtected: moderntreasury.F(true),
- OriginatingPartyName: moderntreasury.F("originating_party_name"),
- Priority: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestPriorityHigh),
- ProcessAfter: moderntreasury.F(time.Now()),
- Purpose: moderntreasury.F("purpose"),
- ReceivingAccount: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccount{
- AccountDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetail{{
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }}),
- AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
- ContactDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetail{{
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }}),
- LedgerAccount: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountLedgerAccount{
- Currency: moderntreasury.F("currency"),
- LedgerID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Name: moderntreasury.F("name"),
- NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
- CurrencyExponent: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
- LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LedgerableType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountLedgerAccountLedgerableTypeCounterparty),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Name: moderntreasury.F("name"),
- PartyAddress: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountPartyAddress{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Line2: moderntreasury.F("line2"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- }),
- PartyIdentifier: moderntreasury.F("party_identifier"),
- PartyName: moderntreasury.F("party_name"),
- PartyType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountPartyTypeBusiness),
- PlaidProcessorToken: moderntreasury.F("plaid_processor_token"),
- RoutingDetails: moderntreasury.F([]moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetail{{
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.BulkRequestNewParamsResourcesPaymentOrderAsyncCreateRequestReceivingAccountRoutingDetailsPaymentTypeACH),
}}),
}),
ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
diff --git a/connectionlegalentity.go b/connectionlegalentity.go
index 9553d1b..06e0c89 100644
--- a/connectionlegalentity.go
+++ b/connectionlegalentity.go
@@ -171,9 +171,12 @@ func (r ConnectionLegalEntityNewParams) MarshalJSON() (data []byte, err error) {
// The legal entity.
type ConnectionLegalEntityNewParamsLegalEntity struct {
// A list of addresses for the entity.
- Addresses param.Field[[]ConnectionLegalEntityNewParamsLegalEntityAddress] `json:"addresses"`
+ Addresses param.Field[[]ConnectionLegalEntityNewParamsLegalEntityAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -195,10 +198,21 @@ type ConnectionLegalEntityNewParamsLegalEntity struct {
LegalStructure param.Field[ConnectionLegalEntityNewParamsLegalEntityLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]ConnectionLegalEntityNewParamsLegalEntityPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[ConnectionLegalEntityNewParamsLegalEntityRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
@@ -328,9 +342,12 @@ func (r ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelation
// The child legal entity.
type ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity struct {
// A list of addresses for the entity.
- Addresses param.Field[[]ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress] `json:"addresses"`
+ Addresses param.Field[[]ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -350,10 +367,21 @@ type ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalE
LegalStructure param.Field[ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
diff --git a/connectionlegalentity_test.go b/connectionlegalentity_test.go
index 2432143..b39b550 100644
--- a/connectionlegalentity_test.go
+++ b/connectionlegalentity_test.go
@@ -36,47 +36,36 @@ func TestConnectionLegalEntityNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
}}),
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ }),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityAssociations: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociation{{
- RelationshipTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeControlPerson}),
+ RelationshipTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner}),
ChildLegalEntity: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity{
Addresses: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress{{
Country: moderntreasury.F("country"),
@@ -84,111 +73,32 @@ func TestConnectionLegalEntityNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }}),
- BusinessName: moderntreasury.F("business_name"),
- DateFormed: moderntreasury.F(time.Now()),
- DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
- Email: moderntreasury.F("email"),
- FirstName: moderntreasury.F("first_name"),
- Identifications: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentification{{
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
- LastName: moderntreasury.F("last_name"),
- LegalEntityType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
- LegalStructure: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalStructureCorporation),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
}),
- PhoneNumbers: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber{{
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
- }),
- ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
- OwnershipPercentage: moderntreasury.F(int64(0)),
- Title: moderntreasury.F("title"),
- }, {
- RelationshipTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeControlPerson}),
- ChildLegalEntity: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity{
- Addresses: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress{{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }}),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
@@ -198,83 +108,36 @@ func TestConnectionLegalEntityNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
- }),
- ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
- OwnershipPercentage: moderntreasury.F(int64(0)),
- Title: moderntreasury.F("title"),
- }, {
- RelationshipTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeControlPerson}),
- ChildLegalEntity: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity{
- Addresses: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress{{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
}}),
- BusinessName: moderntreasury.F("business_name"),
- DateFormed: moderntreasury.F(time.Now()),
- DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
- Email: moderntreasury.F("email"),
- FirstName: moderntreasury.F("first_name"),
- Identifications: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentification{{
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }}),
- LastName: moderntreasury.F("last_name"),
- LegalEntityType: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
- LegalStructure: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalStructureCorporation),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
}),
- PhoneNumbers: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber{{
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
+ Website: moderntreasury.F("website"),
}),
ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
OwnershipPercentage: moderntreasury.F(int64(0)),
@@ -287,15 +150,36 @@ func TestConnectionLegalEntityNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.ConnectionLegalEntityNewParamsLegalEntityPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.ConnectionLegalEntityNewParamsLegalEntityRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
+ }),
+ Website: moderntreasury.F("website"),
}),
LegalEntityID: moderntreasury.F("legal_entity_id"),
})
diff --git a/counterparty.go b/counterparty.go
index 928914a..32f5f64 100644
--- a/counterparty.go
+++ b/counterparty.go
@@ -785,9 +785,12 @@ type CounterpartyNewParamsLegalEntity struct {
// The type of legal entity.
LegalEntityType param.Field[CounterpartyNewParamsLegalEntityLegalEntityType] `json:"legal_entity_type,required"`
// A list of addresses for the entity.
- Addresses param.Field[[]CounterpartyNewParamsLegalEntityAddress] `json:"addresses"`
+ Addresses param.Field[[]CounterpartyNewParamsLegalEntityAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -807,10 +810,21 @@ type CounterpartyNewParamsLegalEntity struct {
LegalStructure param.Field[CounterpartyNewParamsLegalEntityLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]CounterpartyNewParamsLegalEntityPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[CounterpartyNewParamsLegalEntityRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
@@ -956,9 +970,12 @@ func (r CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipType)
// The child legal entity.
type CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity struct {
// A list of addresses for the entity.
- Addresses param.Field[[]CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress] `json:"addresses"`
+ Addresses param.Field[[]CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -978,10 +995,21 @@ type CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity str
LegalStructure param.Field[CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
diff --git a/counterparty_test.go b/counterparty_test.go
index a989a86..7a99186 100644
--- a/counterparty_test.go
+++ b/counterparty_test.go
@@ -37,161 +37,11 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }}),
- AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
- ContactDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsContactDetail{{
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }}),
- LedgerAccount: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsLedgerAccount{
- Currency: moderntreasury.F("currency"),
- LedgerID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Name: moderntreasury.F("name"),
- NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
- CurrencyExponent: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
- LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LedgerableType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsLedgerAccountLedgerableTypeCounterparty),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Name: moderntreasury.F("name"),
- PartyAddress: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsPartyAddress{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Line2: moderntreasury.F("line2"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- }),
- PartyIdentifier: moderntreasury.F("party_identifier"),
- PartyName: moderntreasury.F("party_name"),
- PartyType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsPartyTypeBusiness),
- PlaidProcessorToken: moderntreasury.F("plaid_processor_token"),
- RoutingDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsRoutingDetail{{
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }}),
- }, {
- AccountDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsAccountDetail{{
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }}),
- AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
- ContactDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsContactDetail{{
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }}),
- LedgerAccount: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsLedgerAccount{
- Currency: moderntreasury.F("currency"),
- LedgerID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Name: moderntreasury.F("name"),
- NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
- CurrencyExponent: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
- LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- LedgerableType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsLedgerAccountLedgerableTypeCounterparty),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Name: moderntreasury.F("name"),
- PartyAddress: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsPartyAddress{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Line2: moderntreasury.F("line2"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- }),
- PartyIdentifier: moderntreasury.F("party_identifier"),
- PartyName: moderntreasury.F("party_name"),
- PartyType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsPartyTypeBusiness),
- PlaidProcessorToken: moderntreasury.F("plaid_processor_token"),
- RoutingDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsRoutingDetail{{
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }}),
- }, {
- AccountDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsAccountDetail{{
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsAccountDetailsAccountNumberTypeAuNumber),
}}),
AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
ContactDetails: moderntreasury.F([]moderntreasury.CounterpartyNewParamsAccountsContactDetail{{
ContactIdentifier: moderntreasury.F("contact_identifier"),
ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsContactDetailsContactIdentifierTypeEmail),
}}),
LedgerAccount: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsLedgerAccount{
Currency: moderntreasury.F("currency"),
@@ -200,7 +50,7 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -231,14 +81,6 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.CounterpartyNewParamsAccountsRoutingDetailsPaymentTypeACH),
}}),
}}),
Email: moderntreasury.F("dev@stainlessapi.com"),
@@ -251,47 +93,36 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
}}),
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ }),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityAssociations: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociation{{
- RelationshipTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeControlPerson}),
+ RelationshipTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner}),
ChildLegalEntity: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity{
Addresses: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress{{
Country: moderntreasury.F("country"),
@@ -299,111 +130,32 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
}}),
- BusinessName: moderntreasury.F("business_name"),
- DateFormed: moderntreasury.F(time.Now()),
- DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
- Email: moderntreasury.F("email"),
- FirstName: moderntreasury.F("first_name"),
- Identifications: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentification{{
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }}),
- LastName: moderntreasury.F("last_name"),
- LegalEntityType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
- LegalStructure: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalStructureCorporation),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
}),
- PhoneNumbers: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber{{
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
- }),
- ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
- OwnershipPercentage: moderntreasury.F(int64(0)),
- Title: moderntreasury.F("title"),
- }, {
- RelationshipTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeControlPerson}),
- ChildLegalEntity: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity{
- Addresses: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress{{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }}),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
@@ -413,83 +165,36 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
- }),
- ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
- OwnershipPercentage: moderntreasury.F(int64(0)),
- Title: moderntreasury.F("title"),
- }, {
- RelationshipTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsRelationshipTypeControlPerson}),
- ChildLegalEntity: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntity{
- Addresses: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddress{{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }}),
- BusinessName: moderntreasury.F("business_name"),
- DateFormed: moderntreasury.F(time.Now()),
- DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
- Email: moderntreasury.F("email"),
- FirstName: moderntreasury.F("first_name"),
- Identifications: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentification{{
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }}),
- LastName: moderntreasury.F("last_name"),
- LegalEntityType: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
- LegalStructure: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityLegalStructureCorporation),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
}),
- PhoneNumbers: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityPhoneNumber{{
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
+ Website: moderntreasury.F("website"),
}),
ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
OwnershipPercentage: moderntreasury.F(int64(0)),
@@ -501,15 +206,36 @@ func TestCounterpartyNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.CounterpartyNewParamsLegalEntityPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.CounterpartyNewParamsLegalEntityRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
+ }),
+ Website: moderntreasury.F("website"),
}),
LegalEntityID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
Metadata: moderntreasury.F(map[string]string{
@@ -665,7 +391,7 @@ func TestCounterpartyCollectAccountWithOptionalParams(t *testing.T) {
moderntreasury.CounterpartyCollectAccountParams{
Direction: moderntreasury.F(shared.TransactionDirectionCredit),
CustomRedirect: moderntreasury.F("https://example.com"),
- Fields: moderntreasury.F([]moderntreasury.CounterpartyCollectAccountParamsField{moderntreasury.CounterpartyCollectAccountParamsFieldName, moderntreasury.CounterpartyCollectAccountParamsFieldNameOnAccount, moderntreasury.CounterpartyCollectAccountParamsFieldTaxpayerIdentifier}),
+ Fields: moderntreasury.F([]moderntreasury.CounterpartyCollectAccountParamsField{moderntreasury.CounterpartyCollectAccountParamsFieldName}),
SendEmail: moderntreasury.F(true),
},
)
diff --git a/expectedpayment_test.go b/expectedpayment_test.go
index e7b03ec..0c61184 100644
--- a/expectedpayment_test.go
+++ b/expectedpayment_test.go
@@ -59,46 +59,6 @@ func TestExpectedPaymentNewWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
Description: moderntreasury.F("description"),
EffectiveAt: moderntreasury.F(time.Now()),
@@ -123,24 +83,6 @@ func TestExpectedPaymentNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
}}),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
@@ -162,32 +104,6 @@ func TestExpectedPaymentNewWithOptionalParams(t *testing.T) {
DateLowerBound: moderntreasury.F(time.Now()),
DateUpperBound: moderntreasury.F(time.Now()),
Type: moderntreasury.F(moderntreasury.ReconciliationRuleTypeACH),
- }, {
- AmountLowerBound: moderntreasury.F(int64(0)),
- AmountUpperBound: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(moderntreasury.ReconciliationRuleDirectionCredit),
- InternalAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- CounterpartyID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Currency: moderntreasury.F(shared.CurrencyAed),
- CustomIdentifiers: moderntreasury.F(map[string]string{
- "foo": "string",
- }),
- DateLowerBound: moderntreasury.F(time.Now()),
- DateUpperBound: moderntreasury.F(time.Now()),
- Type: moderntreasury.F(moderntreasury.ReconciliationRuleTypeACH),
- }, {
- AmountLowerBound: moderntreasury.F(int64(0)),
- AmountUpperBound: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(moderntreasury.ReconciliationRuleDirectionCredit),
- InternalAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- CounterpartyID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Currency: moderntreasury.F(shared.CurrencyAed),
- CustomIdentifiers: moderntreasury.F(map[string]string{
- "foo": "string",
- }),
- DateLowerBound: moderntreasury.F(time.Now()),
- DateUpperBound: moderntreasury.F(time.Now()),
- Type: moderntreasury.F(moderntreasury.ReconciliationRuleTypeACH),
}}),
RemittanceInformation: moderntreasury.F("remittance_information"),
StatementDescriptor: moderntreasury.F("statement_descriptor"),
@@ -271,32 +187,6 @@ func TestExpectedPaymentUpdateWithOptionalParams(t *testing.T) {
DateLowerBound: moderntreasury.F(time.Now()),
DateUpperBound: moderntreasury.F(time.Now()),
Type: moderntreasury.F(moderntreasury.ReconciliationRuleTypeACH),
- }, {
- AmountLowerBound: moderntreasury.F(int64(0)),
- AmountUpperBound: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(moderntreasury.ReconciliationRuleDirectionCredit),
- InternalAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- CounterpartyID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Currency: moderntreasury.F(shared.CurrencyAed),
- CustomIdentifiers: moderntreasury.F(map[string]string{
- "foo": "string",
- }),
- DateLowerBound: moderntreasury.F(time.Now()),
- DateUpperBound: moderntreasury.F(time.Now()),
- Type: moderntreasury.F(moderntreasury.ReconciliationRuleTypeACH),
- }, {
- AmountLowerBound: moderntreasury.F(int64(0)),
- AmountUpperBound: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(moderntreasury.ReconciliationRuleDirectionCredit),
- InternalAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- CounterpartyID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- Currency: moderntreasury.F(shared.CurrencyAed),
- CustomIdentifiers: moderntreasury.F(map[string]string{
- "foo": "string",
- }),
- DateLowerBound: moderntreasury.F(time.Now()),
- DateUpperBound: moderntreasury.F(time.Now()),
- Type: moderntreasury.F(moderntreasury.ReconciliationRuleTypeACH),
}}),
RemittanceInformation: moderntreasury.F("remittance_information"),
StatementDescriptor: moderntreasury.F("statement_descriptor"),
diff --git a/externalaccount_test.go b/externalaccount_test.go
index 4bf3115..29269a9 100644
--- a/externalaccount_test.go
+++ b/externalaccount_test.go
@@ -32,23 +32,11 @@ func TestExternalAccountNewWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.ExternalAccountNewParamsAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsAccountDetailsAccountNumberTypeAuNumber),
}}),
AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
ContactDetails: moderntreasury.F([]moderntreasury.ExternalAccountNewParamsContactDetail{{
ContactIdentifier: moderntreasury.F("contact_identifier"),
ContactIdentifierType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsContactDetailsContactIdentifierTypeEmail),
}}),
LedgerAccount: moderntreasury.F(moderntreasury.ExternalAccountNewParamsLedgerAccount{
Currency: moderntreasury.F("currency"),
@@ -57,7 +45,7 @@ func TestExternalAccountNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -88,14 +76,6 @@ func TestExternalAccountNewWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.ExternalAccountNewParamsRoutingDetailsPaymentTypeACH),
}}),
})
if err != nil {
diff --git a/internal/version.go b/internal/version.go
index e3ef5d1..c89fed7 100644
--- a/internal/version.go
+++ b/internal/version.go
@@ -2,4 +2,4 @@
package internal
-const PackageVersion = "2.20.3" // x-release-please-version
+const PackageVersion = "2.20.4" // x-release-please-version
diff --git a/internalaccountbalancereport.go b/internalaccountbalancereport.go
index c987f21..f76587c 100644
--- a/internalaccountbalancereport.go
+++ b/internalaccountbalancereport.go
@@ -179,6 +179,10 @@ type BalanceReportBalance struct {
ID string `json:"id,required" format:"uuid"`
// The balance amount.
Amount int64 `json:"amount,required"`
+ // The date on which the balance became true for the account.
+ AsOfDate time.Time `json:"as_of_date,required,nullable" format:"date"`
+ // The time on which the balance became true for the account.
+ AsOfTime string `json:"as_of_time,required,nullable" format:"time"`
// The specific type of balance reported. One of `opening_ledger`,
// `closing_ledger`, `current_ledger`, `opening_available`,
// `opening_available_next_business_day`, `closing_available`, `current_available`,
@@ -192,6 +196,8 @@ type BalanceReportBalance struct {
LiveMode bool `json:"live_mode,required"`
Object string `json:"object,required"`
UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ // The date on which the balance becomes available.
+ ValueDate time.Time `json:"value_date,required,nullable" format:"date"`
// The code used by the bank when reporting this specific balance.
VendorCode string `json:"vendor_code,required"`
// The type of `vendor_code` being reported. Can be one of `bai2`, `bankprov`,
@@ -207,12 +213,15 @@ type BalanceReportBalance struct {
type balanceReportBalanceJSON struct {
ID apijson.Field
Amount apijson.Field
+ AsOfDate apijson.Field
+ AsOfTime apijson.Field
BalanceType apijson.Field
CreatedAt apijson.Field
Currency apijson.Field
LiveMode apijson.Field
Object apijson.Field
UpdatedAt apijson.Field
+ ValueDate apijson.Field
VendorCode apijson.Field
VendorCodeType apijson.Field
raw string
diff --git a/internalaccountbalancereport_test.go b/internalaccountbalancereport_test.go
index 8ccafec..9993904 100644
--- a/internalaccountbalancereport_test.go
+++ b/internalaccountbalancereport_test.go
@@ -39,16 +39,6 @@ func TestInternalAccountBalanceReportNew(t *testing.T) {
BalanceType: moderntreasury.F(moderntreasury.BalanceReportNewParamsBalancesBalanceTypeClosingAvailable),
VendorCode: moderntreasury.F("vendor_code"),
VendorCodeType: moderntreasury.F("vendor_code_type"),
- }, {
- Amount: moderntreasury.F(int64(0)),
- BalanceType: moderntreasury.F(moderntreasury.BalanceReportNewParamsBalancesBalanceTypeClosingAvailable),
- VendorCode: moderntreasury.F("vendor_code"),
- VendorCodeType: moderntreasury.F("vendor_code_type"),
- }, {
- Amount: moderntreasury.F(int64(0)),
- BalanceType: moderntreasury.F(moderntreasury.BalanceReportNewParamsBalancesBalanceTypeClosingAvailable),
- VendorCode: moderntreasury.F("vendor_code"),
- VendorCodeType: moderntreasury.F("vendor_code_type"),
}}),
},
)
diff --git a/invoice_test.go b/invoice_test.go
index 335975e..c506114 100644
--- a/invoice_test.go
+++ b/invoice_test.go
@@ -42,24 +42,6 @@ func TestInvoiceNewWithOptionalParams(t *testing.T) {
LiveMode: moderntreasury.F(true),
Object: moderntreasury.F("object"),
UpdatedAt: moderntreasury.F(time.Now()),
- }, {
- ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.InvoiceNewParamsContactDetailsContactIdentifierTypeEmail),
- CreatedAt: moderntreasury.F(time.Now()),
- DiscardedAt: moderntreasury.F(time.Now()),
- LiveMode: moderntreasury.F(true),
- Object: moderntreasury.F("object"),
- UpdatedAt: moderntreasury.F(time.Now()),
- }, {
- ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.InvoiceNewParamsContactDetailsContactIdentifierTypeEmail),
- CreatedAt: moderntreasury.F(time.Now()),
- DiscardedAt: moderntreasury.F(time.Now()),
- LiveMode: moderntreasury.F(true),
- Object: moderntreasury.F("object"),
- UpdatedAt: moderntreasury.F(time.Now()),
}}),
CounterpartyBillingAddress: moderntreasury.F(moderntreasury.InvoiceNewParamsCounterpartyBillingAddress{
Country: moderntreasury.F("country"),
@@ -93,30 +75,6 @@ func TestInvoiceNewWithOptionalParams(t *testing.T) {
}),
Quantity: moderntreasury.F(int64(0)),
UnitAmountDecimal: moderntreasury.F("unit_amount_decimal"),
- }, {
- Name: moderntreasury.F("name"),
- UnitAmount: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- Direction: moderntreasury.F("direction"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Quantity: moderntreasury.F(int64(0)),
- UnitAmountDecimal: moderntreasury.F("unit_amount_decimal"),
- }, {
- Name: moderntreasury.F("name"),
- UnitAmount: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- Direction: moderntreasury.F("direction"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Quantity: moderntreasury.F(int64(0)),
- UnitAmountDecimal: moderntreasury.F("unit_amount_decimal"),
}}),
InvoicerAddress: moderntreasury.F(moderntreasury.InvoiceNewParamsInvoicerAddress{
Country: moderntreasury.F("country"),
@@ -132,7 +90,7 @@ func TestInvoiceNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- NotificationEmailAddresses: moderntreasury.F([]string{"string", "string", "string"}),
+ NotificationEmailAddresses: moderntreasury.F([]string{"string"}),
NotificationsEnabled: moderntreasury.F(true),
PaymentEffectiveDate: moderntreasury.F(time.Now()),
PaymentMethod: moderntreasury.F(moderntreasury.InvoiceNewParamsPaymentMethodUi),
@@ -140,7 +98,7 @@ func TestInvoiceNewWithOptionalParams(t *testing.T) {
ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
RecipientEmail: moderntreasury.F("recipient_email"),
RecipientName: moderntreasury.F("recipient_name"),
- RemindAfterOverdueDays: moderntreasury.F([]int64{int64(0), int64(0), int64(0)}),
+ RemindAfterOverdueDays: moderntreasury.F([]int64{int64(0)}),
VirtualAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
})
if err != nil {
@@ -201,24 +159,6 @@ func TestInvoiceUpdateWithOptionalParams(t *testing.T) {
LiveMode: moderntreasury.F(true),
Object: moderntreasury.F("object"),
UpdatedAt: moderntreasury.F(time.Now()),
- }, {
- ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.InvoiceUpdateParamsContactDetailsContactIdentifierTypeEmail),
- CreatedAt: moderntreasury.F(time.Now()),
- DiscardedAt: moderntreasury.F(time.Now()),
- LiveMode: moderntreasury.F(true),
- Object: moderntreasury.F("object"),
- UpdatedAt: moderntreasury.F(time.Now()),
- }, {
- ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.InvoiceUpdateParamsContactDetailsContactIdentifierTypeEmail),
- CreatedAt: moderntreasury.F(time.Now()),
- DiscardedAt: moderntreasury.F(time.Now()),
- LiveMode: moderntreasury.F(true),
- Object: moderntreasury.F("object"),
- UpdatedAt: moderntreasury.F(time.Now()),
}}),
CounterpartyBillingAddress: moderntreasury.F(moderntreasury.InvoiceUpdateParamsCounterpartyBillingAddress{
Country: moderntreasury.F("country"),
@@ -254,30 +194,6 @@ func TestInvoiceUpdateWithOptionalParams(t *testing.T) {
}),
Quantity: moderntreasury.F(int64(0)),
UnitAmountDecimal: moderntreasury.F("unit_amount_decimal"),
- }, {
- Name: moderntreasury.F("name"),
- UnitAmount: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- Direction: moderntreasury.F("direction"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Quantity: moderntreasury.F(int64(0)),
- UnitAmountDecimal: moderntreasury.F("unit_amount_decimal"),
- }, {
- Name: moderntreasury.F("name"),
- UnitAmount: moderntreasury.F(int64(0)),
- Description: moderntreasury.F("description"),
- Direction: moderntreasury.F("direction"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- Quantity: moderntreasury.F(int64(0)),
- UnitAmountDecimal: moderntreasury.F("unit_amount_decimal"),
}}),
InvoicerAddress: moderntreasury.F(moderntreasury.InvoiceUpdateParamsInvoicerAddress{
Country: moderntreasury.F("country"),
@@ -293,7 +209,7 @@ func TestInvoiceUpdateWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- NotificationEmailAddresses: moderntreasury.F([]string{"string", "string", "string"}),
+ NotificationEmailAddresses: moderntreasury.F([]string{"string"}),
NotificationsEnabled: moderntreasury.F(true),
OriginatingAccountID: moderntreasury.F("originating_account_id"),
PaymentEffectiveDate: moderntreasury.F(time.Now()),
@@ -302,7 +218,7 @@ func TestInvoiceUpdateWithOptionalParams(t *testing.T) {
ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
RecipientEmail: moderntreasury.F("recipient_email"),
RecipientName: moderntreasury.F("recipient_name"),
- RemindAfterOverdueDays: moderntreasury.F([]int64{int64(0), int64(0), int64(0)}),
+ RemindAfterOverdueDays: moderntreasury.F([]int64{int64(0)}),
Status: moderntreasury.F("status"),
VirtualAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
},
diff --git a/ledger_test.go b/ledger_test.go
index b50aa6a..e4df808 100644
--- a/ledger_test.go
+++ b/ledger_test.go
@@ -117,7 +117,7 @@ func TestLedgerListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.Ledgers.List(context.TODO(), moderntreasury.LedgerListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
Metadata: moderntreasury.F(map[string]string{
"foo": "string",
diff --git a/ledgeraccount_test.go b/ledgeraccount_test.go
index 53bb76e..fe33c5b 100644
--- a/ledgeraccount_test.go
+++ b/ledgeraccount_test.go
@@ -35,7 +35,7 @@ func TestLedgerAccountNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.LedgerAccountNewParamsLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -137,7 +137,7 @@ func TestLedgerAccountListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.LedgerAccounts.List(context.TODO(), moderntreasury.LedgerAccountListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
AvailableBalanceAmount: moderntreasury.F(moderntreasury.LedgerAccountListParamsAvailableBalanceAmount{
Eq: moderntreasury.F(int64(0)),
@@ -162,7 +162,7 @@ func TestLedgerAccountListWithOptionalParams(t *testing.T) {
Metadata: moderntreasury.F(map[string]string{
"foo": "string",
}),
- Name: moderntreasury.F([]string{"string", "string", "string"}),
+ Name: moderntreasury.F([]string{"string"}),
PendingBalanceAmount: moderntreasury.F(moderntreasury.LedgerAccountListParamsPendingBalanceAmount{
Eq: moderntreasury.F(int64(0)),
Gt: moderntreasury.F(int64(0)),
diff --git a/ledgeraccountbalancemonitor_test.go b/ledgeraccountbalancemonitor_test.go
index 1a0386d..8246cc4 100644
--- a/ledgeraccountbalancemonitor_test.go
+++ b/ledgeraccountbalancemonitor_test.go
@@ -120,7 +120,7 @@ func TestLedgerAccountBalanceMonitorListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.LedgerAccountBalanceMonitors.List(context.TODO(), moderntreasury.LedgerAccountBalanceMonitorListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
LedgerAccountID: moderntreasury.F("ledger_account_id"),
Metadata: moderntreasury.F(map[string]string{
diff --git a/ledgeraccountcategory_test.go b/ledgeraccountcategory_test.go
index 13a7bf8..41108b3 100644
--- a/ledgeraccountcategory_test.go
+++ b/ledgeraccountcategory_test.go
@@ -35,7 +35,7 @@ func TestLedgerAccountCategoryNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
"foo": "bar",
@@ -132,7 +132,7 @@ func TestLedgerAccountCategoryListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.LedgerAccountCategories.List(context.TODO(), moderntreasury.LedgerAccountCategoryListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
Balances: moderntreasury.F(moderntreasury.LedgerAccountCategoryListParamsBalances{
EffectiveAt: moderntreasury.F(time.Now()),
diff --git a/ledgeraccountsettlement.go b/ledgeraccountsettlement.go
index 717a931..b3308a0 100644
--- a/ledgeraccountsettlement.go
+++ b/ledgeraccountsettlement.go
@@ -172,6 +172,7 @@ type LedgerAccountSettlementStatus string
const (
LedgerAccountSettlementStatusArchived LedgerAccountSettlementStatus = "archived"
LedgerAccountSettlementStatusArchiving LedgerAccountSettlementStatus = "archiving"
+ LedgerAccountSettlementStatusDrafting LedgerAccountSettlementStatus = "drafting"
LedgerAccountSettlementStatusPending LedgerAccountSettlementStatus = "pending"
LedgerAccountSettlementStatusPosted LedgerAccountSettlementStatus = "posted"
LedgerAccountSettlementStatusProcessing LedgerAccountSettlementStatus = "processing"
@@ -179,7 +180,7 @@ const (
func (r LedgerAccountSettlementStatus) IsKnown() bool {
switch r {
- case LedgerAccountSettlementStatusArchived, LedgerAccountSettlementStatusArchiving, LedgerAccountSettlementStatusPending, LedgerAccountSettlementStatusPosted, LedgerAccountSettlementStatusProcessing:
+ case LedgerAccountSettlementStatusArchived, LedgerAccountSettlementStatusArchiving, LedgerAccountSettlementStatusDrafting, LedgerAccountSettlementStatusPending, LedgerAccountSettlementStatusPosted, LedgerAccountSettlementStatusProcessing:
return true
}
return false
diff --git a/ledgeraccountsettlement_test.go b/ledgeraccountsettlement_test.go
index a8d9f66..f5e8dab 100644
--- a/ledgeraccountsettlement_test.go
+++ b/ledgeraccountsettlement_test.go
@@ -122,7 +122,7 @@ func TestLedgerAccountSettlementListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.LedgerAccountSettlements.List(context.TODO(), moderntreasury.LedgerAccountSettlementListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
CreatedAt: moderntreasury.F(map[string]time.Time{
"foo": time.Now(),
diff --git a/ledgerentry_test.go b/ledgerentry_test.go
index 67f25a9..8ba4abe 100644
--- a/ledgerentry_test.go
+++ b/ledgerentry_test.go
@@ -91,7 +91,7 @@ func TestLedgerEntryListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.LedgerEntries.List(context.TODO(), moderntreasury.LedgerEntryListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
AsOfLockVersion: moderntreasury.F(int64(0)),
Direction: moderntreasury.F(shared.TransactionDirectionCredit),
diff --git a/ledgereventhandler_test.go b/ledgereventhandler_test.go
index f628cea..b53981c 100644
--- a/ledgereventhandler_test.go
+++ b/ledgereventhandler_test.go
@@ -35,14 +35,6 @@ func TestLedgerEventHandlerNewWithOptionalParams(t *testing.T) {
Amount: moderntreasury.F("amount"),
Direction: moderntreasury.F("direction"),
LedgerAccountID: moderntreasury.F("ledger_account_id"),
- }, {
- Amount: moderntreasury.F("amount"),
- Direction: moderntreasury.F("direction"),
- LedgerAccountID: moderntreasury.F("ledger_account_id"),
- }, {
- Amount: moderntreasury.F("amount"),
- Direction: moderntreasury.F("direction"),
- LedgerAccountID: moderntreasury.F("ledger_account_id"),
}}),
Status: moderntreasury.F("posted"),
}),
diff --git a/ledgertransaction_test.go b/ledgertransaction_test.go
index 6d4c9c7..ee0f743 100644
--- a/ledgertransaction_test.go
+++ b/ledgertransaction_test.go
@@ -49,46 +49,6 @@ func TestLedgerTransactionNewWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
Description: moderntreasury.F("description"),
EffectiveAt: moderntreasury.F(time.Now()),
@@ -174,46 +134,6 @@ func TestLedgerTransactionUpdateWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.LedgerTransactionUpdateParamsLedgerableTypeExpectedPayment),
@@ -248,7 +168,7 @@ func TestLedgerTransactionListWithOptionalParams(t *testing.T) {
option.WithOrganizationID("my-organization-ID"),
)
_, err := client.LedgerTransactions.List(context.TODO(), moderntreasury.LedgerTransactionListParams{
- ID: moderntreasury.F([]string{"string", "string", "string"}),
+ ID: moderntreasury.F([]string{"string"}),
AfterCursor: moderntreasury.F("after_cursor"),
EffectiveAt: moderntreasury.F(map[string]time.Time{
"foo": time.Now(),
diff --git a/legalentity.go b/legalentity.go
index a75093f..ff25334 100644
--- a/legalentity.go
+++ b/legalentity.go
@@ -92,13 +92,91 @@ func (r *LegalEntityService) ListAutoPaging(ctx context.Context, query LegalEnti
return pagination.NewPageAutoPager(r.List(ctx, query, opts...))
}
+type BankSettings struct {
+ ID string `json:"id,required" format:"uuid"`
+ // The percentage of backup withholding to apply to the legal entity.
+ BackupWithholdingPercentage int64 `json:"backup_withholding_percentage,required,nullable"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ DiscardedAt time.Time `json:"discarded_at,required,nullable" format:"date-time"`
+ // Whether backup withholding is enabled. See more here -
+ // https://www.irs.gov/businesses/small-businesses-self-employed/backup-withholding.
+ EnableBackupWithholding bool `json:"enable_backup_withholding,required,nullable"`
+ // This field will be true if this object exists in the live environment or false
+ // if it exists in the test environment.
+ LiveMode bool `json:"live_mode,required"`
+ Object string `json:"object,required"`
+ // Cross River Bank specific setting to opt out of privacy policy.
+ PrivacyOptOut bool `json:"privacy_opt_out,required,nullable"`
+ // It covers, among other types of insider loans, extensions of credit by a member
+ // bank to an executive officer, director, or principal shareholder of the member
+ // bank; a bank holding company of which the member bank is a subsidiary; and any
+ // other subsidiary of that bank holding company.
+ RegulationO bool `json:"regulation_o,required,nullable"`
+ UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ JSON bankSettingsJSON `json:"-"`
+}
+
+// bankSettingsJSON contains the JSON metadata for the struct [BankSettings]
+type bankSettingsJSON struct {
+ ID apijson.Field
+ BackupWithholdingPercentage apijson.Field
+ CreatedAt apijson.Field
+ DiscardedAt apijson.Field
+ EnableBackupWithholding apijson.Field
+ LiveMode apijson.Field
+ Object apijson.Field
+ PrivacyOptOut apijson.Field
+ RegulationO apijson.Field
+ UpdatedAt apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *BankSettings) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r bankSettingsJSON) RawJSON() string {
+ return r.raw
+}
+
+type BankSettingsParam struct {
+ ID param.Field[string] `json:"id,required" format:"uuid"`
+ // The percentage of backup withholding to apply to the legal entity.
+ BackupWithholdingPercentage param.Field[int64] `json:"backup_withholding_percentage,required"`
+ CreatedAt param.Field[time.Time] `json:"created_at,required" format:"date-time"`
+ DiscardedAt param.Field[time.Time] `json:"discarded_at,required" format:"date-time"`
+ // Whether backup withholding is enabled. See more here -
+ // https://www.irs.gov/businesses/small-businesses-self-employed/backup-withholding.
+ EnableBackupWithholding param.Field[bool] `json:"enable_backup_withholding,required"`
+ // This field will be true if this object exists in the live environment or false
+ // if it exists in the test environment.
+ LiveMode param.Field[bool] `json:"live_mode,required"`
+ Object param.Field[string] `json:"object,required"`
+ // Cross River Bank specific setting to opt out of privacy policy.
+ PrivacyOptOut param.Field[bool] `json:"privacy_opt_out,required"`
+ // It covers, among other types of insider loans, extensions of credit by a member
+ // bank to an executive officer, director, or principal shareholder of the member
+ // bank; a bank holding company of which the member bank is a subsidiary; and any
+ // other subsidiary of that bank holding company.
+ RegulationO param.Field[bool] `json:"regulation_o,required"`
+ UpdatedAt param.Field[time.Time] `json:"updated_at,required" format:"date-time"`
+}
+
+func (r BankSettingsParam) MarshalJSON() (data []byte, err error) {
+ return apijson.MarshalRoot(r)
+}
+
type LegalEntity struct {
ID string `json:"id,required" format:"uuid"`
// A list of addresses for the entity.
- Addresses []LegalEntityAddress `json:"addresses,required"`
+ Addresses []LegalEntityAddress `json:"addresses,required"`
+ BankSettings BankSettings `json:"bank_settings,required,nullable"`
// The business's legal business name.
- BusinessName string `json:"business_name,required,nullable"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ BusinessName string `json:"business_name,required,nullable"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry string `json:"citizenship_country,required,nullable"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
// A business's formation date (YYYY-MM-DD).
DateFormed time.Time `json:"date_formed,required,nullable" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -124,12 +202,23 @@ type LegalEntity struct {
LiveMode bool `json:"live_mode,required"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata map[string]string `json:"metadata,required"`
+ Metadata map[string]string `json:"metadata,required"`
+ // An individual's middle name.
+ MiddleName string `json:"middle_name,required,nullable"`
Object string `json:"object,required"`
PhoneNumbers []LegalEntityPhoneNumber `json:"phone_numbers,required"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson bool `json:"politically_exposed_person,required,nullable"`
+ // An individual's preferred name.
+ PreferredName string `json:"preferred_name,required,nullable"`
+ // An individual's prefix.
+ Prefix string `json:"prefix,required,nullable"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating LegalEntityRiskRating `json:"risk_rating,required,nullable"`
- UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ // An individual's suffix.
+ Suffix string `json:"suffix,required,nullable"`
+ UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ WealthAndEmploymentDetails WealthAndEmploymentDetails `json:"wealth_and_employment_details,required,nullable"`
// The entity's primary website URL.
Website string `json:"website,required,nullable"`
JSON legalEntityJSON `json:"-"`
@@ -137,30 +226,38 @@ type LegalEntity struct {
// legalEntityJSON contains the JSON metadata for the struct [LegalEntity]
type legalEntityJSON struct {
- ID apijson.Field
- Addresses apijson.Field
- BusinessName apijson.Field
- CreatedAt apijson.Field
- DateFormed apijson.Field
- DateOfBirth apijson.Field
- DiscardedAt apijson.Field
- DoingBusinessAsNames apijson.Field
- Email apijson.Field
- FirstName apijson.Field
- Identifications apijson.Field
- LastName apijson.Field
- LegalEntityAssociations apijson.Field
- LegalEntityType apijson.Field
- LegalStructure apijson.Field
- LiveMode apijson.Field
- Metadata apijson.Field
- Object apijson.Field
- PhoneNumbers apijson.Field
- RiskRating apijson.Field
- UpdatedAt apijson.Field
- Website apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
+ ID apijson.Field
+ Addresses apijson.Field
+ BankSettings apijson.Field
+ BusinessName apijson.Field
+ CitizenshipCountry apijson.Field
+ CreatedAt apijson.Field
+ DateFormed apijson.Field
+ DateOfBirth apijson.Field
+ DiscardedAt apijson.Field
+ DoingBusinessAsNames apijson.Field
+ Email apijson.Field
+ FirstName apijson.Field
+ Identifications apijson.Field
+ LastName apijson.Field
+ LegalEntityAssociations apijson.Field
+ LegalEntityType apijson.Field
+ LegalStructure apijson.Field
+ LiveMode apijson.Field
+ Metadata apijson.Field
+ MiddleName apijson.Field
+ Object apijson.Field
+ PhoneNumbers apijson.Field
+ PoliticallyExposedPerson apijson.Field
+ PreferredName apijson.Field
+ Prefix apijson.Field
+ RiskRating apijson.Field
+ Suffix apijson.Field
+ UpdatedAt apijson.Field
+ WealthAndEmploymentDetails apijson.Field
+ Website apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
}
func (r *LegalEntity) UnmarshalJSON(data []byte) (err error) {
@@ -392,13 +489,293 @@ func (r LegalEntityRiskRating) IsKnown() bool {
return false
}
+type WealthAndEmploymentDetails struct {
+ ID string `json:"id,required" format:"uuid"`
+ // The annual income of the individual.
+ AnnualIncome int64 `json:"annual_income,required,nullable"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ DiscardedAt time.Time `json:"discarded_at,required,nullable" format:"date-time"`
+ // The country in which the employer is located.
+ EmployerCountry string `json:"employer_country,required,nullable"`
+ // The name of the employer.
+ EmployerName string `json:"employer_name,required,nullable"`
+ // The state in which the employer is located.
+ EmployerState string `json:"employer_state,required,nullable"`
+ // The employment status of the individual.
+ EmploymentStatus WealthAndEmploymentDetailsEmploymentStatus `json:"employment_status,required,nullable"`
+ // The country in which the individual's income is earned.
+ IncomeCountry string `json:"income_country,required,nullable"`
+ // The source of the individual's income.
+ IncomeSource WealthAndEmploymentDetailsIncomeSource `json:"income_source,required,nullable"`
+ // The state in which the individual's income is earned.
+ IncomeState string `json:"income_state,required,nullable"`
+ // The industry of the individual.
+ Industry WealthAndEmploymentDetailsIndustry `json:"industry,required,nullable"`
+ // This field will be true if this object exists in the live environment or false
+ // if it exists in the test environment.
+ LiveMode bool `json:"live_mode,required"`
+ Object string `json:"object,required"`
+ // The occupation of the individual.
+ Occupation WealthAndEmploymentDetailsOccupation `json:"occupation,required,nullable"`
+ // The source of the individual's funds.
+ SourceOfFunds WealthAndEmploymentDetailsSourceOfFunds `json:"source_of_funds,required,nullable"`
+ UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ // The source of the individual's wealth.
+ WealthSource WealthAndEmploymentDetailsWealthSource `json:"wealth_source,required,nullable"`
+ JSON wealthAndEmploymentDetailsJSON `json:"-"`
+}
+
+// wealthAndEmploymentDetailsJSON contains the JSON metadata for the struct
+// [WealthAndEmploymentDetails]
+type wealthAndEmploymentDetailsJSON struct {
+ ID apijson.Field
+ AnnualIncome apijson.Field
+ CreatedAt apijson.Field
+ DiscardedAt apijson.Field
+ EmployerCountry apijson.Field
+ EmployerName apijson.Field
+ EmployerState apijson.Field
+ EmploymentStatus apijson.Field
+ IncomeCountry apijson.Field
+ IncomeSource apijson.Field
+ IncomeState apijson.Field
+ Industry apijson.Field
+ LiveMode apijson.Field
+ Object apijson.Field
+ Occupation apijson.Field
+ SourceOfFunds apijson.Field
+ UpdatedAt apijson.Field
+ WealthSource apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
+}
+
+func (r *WealthAndEmploymentDetails) UnmarshalJSON(data []byte) (err error) {
+ return apijson.UnmarshalRoot(data, r)
+}
+
+func (r wealthAndEmploymentDetailsJSON) RawJSON() string {
+ return r.raw
+}
+
+// The employment status of the individual.
+type WealthAndEmploymentDetailsEmploymentStatus string
+
+const (
+ WealthAndEmploymentDetailsEmploymentStatusEmployed WealthAndEmploymentDetailsEmploymentStatus = "employed"
+ WealthAndEmploymentDetailsEmploymentStatusRetired WealthAndEmploymentDetailsEmploymentStatus = "retired"
+ WealthAndEmploymentDetailsEmploymentStatusSelfEmployed WealthAndEmploymentDetailsEmploymentStatus = "self_employed"
+ WealthAndEmploymentDetailsEmploymentStatusStudent WealthAndEmploymentDetailsEmploymentStatus = "student"
+ WealthAndEmploymentDetailsEmploymentStatusUnemployed WealthAndEmploymentDetailsEmploymentStatus = "unemployed"
+)
+
+func (r WealthAndEmploymentDetailsEmploymentStatus) IsKnown() bool {
+ switch r {
+ case WealthAndEmploymentDetailsEmploymentStatusEmployed, WealthAndEmploymentDetailsEmploymentStatusRetired, WealthAndEmploymentDetailsEmploymentStatusSelfEmployed, WealthAndEmploymentDetailsEmploymentStatusStudent, WealthAndEmploymentDetailsEmploymentStatusUnemployed:
+ return true
+ }
+ return false
+}
+
+// The source of the individual's income.
+type WealthAndEmploymentDetailsIncomeSource string
+
+const (
+ WealthAndEmploymentDetailsIncomeSourceFamilySupport WealthAndEmploymentDetailsIncomeSource = "family_support"
+ WealthAndEmploymentDetailsIncomeSourceGovernmentBenefits WealthAndEmploymentDetailsIncomeSource = "government_benefits"
+ WealthAndEmploymentDetailsIncomeSourceInheritance WealthAndEmploymentDetailsIncomeSource = "inheritance"
+ WealthAndEmploymentDetailsIncomeSourceInvestments WealthAndEmploymentDetailsIncomeSource = "investments"
+ WealthAndEmploymentDetailsIncomeSourceRentalIncome WealthAndEmploymentDetailsIncomeSource = "rental_income"
+ WealthAndEmploymentDetailsIncomeSourceRetirement WealthAndEmploymentDetailsIncomeSource = "retirement"
+ WealthAndEmploymentDetailsIncomeSourceSalary WealthAndEmploymentDetailsIncomeSource = "salary"
+ WealthAndEmploymentDetailsIncomeSourceSelfEmployed WealthAndEmploymentDetailsIncomeSource = "self_employed"
+)
+
+func (r WealthAndEmploymentDetailsIncomeSource) IsKnown() bool {
+ switch r {
+ case WealthAndEmploymentDetailsIncomeSourceFamilySupport, WealthAndEmploymentDetailsIncomeSourceGovernmentBenefits, WealthAndEmploymentDetailsIncomeSourceInheritance, WealthAndEmploymentDetailsIncomeSourceInvestments, WealthAndEmploymentDetailsIncomeSourceRentalIncome, WealthAndEmploymentDetailsIncomeSourceRetirement, WealthAndEmploymentDetailsIncomeSourceSalary, WealthAndEmploymentDetailsIncomeSourceSelfEmployed:
+ return true
+ }
+ return false
+}
+
+// The industry of the individual.
+type WealthAndEmploymentDetailsIndustry string
+
+const (
+ WealthAndEmploymentDetailsIndustryAccounting WealthAndEmploymentDetailsIndustry = "accounting"
+ WealthAndEmploymentDetailsIndustryAgriculture WealthAndEmploymentDetailsIndustry = "agriculture"
+ WealthAndEmploymentDetailsIndustryAutomotive WealthAndEmploymentDetailsIndustry = "automotive"
+ WealthAndEmploymentDetailsIndustryChemicalManufacturing WealthAndEmploymentDetailsIndustry = "chemical_manufacturing"
+ WealthAndEmploymentDetailsIndustryConstruction WealthAndEmploymentDetailsIndustry = "construction"
+ WealthAndEmploymentDetailsIndustryEducationalMedical WealthAndEmploymentDetailsIndustry = "educational_medical"
+ WealthAndEmploymentDetailsIndustryFoodService WealthAndEmploymentDetailsIndustry = "food_service"
+ WealthAndEmploymentDetailsIndustryFinance WealthAndEmploymentDetailsIndustry = "finance"
+ WealthAndEmploymentDetailsIndustryGasoline WealthAndEmploymentDetailsIndustry = "gasoline"
+ WealthAndEmploymentDetailsIndustryHealthStores WealthAndEmploymentDetailsIndustry = "health_stores"
+ WealthAndEmploymentDetailsIndustryLaundry WealthAndEmploymentDetailsIndustry = "laundry"
+ WealthAndEmploymentDetailsIndustryMaintenance WealthAndEmploymentDetailsIndustry = "maintenance"
+ WealthAndEmploymentDetailsIndustryManufacturing WealthAndEmploymentDetailsIndustry = "manufacturing"
+ WealthAndEmploymentDetailsIndustryMerchantWholesale WealthAndEmploymentDetailsIndustry = "merchant_wholesale"
+ WealthAndEmploymentDetailsIndustryMining WealthAndEmploymentDetailsIndustry = "mining"
+ WealthAndEmploymentDetailsIndustryPerformingArts WealthAndEmploymentDetailsIndustry = "performing_arts"
+ WealthAndEmploymentDetailsIndustryProfessionalNonLegal WealthAndEmploymentDetailsIndustry = "professional_non_legal"
+ WealthAndEmploymentDetailsIndustryPublicAdministration WealthAndEmploymentDetailsIndustry = "public_administration"
+ WealthAndEmploymentDetailsIndustryPublishing WealthAndEmploymentDetailsIndustry = "publishing"
+ WealthAndEmploymentDetailsIndustryRealEstate WealthAndEmploymentDetailsIndustry = "real_estate"
+ WealthAndEmploymentDetailsIndustryRecreationGambling WealthAndEmploymentDetailsIndustry = "recreation_gambling"
+ WealthAndEmploymentDetailsIndustryReligiousCharity WealthAndEmploymentDetailsIndustry = "religious_charity"
+ WealthAndEmploymentDetailsIndustryRentalServices WealthAndEmploymentDetailsIndustry = "rental_services"
+ WealthAndEmploymentDetailsIndustryRetailClothing WealthAndEmploymentDetailsIndustry = "retail_clothing"
+ WealthAndEmploymentDetailsIndustryRetailElectronics WealthAndEmploymentDetailsIndustry = "retail_electronics"
+ WealthAndEmploymentDetailsIndustryRetailFood WealthAndEmploymentDetailsIndustry = "retail_food"
+ WealthAndEmploymentDetailsIndustryRetailFurnishing WealthAndEmploymentDetailsIndustry = "retail_furnishing"
+ WealthAndEmploymentDetailsIndustryRetailHome WealthAndEmploymentDetailsIndustry = "retail_home"
+ WealthAndEmploymentDetailsIndustryRetailNonStore WealthAndEmploymentDetailsIndustry = "retail_non_store"
+ WealthAndEmploymentDetailsIndustryRetailSporting WealthAndEmploymentDetailsIndustry = "retail_sporting"
+ WealthAndEmploymentDetailsIndustryTransportation WealthAndEmploymentDetailsIndustry = "transportation"
+ WealthAndEmploymentDetailsIndustryTravel WealthAndEmploymentDetailsIndustry = "travel"
+ WealthAndEmploymentDetailsIndustryUtilities WealthAndEmploymentDetailsIndustry = "utilities"
+)
+
+func (r WealthAndEmploymentDetailsIndustry) IsKnown() bool {
+ switch r {
+ case WealthAndEmploymentDetailsIndustryAccounting, WealthAndEmploymentDetailsIndustryAgriculture, WealthAndEmploymentDetailsIndustryAutomotive, WealthAndEmploymentDetailsIndustryChemicalManufacturing, WealthAndEmploymentDetailsIndustryConstruction, WealthAndEmploymentDetailsIndustryEducationalMedical, WealthAndEmploymentDetailsIndustryFoodService, WealthAndEmploymentDetailsIndustryFinance, WealthAndEmploymentDetailsIndustryGasoline, WealthAndEmploymentDetailsIndustryHealthStores, WealthAndEmploymentDetailsIndustryLaundry, WealthAndEmploymentDetailsIndustryMaintenance, WealthAndEmploymentDetailsIndustryManufacturing, WealthAndEmploymentDetailsIndustryMerchantWholesale, WealthAndEmploymentDetailsIndustryMining, WealthAndEmploymentDetailsIndustryPerformingArts, WealthAndEmploymentDetailsIndustryProfessionalNonLegal, WealthAndEmploymentDetailsIndustryPublicAdministration, WealthAndEmploymentDetailsIndustryPublishing, WealthAndEmploymentDetailsIndustryRealEstate, WealthAndEmploymentDetailsIndustryRecreationGambling, WealthAndEmploymentDetailsIndustryReligiousCharity, WealthAndEmploymentDetailsIndustryRentalServices, WealthAndEmploymentDetailsIndustryRetailClothing, WealthAndEmploymentDetailsIndustryRetailElectronics, WealthAndEmploymentDetailsIndustryRetailFood, WealthAndEmploymentDetailsIndustryRetailFurnishing, WealthAndEmploymentDetailsIndustryRetailHome, WealthAndEmploymentDetailsIndustryRetailNonStore, WealthAndEmploymentDetailsIndustryRetailSporting, WealthAndEmploymentDetailsIndustryTransportation, WealthAndEmploymentDetailsIndustryTravel, WealthAndEmploymentDetailsIndustryUtilities:
+ return true
+ }
+ return false
+}
+
+// The occupation of the individual.
+type WealthAndEmploymentDetailsOccupation string
+
+const (
+ WealthAndEmploymentDetailsOccupationConsulting WealthAndEmploymentDetailsOccupation = "consulting"
+ WealthAndEmploymentDetailsOccupationExecutive WealthAndEmploymentDetailsOccupation = "executive"
+ WealthAndEmploymentDetailsOccupationFinanceAccounting WealthAndEmploymentDetailsOccupation = "finance_accounting"
+ WealthAndEmploymentDetailsOccupationFoodServices WealthAndEmploymentDetailsOccupation = "food_services"
+ WealthAndEmploymentDetailsOccupationGovernment WealthAndEmploymentDetailsOccupation = "government"
+ WealthAndEmploymentDetailsOccupationHealthcare WealthAndEmploymentDetailsOccupation = "healthcare"
+ WealthAndEmploymentDetailsOccupationLegalServices WealthAndEmploymentDetailsOccupation = "legal_services"
+ WealthAndEmploymentDetailsOccupationManufacturing WealthAndEmploymentDetailsOccupation = "manufacturing"
+ WealthAndEmploymentDetailsOccupationOther WealthAndEmploymentDetailsOccupation = "other"
+ WealthAndEmploymentDetailsOccupationSales WealthAndEmploymentDetailsOccupation = "sales"
+ WealthAndEmploymentDetailsOccupationScienceEngineering WealthAndEmploymentDetailsOccupation = "science_engineering"
+ WealthAndEmploymentDetailsOccupationTechnology WealthAndEmploymentDetailsOccupation = "technology"
+)
+
+func (r WealthAndEmploymentDetailsOccupation) IsKnown() bool {
+ switch r {
+ case WealthAndEmploymentDetailsOccupationConsulting, WealthAndEmploymentDetailsOccupationExecutive, WealthAndEmploymentDetailsOccupationFinanceAccounting, WealthAndEmploymentDetailsOccupationFoodServices, WealthAndEmploymentDetailsOccupationGovernment, WealthAndEmploymentDetailsOccupationHealthcare, WealthAndEmploymentDetailsOccupationLegalServices, WealthAndEmploymentDetailsOccupationManufacturing, WealthAndEmploymentDetailsOccupationOther, WealthAndEmploymentDetailsOccupationSales, WealthAndEmploymentDetailsOccupationScienceEngineering, WealthAndEmploymentDetailsOccupationTechnology:
+ return true
+ }
+ return false
+}
+
+// The source of the individual's funds.
+type WealthAndEmploymentDetailsSourceOfFunds string
+
+const (
+ WealthAndEmploymentDetailsSourceOfFundsAlimony WealthAndEmploymentDetailsSourceOfFunds = "alimony"
+ WealthAndEmploymentDetailsSourceOfFundsAnnuity WealthAndEmploymentDetailsSourceOfFunds = "annuity"
+ WealthAndEmploymentDetailsSourceOfFundsBusinessOwner WealthAndEmploymentDetailsSourceOfFunds = "business_owner"
+ WealthAndEmploymentDetailsSourceOfFundsGeneralEmployee WealthAndEmploymentDetailsSourceOfFunds = "general_employee"
+ WealthAndEmploymentDetailsSourceOfFundsGovernmentBenefits WealthAndEmploymentDetailsSourceOfFunds = "government_benefits"
+ WealthAndEmploymentDetailsSourceOfFundsHomemaker WealthAndEmploymentDetailsSourceOfFunds = "homemaker"
+ WealthAndEmploymentDetailsSourceOfFundsInheritanceGift WealthAndEmploymentDetailsSourceOfFunds = "inheritance_gift"
+ WealthAndEmploymentDetailsSourceOfFundsInvestment WealthAndEmploymentDetailsSourceOfFunds = "investment"
+ WealthAndEmploymentDetailsSourceOfFundsLegalSettlement WealthAndEmploymentDetailsSourceOfFunds = "legal_settlement"
+ WealthAndEmploymentDetailsSourceOfFundsLottery WealthAndEmploymentDetailsSourceOfFunds = "lottery"
+ WealthAndEmploymentDetailsSourceOfFundsRealEstate WealthAndEmploymentDetailsSourceOfFunds = "real_estate"
+ WealthAndEmploymentDetailsSourceOfFundsRetired WealthAndEmploymentDetailsSourceOfFunds = "retired"
+ WealthAndEmploymentDetailsSourceOfFundsRetirement WealthAndEmploymentDetailsSourceOfFunds = "retirement"
+ WealthAndEmploymentDetailsSourceOfFundsSalary WealthAndEmploymentDetailsSourceOfFunds = "salary"
+ WealthAndEmploymentDetailsSourceOfFundsSelfEmployed WealthAndEmploymentDetailsSourceOfFunds = "self_employed"
+ WealthAndEmploymentDetailsSourceOfFundsSeniorExecutive WealthAndEmploymentDetailsSourceOfFunds = "senior_executive"
+ WealthAndEmploymentDetailsSourceOfFundsTrustIncome WealthAndEmploymentDetailsSourceOfFunds = "trust_income"
+)
+
+func (r WealthAndEmploymentDetailsSourceOfFunds) IsKnown() bool {
+ switch r {
+ case WealthAndEmploymentDetailsSourceOfFundsAlimony, WealthAndEmploymentDetailsSourceOfFundsAnnuity, WealthAndEmploymentDetailsSourceOfFundsBusinessOwner, WealthAndEmploymentDetailsSourceOfFundsGeneralEmployee, WealthAndEmploymentDetailsSourceOfFundsGovernmentBenefits, WealthAndEmploymentDetailsSourceOfFundsHomemaker, WealthAndEmploymentDetailsSourceOfFundsInheritanceGift, WealthAndEmploymentDetailsSourceOfFundsInvestment, WealthAndEmploymentDetailsSourceOfFundsLegalSettlement, WealthAndEmploymentDetailsSourceOfFundsLottery, WealthAndEmploymentDetailsSourceOfFundsRealEstate, WealthAndEmploymentDetailsSourceOfFundsRetired, WealthAndEmploymentDetailsSourceOfFundsRetirement, WealthAndEmploymentDetailsSourceOfFundsSalary, WealthAndEmploymentDetailsSourceOfFundsSelfEmployed, WealthAndEmploymentDetailsSourceOfFundsSeniorExecutive, WealthAndEmploymentDetailsSourceOfFundsTrustIncome:
+ return true
+ }
+ return false
+}
+
+// The source of the individual's wealth.
+type WealthAndEmploymentDetailsWealthSource string
+
+const (
+ WealthAndEmploymentDetailsWealthSourceBusinessSale WealthAndEmploymentDetailsWealthSource = "business_sale"
+ WealthAndEmploymentDetailsWealthSourceFamilySupport WealthAndEmploymentDetailsWealthSource = "family_support"
+ WealthAndEmploymentDetailsWealthSourceGovernmentBenefits WealthAndEmploymentDetailsWealthSource = "government_benefits"
+ WealthAndEmploymentDetailsWealthSourceInheritance WealthAndEmploymentDetailsWealthSource = "inheritance"
+ WealthAndEmploymentDetailsWealthSourceInvestments WealthAndEmploymentDetailsWealthSource = "investments"
+ WealthAndEmploymentDetailsWealthSourceOther WealthAndEmploymentDetailsWealthSource = "other"
+ WealthAndEmploymentDetailsWealthSourceRentalIncome WealthAndEmploymentDetailsWealthSource = "rental_income"
+ WealthAndEmploymentDetailsWealthSourceRetirement WealthAndEmploymentDetailsWealthSource = "retirement"
+ WealthAndEmploymentDetailsWealthSourceSalary WealthAndEmploymentDetailsWealthSource = "salary"
+ WealthAndEmploymentDetailsWealthSourceSelfEmployed WealthAndEmploymentDetailsWealthSource = "self_employed"
+)
+
+func (r WealthAndEmploymentDetailsWealthSource) IsKnown() bool {
+ switch r {
+ case WealthAndEmploymentDetailsWealthSourceBusinessSale, WealthAndEmploymentDetailsWealthSourceFamilySupport, WealthAndEmploymentDetailsWealthSourceGovernmentBenefits, WealthAndEmploymentDetailsWealthSourceInheritance, WealthAndEmploymentDetailsWealthSourceInvestments, WealthAndEmploymentDetailsWealthSourceOther, WealthAndEmploymentDetailsWealthSourceRentalIncome, WealthAndEmploymentDetailsWealthSourceRetirement, WealthAndEmploymentDetailsWealthSourceSalary, WealthAndEmploymentDetailsWealthSourceSelfEmployed:
+ return true
+ }
+ return false
+}
+
+type WealthAndEmploymentDetailsParam struct {
+ ID param.Field[string] `json:"id,required" format:"uuid"`
+ // The annual income of the individual.
+ AnnualIncome param.Field[int64] `json:"annual_income,required"`
+ CreatedAt param.Field[time.Time] `json:"created_at,required" format:"date-time"`
+ DiscardedAt param.Field[time.Time] `json:"discarded_at,required" format:"date-time"`
+ // The country in which the employer is located.
+ EmployerCountry param.Field[string] `json:"employer_country,required"`
+ // The name of the employer.
+ EmployerName param.Field[string] `json:"employer_name,required"`
+ // The state in which the employer is located.
+ EmployerState param.Field[string] `json:"employer_state,required"`
+ // The employment status of the individual.
+ EmploymentStatus param.Field[WealthAndEmploymentDetailsEmploymentStatus] `json:"employment_status,required"`
+ // The country in which the individual's income is earned.
+ IncomeCountry param.Field[string] `json:"income_country,required"`
+ // The source of the individual's income.
+ IncomeSource param.Field[WealthAndEmploymentDetailsIncomeSource] `json:"income_source,required"`
+ // The state in which the individual's income is earned.
+ IncomeState param.Field[string] `json:"income_state,required"`
+ // The industry of the individual.
+ Industry param.Field[WealthAndEmploymentDetailsIndustry] `json:"industry,required"`
+ // This field will be true if this object exists in the live environment or false
+ // if it exists in the test environment.
+ LiveMode param.Field[bool] `json:"live_mode,required"`
+ Object param.Field[string] `json:"object,required"`
+ // The occupation of the individual.
+ Occupation param.Field[WealthAndEmploymentDetailsOccupation] `json:"occupation,required"`
+ // The source of the individual's funds.
+ SourceOfFunds param.Field[WealthAndEmploymentDetailsSourceOfFunds] `json:"source_of_funds,required"`
+ UpdatedAt param.Field[time.Time] `json:"updated_at,required" format:"date-time"`
+ // The source of the individual's wealth.
+ WealthSource param.Field[WealthAndEmploymentDetailsWealthSource] `json:"wealth_source,required"`
+}
+
+func (r WealthAndEmploymentDetailsParam) MarshalJSON() (data []byte, err error) {
+ return apijson.MarshalRoot(r)
+}
+
type LegalEntityNewParams struct {
// The type of legal entity.
LegalEntityType param.Field[LegalEntityNewParamsLegalEntityType] `json:"legal_entity_type,required"`
// A list of addresses for the entity.
- Addresses param.Field[[]LegalEntityNewParamsAddress] `json:"addresses"`
+ Addresses param.Field[[]LegalEntityNewParamsAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -418,10 +795,21 @@ type LegalEntityNewParams struct {
LegalStructure param.Field[LegalEntityNewParamsLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]LegalEntityNewParamsPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[LegalEntityNewParamsRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
@@ -567,9 +955,12 @@ func (r LegalEntityNewParamsLegalEntityAssociationsRelationshipType) IsKnown() b
// The child legal entity.
type LegalEntityNewParamsLegalEntityAssociationsChildLegalEntity struct {
// A list of addresses for the entity.
- Addresses param.Field[[]LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddress] `json:"addresses"`
+ Addresses param.Field[[]LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -589,10 +980,21 @@ type LegalEntityNewParamsLegalEntityAssociationsChildLegalEntity struct {
LegalStructure param.Field[LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
@@ -796,8 +1198,13 @@ func (r LegalEntityNewParamsRiskRating) IsKnown() bool {
}
type LegalEntityUpdateParams struct {
+ // A list of addresses for the entity.
+ Addresses param.Field[[]LegalEntityUpdateParamsAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -807,16 +1214,29 @@ type LegalEntityUpdateParams struct {
Email param.Field[string] `json:"email"`
// An individual's first name.
FirstName param.Field[string] `json:"first_name"`
+ // A list of identifications for the legal entity.
+ Identifications param.Field[[]LegalEntityUpdateParamsIdentification] `json:"identifications"`
// An individual's last name.
LastName param.Field[string] `json:"last_name"`
// The business's legal structure.
LegalStructure param.Field[LegalEntityUpdateParamsLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]LegalEntityUpdateParamsPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[LegalEntityUpdateParamsRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
@@ -825,6 +1245,92 @@ func (r LegalEntityUpdateParams) MarshalJSON() (data []byte, err error) {
return apijson.MarshalRoot(r)
}
+type LegalEntityUpdateParamsAddress struct {
+ // Country code conforms to [ISO 3166-1 alpha-2]
+ Country param.Field[string] `json:"country,required"`
+ Line1 param.Field[string] `json:"line1,required"`
+ // Locality or City.
+ Locality param.Field[string] `json:"locality,required"`
+ // The postal code of the address.
+ PostalCode param.Field[string] `json:"postal_code,required"`
+ // Region or State.
+ Region param.Field[string] `json:"region,required"`
+ // The types of this address.
+ AddressTypes param.Field[[]LegalEntityUpdateParamsAddressesAddressType] `json:"address_types"`
+ Line2 param.Field[string] `json:"line2"`
+}
+
+func (r LegalEntityUpdateParamsAddress) MarshalJSON() (data []byte, err error) {
+ return apijson.MarshalRoot(r)
+}
+
+type LegalEntityUpdateParamsAddressesAddressType string
+
+const (
+ LegalEntityUpdateParamsAddressesAddressTypeBusiness LegalEntityUpdateParamsAddressesAddressType = "business"
+ LegalEntityUpdateParamsAddressesAddressTypeMailing LegalEntityUpdateParamsAddressesAddressType = "mailing"
+ LegalEntityUpdateParamsAddressesAddressTypeOther LegalEntityUpdateParamsAddressesAddressType = "other"
+ LegalEntityUpdateParamsAddressesAddressTypePoBox LegalEntityUpdateParamsAddressesAddressType = "po_box"
+ LegalEntityUpdateParamsAddressesAddressTypeResidential LegalEntityUpdateParamsAddressesAddressType = "residential"
+)
+
+func (r LegalEntityUpdateParamsAddressesAddressType) IsKnown() bool {
+ switch r {
+ case LegalEntityUpdateParamsAddressesAddressTypeBusiness, LegalEntityUpdateParamsAddressesAddressTypeMailing, LegalEntityUpdateParamsAddressesAddressTypeOther, LegalEntityUpdateParamsAddressesAddressTypePoBox, LegalEntityUpdateParamsAddressesAddressTypeResidential:
+ return true
+ }
+ return false
+}
+
+type LegalEntityUpdateParamsIdentification struct {
+ // The ID number of identification document.
+ IDNumber param.Field[string] `json:"id_number,required"`
+ // The type of ID number.
+ IDType param.Field[LegalEntityUpdateParamsIdentificationsIDType] `json:"id_type,required"`
+ // The ISO 3166-1 alpha-2 country code of the country that issued the
+ // identification
+ IssuingCountry param.Field[string] `json:"issuing_country"`
+}
+
+func (r LegalEntityUpdateParamsIdentification) MarshalJSON() (data []byte, err error) {
+ return apijson.MarshalRoot(r)
+}
+
+// The type of ID number.
+type LegalEntityUpdateParamsIdentificationsIDType string
+
+const (
+ LegalEntityUpdateParamsIdentificationsIDTypeArCuil LegalEntityUpdateParamsIdentificationsIDType = "ar_cuil"
+ LegalEntityUpdateParamsIdentificationsIDTypeArCuit LegalEntityUpdateParamsIdentificationsIDType = "ar_cuit"
+ LegalEntityUpdateParamsIdentificationsIDTypeBrCnpj LegalEntityUpdateParamsIdentificationsIDType = "br_cnpj"
+ LegalEntityUpdateParamsIdentificationsIDTypeBrCpf LegalEntityUpdateParamsIdentificationsIDType = "br_cpf"
+ LegalEntityUpdateParamsIdentificationsIDTypeClRun LegalEntityUpdateParamsIdentificationsIDType = "cl_run"
+ LegalEntityUpdateParamsIdentificationsIDTypeClRut LegalEntityUpdateParamsIdentificationsIDType = "cl_rut"
+ LegalEntityUpdateParamsIdentificationsIDTypeCoCedulas LegalEntityUpdateParamsIdentificationsIDType = "co_cedulas"
+ LegalEntityUpdateParamsIdentificationsIDTypeCoNit LegalEntityUpdateParamsIdentificationsIDType = "co_nit"
+ LegalEntityUpdateParamsIdentificationsIDTypeHnID LegalEntityUpdateParamsIdentificationsIDType = "hn_id"
+ LegalEntityUpdateParamsIdentificationsIDTypeHnRtn LegalEntityUpdateParamsIdentificationsIDType = "hn_rtn"
+ LegalEntityUpdateParamsIdentificationsIDTypeInLei LegalEntityUpdateParamsIdentificationsIDType = "in_lei"
+ LegalEntityUpdateParamsIdentificationsIDTypeKrBrn LegalEntityUpdateParamsIdentificationsIDType = "kr_brn"
+ LegalEntityUpdateParamsIdentificationsIDTypeKrCrn LegalEntityUpdateParamsIdentificationsIDType = "kr_crn"
+ LegalEntityUpdateParamsIdentificationsIDTypeKrRrn LegalEntityUpdateParamsIdentificationsIDType = "kr_rrn"
+ LegalEntityUpdateParamsIdentificationsIDTypePassport LegalEntityUpdateParamsIdentificationsIDType = "passport"
+ LegalEntityUpdateParamsIdentificationsIDTypeSaTin LegalEntityUpdateParamsIdentificationsIDType = "sa_tin"
+ LegalEntityUpdateParamsIdentificationsIDTypeSaVat LegalEntityUpdateParamsIdentificationsIDType = "sa_vat"
+ LegalEntityUpdateParamsIdentificationsIDTypeUsEin LegalEntityUpdateParamsIdentificationsIDType = "us_ein"
+ LegalEntityUpdateParamsIdentificationsIDTypeUsItin LegalEntityUpdateParamsIdentificationsIDType = "us_itin"
+ LegalEntityUpdateParamsIdentificationsIDTypeUsSsn LegalEntityUpdateParamsIdentificationsIDType = "us_ssn"
+ LegalEntityUpdateParamsIdentificationsIDTypeVnTin LegalEntityUpdateParamsIdentificationsIDType = "vn_tin"
+)
+
+func (r LegalEntityUpdateParamsIdentificationsIDType) IsKnown() bool {
+ switch r {
+ case LegalEntityUpdateParamsIdentificationsIDTypeArCuil, LegalEntityUpdateParamsIdentificationsIDTypeArCuit, LegalEntityUpdateParamsIdentificationsIDTypeBrCnpj, LegalEntityUpdateParamsIdentificationsIDTypeBrCpf, LegalEntityUpdateParamsIdentificationsIDTypeClRun, LegalEntityUpdateParamsIdentificationsIDTypeClRut, LegalEntityUpdateParamsIdentificationsIDTypeCoCedulas, LegalEntityUpdateParamsIdentificationsIDTypeCoNit, LegalEntityUpdateParamsIdentificationsIDTypeHnID, LegalEntityUpdateParamsIdentificationsIDTypeHnRtn, LegalEntityUpdateParamsIdentificationsIDTypeInLei, LegalEntityUpdateParamsIdentificationsIDTypeKrBrn, LegalEntityUpdateParamsIdentificationsIDTypeKrCrn, LegalEntityUpdateParamsIdentificationsIDTypeKrRrn, LegalEntityUpdateParamsIdentificationsIDTypePassport, LegalEntityUpdateParamsIdentificationsIDTypeSaTin, LegalEntityUpdateParamsIdentificationsIDTypeSaVat, LegalEntityUpdateParamsIdentificationsIDTypeUsEin, LegalEntityUpdateParamsIdentificationsIDTypeUsItin, LegalEntityUpdateParamsIdentificationsIDTypeUsSsn, LegalEntityUpdateParamsIdentificationsIDTypeVnTin:
+ return true
+ }
+ return false
+}
+
// The business's legal structure.
type LegalEntityUpdateParamsLegalStructure string
diff --git a/legalentity_test.go b/legalentity_test.go
index c407c07..14cb09f 100644
--- a/legalentity_test.go
+++ b/legalentity_test.go
@@ -35,47 +35,36 @@ func TestLegalEntityNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsAddressesAddressType{moderntreasury.LegalEntityNewParamsAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsAddressesAddressType{moderntreasury.LegalEntityNewParamsAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsAddressesAddressType{moderntreasury.LegalEntityNewParamsAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsAddressesAddressType{moderntreasury.LegalEntityNewParamsAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
}}),
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ }),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.LegalEntityNewParamsIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityAssociations: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociation{{
- RelationshipTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeControlPerson}),
+ RelationshipTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeBeneficialOwner}),
ChildLegalEntity: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntity{
Addresses: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddress{{
Country: moderntreasury.F("country"),
@@ -83,111 +72,32 @@ func TestLegalEntityNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
}}),
- BusinessName: moderntreasury.F("business_name"),
- DateFormed: moderntreasury.F(time.Now()),
- DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
- Email: moderntreasury.F("email"),
- FirstName: moderntreasury.F("first_name"),
- Identifications: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentification{{
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }}),
- LastName: moderntreasury.F("last_name"),
- LegalEntityType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
- LegalStructure: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityLegalStructureCorporation),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
}),
- PhoneNumbers: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityPhoneNumber{{
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
- }),
- ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
- OwnershipPercentage: moderntreasury.F(int64(0)),
- Title: moderntreasury.F("title"),
- }, {
- RelationshipTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeControlPerson}),
- ChildLegalEntity: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntity{
- Addresses: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddress{{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }}),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
@@ -197,83 +107,36 @@ func TestLegalEntityNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
- }),
- ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
- OwnershipPercentage: moderntreasury.F(int64(0)),
- Title: moderntreasury.F("title"),
- }, {
- RelationshipTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeBeneficialOwner, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsRelationshipTypeControlPerson}),
- ChildLegalEntity: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntity{
- Addresses: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddress{{
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }}),
- BusinessName: moderntreasury.F("business_name"),
- DateFormed: moderntreasury.F(time.Now()),
- DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
- Email: moderntreasury.F("email"),
- FirstName: moderntreasury.F("first_name"),
- Identifications: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentification{{
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }}),
- LastName: moderntreasury.F("last_name"),
- LegalEntityType: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityLegalEntityTypeBusiness),
- LegalStructure: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityLegalStructureCorporation),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
}),
- PhoneNumbers: moderntreasury.F([]moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityPhoneNumber{{
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }}),
- RiskRating: moderntreasury.F(moderntreasury.LegalEntityNewParamsLegalEntityAssociationsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
+ Website: moderntreasury.F("website"),
}),
ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
OwnershipPercentage: moderntreasury.F(int64(0)),
@@ -285,15 +148,36 @@ func TestLegalEntityNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.LegalEntityNewParamsPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.LegalEntityNewParamsRiskRatingLow),
- Website: moderntreasury.F("website"),
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.LegalEntityNewParamsRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
+ }),
+ Website: moderntreasury.F("website"),
})
if err != nil {
var apierr *moderntreasury.Error
@@ -344,28 +228,76 @@ func TestLegalEntityUpdateWithOptionalParams(t *testing.T) {
context.TODO(),
"id",
moderntreasury.LegalEntityUpdateParams{
+ Addresses: moderntreasury.F([]moderntreasury.LegalEntityUpdateParamsAddress{{
+ Country: moderntreasury.F("country"),
+ Line1: moderntreasury.F("line1"),
+ Locality: moderntreasury.F("locality"),
+ PostalCode: moderntreasury.F("postal_code"),
+ Region: moderntreasury.F("region"),
+ AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityUpdateParamsAddressesAddressType{moderntreasury.LegalEntityUpdateParamsAddressesAddressTypeBusiness}),
+ Line2: moderntreasury.F("line2"),
+ }}),
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ }),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
- LastName: moderntreasury.F("last_name"),
- LegalStructure: moderntreasury.F(moderntreasury.LegalEntityUpdateParamsLegalStructureCorporation),
+ Identifications: moderntreasury.F([]moderntreasury.LegalEntityUpdateParamsIdentification{{
+ IDNumber: moderntreasury.F("id_number"),
+ IDType: moderntreasury.F(moderntreasury.LegalEntityUpdateParamsIdentificationsIDTypeArCuil),
+ IssuingCountry: moderntreasury.F("issuing_country"),
+ }}),
+ LastName: moderntreasury.F("last_name"),
+ LegalStructure: moderntreasury.F(moderntreasury.LegalEntityUpdateParamsLegalStructureCorporation),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.LegalEntityUpdateParamsPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.LegalEntityUpdateParamsRiskRatingLow),
- Website: moderntreasury.F("website"),
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.LegalEntityUpdateParamsRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
+ }),
+ Website: moderntreasury.F("website"),
},
)
if err != nil {
diff --git a/legalentityassociation.go b/legalentityassociation.go
index 61f56de..43d7817 100644
--- a/legalentityassociation.go
+++ b/legalentityassociation.go
@@ -92,10 +92,13 @@ func (r legalEntityAssociationJSON) RawJSON() string {
type LegalEntityAssociationChildLegalEntity struct {
ID string `json:"id,required" format:"uuid"`
// A list of addresses for the entity.
- Addresses []LegalEntityAssociationChildLegalEntityAddress `json:"addresses,required"`
+ Addresses []LegalEntityAssociationChildLegalEntityAddress `json:"addresses,required"`
+ BankSettings BankSettings `json:"bank_settings,required,nullable"`
// The business's legal business name.
- BusinessName string `json:"business_name,required,nullable"`
- CreatedAt time.Time `json:"created_at,required" format:"date-time"`
+ BusinessName string `json:"business_name,required,nullable"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry string `json:"citizenship_country,required,nullable"`
+ CreatedAt time.Time `json:"created_at,required" format:"date-time"`
// A business's formation date (YYYY-MM-DD).
DateFormed time.Time `json:"date_formed,required,nullable" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -119,12 +122,23 @@ type LegalEntityAssociationChildLegalEntity struct {
LiveMode bool `json:"live_mode,required"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata map[string]string `json:"metadata,required"`
+ Metadata map[string]string `json:"metadata,required"`
+ // An individual's middle name.
+ MiddleName string `json:"middle_name,required,nullable"`
Object string `json:"object,required"`
PhoneNumbers []LegalEntityAssociationChildLegalEntityPhoneNumber `json:"phone_numbers,required"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson bool `json:"politically_exposed_person,required,nullable"`
+ // An individual's preferred name.
+ PreferredName string `json:"preferred_name,required,nullable"`
+ // An individual's prefix.
+ Prefix string `json:"prefix,required,nullable"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating LegalEntityAssociationChildLegalEntityRiskRating `json:"risk_rating,required,nullable"`
- UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ // An individual's suffix.
+ Suffix string `json:"suffix,required,nullable"`
+ UpdatedAt time.Time `json:"updated_at,required" format:"date-time"`
+ WealthAndEmploymentDetails WealthAndEmploymentDetails `json:"wealth_and_employment_details,required,nullable"`
// The entity's primary website URL.
Website string `json:"website,required,nullable"`
JSON legalEntityAssociationChildLegalEntityJSON `json:"-"`
@@ -133,29 +147,37 @@ type LegalEntityAssociationChildLegalEntity struct {
// legalEntityAssociationChildLegalEntityJSON contains the JSON metadata for the
// struct [LegalEntityAssociationChildLegalEntity]
type legalEntityAssociationChildLegalEntityJSON struct {
- ID apijson.Field
- Addresses apijson.Field
- BusinessName apijson.Field
- CreatedAt apijson.Field
- DateFormed apijson.Field
- DateOfBirth apijson.Field
- DiscardedAt apijson.Field
- DoingBusinessAsNames apijson.Field
- Email apijson.Field
- FirstName apijson.Field
- Identifications apijson.Field
- LastName apijson.Field
- LegalEntityType apijson.Field
- LegalStructure apijson.Field
- LiveMode apijson.Field
- Metadata apijson.Field
- Object apijson.Field
- PhoneNumbers apijson.Field
- RiskRating apijson.Field
- UpdatedAt apijson.Field
- Website apijson.Field
- raw string
- ExtraFields map[string]apijson.Field
+ ID apijson.Field
+ Addresses apijson.Field
+ BankSettings apijson.Field
+ BusinessName apijson.Field
+ CitizenshipCountry apijson.Field
+ CreatedAt apijson.Field
+ DateFormed apijson.Field
+ DateOfBirth apijson.Field
+ DiscardedAt apijson.Field
+ DoingBusinessAsNames apijson.Field
+ Email apijson.Field
+ FirstName apijson.Field
+ Identifications apijson.Field
+ LastName apijson.Field
+ LegalEntityType apijson.Field
+ LegalStructure apijson.Field
+ LiveMode apijson.Field
+ Metadata apijson.Field
+ MiddleName apijson.Field
+ Object apijson.Field
+ PhoneNumbers apijson.Field
+ PoliticallyExposedPerson apijson.Field
+ PreferredName apijson.Field
+ Prefix apijson.Field
+ RiskRating apijson.Field
+ Suffix apijson.Field
+ UpdatedAt apijson.Field
+ WealthAndEmploymentDetails apijson.Field
+ Website apijson.Field
+ raw string
+ ExtraFields map[string]apijson.Field
}
func (r *LegalEntityAssociationChildLegalEntity) UnmarshalJSON(data []byte) (err error) {
@@ -441,9 +463,12 @@ func (r LegalEntityAssociationNewParamsRelationshipType) IsKnown() bool {
// The child legal entity.
type LegalEntityAssociationNewParamsChildLegalEntity struct {
// A list of addresses for the entity.
- Addresses param.Field[[]LegalEntityAssociationNewParamsChildLegalEntityAddress] `json:"addresses"`
+ Addresses param.Field[[]LegalEntityAssociationNewParamsChildLegalEntityAddress] `json:"addresses"`
+ BankSettings param.Field[BankSettingsParam] `json:"bank_settings"`
// The business's legal business name.
BusinessName param.Field[string] `json:"business_name"`
+ // The country of citizenship for an individual.
+ CitizenshipCountry param.Field[string] `json:"citizenship_country"`
// A business's formation date (YYYY-MM-DD).
DateFormed param.Field[time.Time] `json:"date_formed" format:"date"`
// An individual's date of birth (YYYY-MM-DD).
@@ -463,10 +488,21 @@ type LegalEntityAssociationNewParamsChildLegalEntity struct {
LegalStructure param.Field[LegalEntityAssociationNewParamsChildLegalEntityLegalStructure] `json:"legal_structure"`
// Additional data represented as key-value pairs. Both the key and value must be
// strings.
- Metadata param.Field[map[string]string] `json:"metadata"`
+ Metadata param.Field[map[string]string] `json:"metadata"`
+ // An individual's middle name.
+ MiddleName param.Field[string] `json:"middle_name"`
PhoneNumbers param.Field[[]LegalEntityAssociationNewParamsChildLegalEntityPhoneNumber] `json:"phone_numbers"`
+ // Whether the individual is a politically exposed person.
+ PoliticallyExposedPerson param.Field[bool] `json:"politically_exposed_person"`
+ // An individual's preferred name.
+ PreferredName param.Field[string] `json:"preferred_name"`
+ // An individual's prefix.
+ Prefix param.Field[string] `json:"prefix"`
// The risk rating of the legal entity. One of low, medium, high.
RiskRating param.Field[LegalEntityAssociationNewParamsChildLegalEntityRiskRating] `json:"risk_rating"`
+ // An individual's suffix.
+ Suffix param.Field[string] `json:"suffix"`
+ WealthAndEmploymentDetails param.Field[WealthAndEmploymentDetailsParam] `json:"wealth_and_employment_details"`
// The entity's primary website URL.
Website param.Field[string] `json:"website"`
}
diff --git a/legalentityassociation_test.go b/legalentityassociation_test.go
index e5978ac..5370b31 100644
--- a/legalentityassociation_test.go
+++ b/legalentityassociation_test.go
@@ -29,7 +29,7 @@ func TestLegalEntityAssociationNewWithOptionalParams(t *testing.T) {
)
_, err := client.LegalEntityAssociations.New(context.TODO(), moderntreasury.LegalEntityAssociationNewParams{
ParentLegalEntityID: moderntreasury.F("parent_legal_entity_id"),
- RelationshipTypes: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsRelationshipType{moderntreasury.LegalEntityAssociationNewParamsRelationshipTypeBeneficialOwner, moderntreasury.LegalEntityAssociationNewParamsRelationshipTypeControlPerson}),
+ RelationshipTypes: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsRelationshipType{moderntreasury.LegalEntityAssociationNewParamsRelationshipTypeBeneficialOwner}),
ChildLegalEntity: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntity{
Addresses: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddress{{
Country: moderntreasury.F("country"),
@@ -37,43 +37,32 @@ func TestLegalEntityAssociationNewWithOptionalParams(t *testing.T) {
Locality: moderntreasury.F("locality"),
PostalCode: moderntreasury.F("postal_code"),
Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeOther}),
- Line2: moderntreasury.F("line2"),
- }, {
- Country: moderntreasury.F("country"),
- Line1: moderntreasury.F("line1"),
- Locality: moderntreasury.F("locality"),
- PostalCode: moderntreasury.F("postal_code"),
- Region: moderntreasury.F("region"),
- AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeBusiness, moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeMailing, moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeOther}),
+ AddressTypes: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressType{moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityAddressesAddressTypeBusiness}),
Line2: moderntreasury.F("line2"),
}}),
+ BankSettings: moderntreasury.F(moderntreasury.BankSettingsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ BackupWithholdingPercentage: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EnableBackupWithholding: moderntreasury.F(true),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ PrivacyOptOut: moderntreasury.F(true),
+ RegulationO: moderntreasury.F(true),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ }),
BusinessName: moderntreasury.F("business_name"),
+ CitizenshipCountry: moderntreasury.F("citizenship_country"),
DateFormed: moderntreasury.F(time.Now()),
DateOfBirth: moderntreasury.F(time.Now()),
- DoingBusinessAsNames: moderntreasury.F([]string{"string", "string", "string"}),
+ DoingBusinessAsNames: moderntreasury.F([]string{"string"}),
Email: moderntreasury.F("email"),
FirstName: moderntreasury.F("first_name"),
Identifications: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityIdentification{{
IDNumber: moderntreasury.F("id_number"),
IDType: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityIdentificationsIDTypeArCuil),
IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
- }, {
- IDNumber: moderntreasury.F("id_number"),
- IDType: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityIdentificationsIDTypeArCuil),
- IssuingCountry: moderntreasury.F("issuing_country"),
}}),
LastName: moderntreasury.F("last_name"),
LegalEntityType: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityLegalEntityTypeBusiness),
@@ -83,15 +72,36 @@ func TestLegalEntityAssociationNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
+ MiddleName: moderntreasury.F("middle_name"),
PhoneNumbers: moderntreasury.F([]moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityPhoneNumber{{
PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
- }, {
- PhoneNumber: moderntreasury.F("phone_number"),
}}),
- RiskRating: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityRiskRatingLow),
- Website: moderntreasury.F("website"),
+ PoliticallyExposedPerson: moderntreasury.F(true),
+ PreferredName: moderntreasury.F("preferred_name"),
+ Prefix: moderntreasury.F("prefix"),
+ RiskRating: moderntreasury.F(moderntreasury.LegalEntityAssociationNewParamsChildLegalEntityRiskRatingLow),
+ Suffix: moderntreasury.F("suffix"),
+ WealthAndEmploymentDetails: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsParam{
+ ID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
+ AnnualIncome: moderntreasury.F(int64(0)),
+ CreatedAt: moderntreasury.F(time.Now()),
+ DiscardedAt: moderntreasury.F(time.Now()),
+ EmployerCountry: moderntreasury.F("employer_country"),
+ EmployerName: moderntreasury.F("employer_name"),
+ EmployerState: moderntreasury.F("employer_state"),
+ EmploymentStatus: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsEmploymentStatusEmployed),
+ IncomeCountry: moderntreasury.F("income_country"),
+ IncomeSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIncomeSourceFamilySupport),
+ IncomeState: moderntreasury.F("income_state"),
+ Industry: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsIndustryAccounting),
+ LiveMode: moderntreasury.F(true),
+ Object: moderntreasury.F("object"),
+ Occupation: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsOccupationConsulting),
+ SourceOfFunds: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsSourceOfFundsAlimony),
+ UpdatedAt: moderntreasury.F(time.Now()),
+ WealthSource: moderntreasury.F(moderntreasury.WealthAndEmploymentDetailsWealthSourceBusinessSale),
+ }),
+ Website: moderntreasury.F("website"),
}),
ChildLegalEntityID: moderntreasury.F("child_legal_entity_id"),
OwnershipPercentage: moderntreasury.F(int64(0)),
diff --git a/paymentorder_test.go b/paymentorder_test.go
index a548115..9401352 100644
--- a/paymentorder_test.go
+++ b/paymentorder_test.go
@@ -49,16 +49,6 @@ func TestPaymentOrderNewWithOptionalParams(t *testing.T) {
DocumentableType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsDocumentsDocumentableTypeCases),
File: moderntreasury.F(io.Reader(bytes.NewBuffer([]byte("some file contents")))),
DocumentType: moderntreasury.F("document_type"),
- }, {
- DocumentableID: moderntreasury.F("documentable_id"),
- DocumentableType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsDocumentsDocumentableTypeCases),
- File: moderntreasury.F(io.Reader(bytes.NewBuffer([]byte("some file contents")))),
- DocumentType: moderntreasury.F("document_type"),
- }, {
- DocumentableID: moderntreasury.F("documentable_id"),
- DocumentableType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsDocumentsDocumentableTypeCases),
- File: moderntreasury.F(io.Reader(bytes.NewBuffer([]byte("some file contents")))),
- DocumentType: moderntreasury.F("document_type"),
}}),
EffectiveDate: moderntreasury.F(time.Now()),
ExpiresAt: moderntreasury.F(time.Now()),
@@ -86,46 +76,6 @@ func TestPaymentOrderNewWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
Description: moderntreasury.F("description"),
EffectiveAt: moderntreasury.F(time.Now()),
@@ -150,24 +100,6 @@ func TestPaymentOrderNewWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
}}),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
@@ -183,23 +115,11 @@ func TestPaymentOrderNewWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.PaymentOrderNewParamsReceivingAccountAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
}}),
AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
ContactDetails: moderntreasury.F([]moderntreasury.PaymentOrderNewParamsReceivingAccountContactDetail{{
ContactIdentifier: moderntreasury.F("contact_identifier"),
ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
}}),
LedgerAccount: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountLedgerAccount{
Currency: moderntreasury.F("currency"),
@@ -208,7 +128,7 @@ func TestPaymentOrderNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -239,14 +159,6 @@ func TestPaymentOrderNewWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.PaymentOrderNewParamsReceivingAccountRoutingDetailsPaymentTypeACH),
}}),
}),
ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
@@ -335,24 +247,6 @@ func TestPaymentOrderUpdateWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
}}),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
@@ -369,23 +263,11 @@ func TestPaymentOrderUpdateWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.PaymentOrderUpdateParamsReceivingAccountAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
}}),
AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
ContactDetails: moderntreasury.F([]moderntreasury.PaymentOrderUpdateParamsReceivingAccountContactDetail{{
ContactIdentifier: moderntreasury.F("contact_identifier"),
ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
}}),
LedgerAccount: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountLedgerAccount{
Currency: moderntreasury.F("currency"),
@@ -394,7 +276,7 @@ func TestPaymentOrderUpdateWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -425,14 +307,6 @@ func TestPaymentOrderUpdateWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.PaymentOrderUpdateParamsReceivingAccountRoutingDetailsPaymentTypeACH),
}}),
}),
ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
@@ -553,46 +427,6 @@ func TestPaymentOrderNewAsyncWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
Description: moderntreasury.F("description"),
EffectiveAt: moderntreasury.F(time.Now()),
@@ -617,24 +451,6 @@ func TestPaymentOrderNewAsyncWithOptionalParams(t *testing.T) {
"foo": "bar",
"modern": "treasury",
}),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- }, {
- Amount: moderntreasury.F(int64(0)),
- AccountingCategoryID: moderntreasury.F("accounting_category_id"),
- Description: moderntreasury.F("description"),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
}}),
Metadata: moderntreasury.F(map[string]string{
"key": "value",
@@ -650,23 +466,11 @@ func TestPaymentOrderNewAsyncWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountAccountDetailsAccountNumberTypeAuNumber),
}}),
AccountType: moderntreasury.F(moderntreasury.ExternalAccountTypeCash),
ContactDetails: moderntreasury.F([]moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountContactDetail{{
ContactIdentifier: moderntreasury.F("contact_identifier"),
ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
- }, {
- ContactIdentifier: moderntreasury.F("contact_identifier"),
- ContactIdentifierType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountContactDetailsContactIdentifierTypeEmail),
}}),
LedgerAccount: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountLedgerAccount{
Currency: moderntreasury.F("currency"),
@@ -675,7 +479,7 @@ func TestPaymentOrderNewAsyncWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -706,14 +510,6 @@ func TestPaymentOrderNewAsyncWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.PaymentOrderNewAsyncParamsReceivingAccountRoutingDetailsPaymentTypeACH),
}}),
}),
ReceivingAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
diff --git a/paymentorderreversal_test.go b/paymentorderreversal_test.go
index bb2100d..eee8ab2 100644
--- a/paymentorderreversal_test.go
+++ b/paymentorderreversal_test.go
@@ -54,46 +54,6 @@ func TestPaymentOrderReversalNewWithOptionalParams(t *testing.T) {
"foo": int64(0),
}),
ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
- }, {
- Amount: moderntreasury.F(int64(0)),
- Direction: moderntreasury.F(shared.TransactionDirectionCredit),
- LedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
- AvailableBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- LockVersion: moderntreasury.F(int64(0)),
- Metadata: moderntreasury.F(map[string]string{
- "key": "value",
- "foo": "bar",
- "modern": "treasury",
- }),
- PendingBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- PostedBalanceAmount: moderntreasury.F(map[string]int64{
- "foo": int64(0),
- }),
- ShowResultingLedgerAccountBalances: moderntreasury.F(true),
}}),
Description: moderntreasury.F("description"),
EffectiveAt: moderntreasury.F(time.Now()),
diff --git a/validation.go b/validation.go
index bfba70f..1af56b0 100644
--- a/validation.go
+++ b/validation.go
@@ -136,12 +136,11 @@ const (
RoutingNumberLookupRequestRoutingNumberTypeNzNationalClearingCode RoutingNumberLookupRequestRoutingNumberType = "nz_national_clearing_code"
RoutingNumberLookupRequestRoutingNumberTypeSeBankgiroClearingCode RoutingNumberLookupRequestRoutingNumberType = "se_bankgiro_clearing_code"
RoutingNumberLookupRequestRoutingNumberTypeSwift RoutingNumberLookupRequestRoutingNumberType = "swift"
- RoutingNumberLookupRequestRoutingNumberTypeZaNationalClearingCode RoutingNumberLookupRequestRoutingNumberType = "za_national_clearing_code"
)
func (r RoutingNumberLookupRequestRoutingNumberType) IsKnown() bool {
switch r {
- case RoutingNumberLookupRequestRoutingNumberTypeAba, RoutingNumberLookupRequestRoutingNumberTypeAuBsb, RoutingNumberLookupRequestRoutingNumberTypeCaCpa, RoutingNumberLookupRequestRoutingNumberTypeGBSortCode, RoutingNumberLookupRequestRoutingNumberTypeInIfsc, RoutingNumberLookupRequestRoutingNumberTypeNzNationalClearingCode, RoutingNumberLookupRequestRoutingNumberTypeSeBankgiroClearingCode, RoutingNumberLookupRequestRoutingNumberTypeSwift, RoutingNumberLookupRequestRoutingNumberTypeZaNationalClearingCode:
+ case RoutingNumberLookupRequestRoutingNumberTypeAba, RoutingNumberLookupRequestRoutingNumberTypeAuBsb, RoutingNumberLookupRequestRoutingNumberTypeCaCpa, RoutingNumberLookupRequestRoutingNumberTypeGBSortCode, RoutingNumberLookupRequestRoutingNumberTypeInIfsc, RoutingNumberLookupRequestRoutingNumberTypeNzNationalClearingCode, RoutingNumberLookupRequestRoutingNumberTypeSeBankgiroClearingCode, RoutingNumberLookupRequestRoutingNumberTypeSwift:
return true
}
return false
diff --git a/virtualaccount_test.go b/virtualaccount_test.go
index 3f3e2ba..e032698 100644
--- a/virtualaccount_test.go
+++ b/virtualaccount_test.go
@@ -33,12 +33,6 @@ func TestVirtualAccountNewWithOptionalParams(t *testing.T) {
AccountDetails: moderntreasury.F([]moderntreasury.VirtualAccountNewParamsAccountDetail{{
AccountNumber: moderntreasury.F("account_number"),
AccountNumberType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsAccountDetailsAccountNumberTypeAuNumber),
- }, {
- AccountNumber: moderntreasury.F("account_number"),
- AccountNumberType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsAccountDetailsAccountNumberTypeAuNumber),
}}),
CounterpartyID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
CreditLedgerAccountID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
@@ -51,7 +45,7 @@ func TestVirtualAccountNewWithOptionalParams(t *testing.T) {
NormalBalance: moderntreasury.F(shared.TransactionDirectionCredit),
CurrencyExponent: moderntreasury.F(int64(0)),
Description: moderntreasury.F("description"),
- LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
+ LedgerAccountCategoryIDs: moderntreasury.F([]string{"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"}),
LedgerableID: moderntreasury.F("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"),
LedgerableType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsLedgerAccountLedgerableTypeCounterparty),
Metadata: moderntreasury.F(map[string]string{
@@ -67,14 +61,6 @@ func TestVirtualAccountNewWithOptionalParams(t *testing.T) {
RoutingNumber: moderntreasury.F("routing_number"),
RoutingNumberType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsRoutingDetailsRoutingNumberTypeAba),
PaymentType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsRoutingDetailsPaymentTypeACH),
- }, {
- RoutingNumber: moderntreasury.F("routing_number"),
- RoutingNumberType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsRoutingDetailsRoutingNumberTypeAba),
- PaymentType: moderntreasury.F(moderntreasury.VirtualAccountNewParamsRoutingDetailsPaymentTypeACH),
}}),
})
if err != nil {