From be2715f2fd3bcaa905842f5dcfb7c1e1579cbbff Mon Sep 17 00:00:00 2001
From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com>
Date: Mon, 9 Dec 2024 23:56:17 +0000
Subject: [PATCH 1/4] Update generated code for v1399

---
 OPENAPI_VERSION                               |   2 +-
 src/main/java/com/stripe/ApiVersion.java      |   2 +-
 src/main/java/com/stripe/model/Account.java   |   2 +-
 .../java/com/stripe/model/AccountSession.java |  50 +++---
 .../com/stripe/model/BalanceTransaction.java  |  22 +--
 .../java/com/stripe/model/Capability.java     |   2 +-
 src/main/java/com/stripe/model/Card.java      |   8 +
 src/main/java/com/stripe/model/Charge.java    | 158 +++++++++++++++++-
 .../com/stripe/model/ConfirmationToken.java   |   8 +
 src/main/java/com/stripe/model/Dispute.java   |  40 +++++
 .../com/stripe/model/FundingInstructions.java |  28 ++++
 src/main/java/com/stripe/model/Invoice.java   |  16 +-
 .../java/com/stripe/model/PaymentIntent.java  |  50 +++++-
 .../java/com/stripe/model/PaymentMethod.java  |   8 +
 .../java/com/stripe/model/SetupIntent.java    |  20 ++-
 .../java/com/stripe/model/StripeError.java    |  14 ++
 .../java/com/stripe/model/Subscription.java   |   8 +
 .../stripe/model/SubscriptionSchedule.java    |  16 ++
 src/main/java/com/stripe/model/TaxId.java     |  28 ++--
 .../billing/CreditBalanceTransaction.java     |  46 ++++-
 .../com/stripe/model/billing/CreditGrant.java |   4 +-
 .../java/com/stripe/model/billing/Meter.java  |  67 ++++++--
 .../com/stripe/model/billing/MeterEvent.java  |   6 +-
 .../com/stripe/model/checkout/Session.java    |  25 ++-
 .../stripe/model/issuing/Authorization.java   |   4 +
 .../com/stripe/model/issuing/Transaction.java |   4 +
 .../com/stripe/model/tax/Calculation.java     |   5 +-
 .../com/stripe/model/tax/Transaction.java     |   5 +-
 .../treasury/FinancialAccountFeatures.java    |  12 +-
 .../com/stripe/param/AccountCreateParams.java |   4 +-
 .../param/AccountSessionCreateParams.java     | 105 ++++++------
 .../com/stripe/param/AccountUpdateParams.java |   4 +-
 .../param/BalanceTransactionListParams.java   |  11 +-
 .../stripe/param/CustomerCreateParams.java    | 120 +++++++++----
 .../param/CustomerTaxIdCreateParams.java      | 114 ++++++++++---
 .../stripe/param/CustomerUpdateParams.java    |   4 +-
 .../com/stripe/param/DisputeUpdateParams.java | 102 ++++++++++-
 .../com/stripe/param/InvoiceCreateParams.java |   3 +
 .../param/InvoiceCreatePreviewParams.java     | 130 ++++++++++----
 .../param/InvoiceUpcomingLinesListParams.java | 140 +++++++++++-----
 .../param/InvoiceUpcomingLinesParams.java     | 140 +++++++++++-----
 .../stripe/param/InvoiceUpcomingParams.java   | 140 +++++++++++-----
 .../com/stripe/param/InvoiceUpdateParams.java |   3 +
 .../param/PaymentIntentConfirmParams.java     |  76 ++++++++-
 .../param/PaymentIntentCreateParams.java      |  76 ++++++++-
 .../param/PaymentIntentUpdateParams.java      |  76 ++++++++-
 .../stripe/param/PaymentLinkCreateParams.java |  16 +-
 .../stripe/param/PaymentLinkUpdateParams.java |  51 +++++-
 .../param/SetupIntentConfirmParams.java       |  70 +++++++-
 .../stripe/param/SetupIntentCreateParams.java |  70 +++++++-
 .../stripe/param/SetupIntentUpdateParams.java |  70 +++++++-
 .../param/SubscriptionCreateParams.java       |   3 +
 .../param/SubscriptionUpdateParams.java       |  13 +-
 .../param/TaxIdCollectionCreateParams.java    | 114 ++++++++++---
 .../com/stripe/param/TaxIdCreateParams.java   | 114 ++++++++++---
 .../param/WebhookEndpointCreateParams.java    |   5 +-
 .../CreditBalanceSummaryRetrieveParams.java   |   4 +-
 .../billing/CreditGrantCreateParams.java      |  22 ++-
 .../billing/CreditGrantUpdateParams.java      |   2 +-
 .../param/billing/MeterCreateParams.java      |   8 +-
 .../param/billing/MeterEventCreateParams.java |  14 +-
 .../param/billing/MeterUpdateParams.java      |   6 +-
 .../param/checkout/SessionCreateParams.java   |  88 +++++++++-
 .../param/forwarding/RequestCreateParams.java |   5 +-
 .../param/tax/CalculationCreateParams.java    | 120 +++++++++----
 .../param/terminal/LocationUpdateParams.java  |  12 +-
 .../stripe/service/billing/MeterService.java  |  40 ++++-
 67 files changed, 2212 insertions(+), 543 deletions(-)

diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 7ab08411da8..9fc97dcb222 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v1347
\ No newline at end of file
+v1399
\ No newline at end of file
diff --git a/src/main/java/com/stripe/ApiVersion.java b/src/main/java/com/stripe/ApiVersion.java
index d00fa011271..f582b3a469b 100644
--- a/src/main/java/com/stripe/ApiVersion.java
+++ b/src/main/java/com/stripe/ApiVersion.java
@@ -2,5 +2,5 @@
 package com.stripe;
 
 final class ApiVersion {
-  public static final String CURRENT = "2024-11-20.acacia";
+  public static final String CURRENT = "2024-12-18.acacia";
 }
diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java
index 8dddcf4d8f8..8d9b7bfc033 100644
--- a/src/main/java/com/stripe/model/Account.java
+++ b/src/main/java/com/stripe/model/Account.java
@@ -1762,7 +1762,7 @@ public static class FutureRequirements extends StripeObject {
     List<Account.FutureRequirements.Alternative> alternatives;
 
     /**
-     * Date on which {@code future_requirements} merges with the main {@code requirements} hash and
+     * Date on which {@code future_requirements} becomes the main {@code requirements} hash and
      * {@code future_requirements} becomes empty. After the transition, {@code currently_due}
      * requirements may immediately become {@code past_due}, but the account may also be given a
      * grace period depending on its enablement state prior to transitioning.
diff --git a/src/main/java/com/stripe/model/AccountSession.java b/src/main/java/com/stripe/model/AccountSession.java
index c1c73e05ba9..cbe1dc2cd11 100644
--- a/src/main/java/com/stripe/model/AccountSession.java
+++ b/src/main/java/com/stripe/model/AccountSession.java
@@ -183,11 +183,11 @@ public static class AccountManagement extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -228,11 +228,11 @@ public static class AccountOnboarding extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -273,11 +273,11 @@ public static class Balances extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -364,11 +364,11 @@ public static class NotificationBanner extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -509,11 +509,11 @@ public static class Payouts extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
diff --git a/src/main/java/com/stripe/model/BalanceTransaction.java b/src/main/java/com/stripe/model/BalanceTransaction.java
index 7fd49308ac9..fd1fbc509af 100644
--- a/src/main/java/com/stripe/model/BalanceTransaction.java
+++ b/src/main/java/com/stripe/model/BalanceTransaction.java
@@ -128,13 +128,13 @@ public class BalanceTransaction extends ApiResource implements HasId {
    * payment_failure_refund}, {@code payment_network_reserve_hold}, {@code
    * payment_network_reserve_release}, {@code payment_refund}, {@code payment_reversal}, {@code
    * payment_unreconciled}, {@code payout}, {@code payout_cancel}, {@code payout_failure}, {@code
-   * refund}, {@code refund_failure}, {@code reserve_transaction}, {@code reserved_funds}, {@code
-   * stripe_fee}, {@code stripe_fx_fee}, {@code tax_fee}, {@code topup}, {@code topup_reversal},
-   * {@code transfer}, {@code transfer_cancel}, {@code transfer_failure}, or {@code
-   * transfer_refund}. Learn more about <a
-   * href="https://stripe.com/docs/reports/balance-transaction-types">balance transaction types and
-   * what they represent</a>. To classify transactions for accounting purposes, consider {@code
-   * reporting_category} instead.
+   * payout_minimum_balance_hold}, {@code payout_minimum_balance_release}, {@code refund}, {@code
+   * refund_failure}, {@code reserve_transaction}, {@code reserved_funds}, {@code stripe_fee},
+   * {@code stripe_fx_fee}, {@code tax_fee}, {@code topup}, {@code topup_reversal}, {@code
+   * transfer}, {@code transfer_cancel}, {@code transfer_failure}, or {@code transfer_refund}. Learn
+   * more about <a href="https://stripe.com/docs/reports/balance-transaction-types">balance
+   * transaction types and what they represent</a>. To classify transactions for accounting
+   * purposes, consider {@code reporting_category} instead.
    *
    * <p>One of {@code adjustment}, {@code advance}, {@code advance_funding}, {@code
    * anticipation_repayment}, {@code application_fee}, {@code application_fee_refund}, {@code
@@ -145,10 +145,10 @@ public class BalanceTransaction extends ApiResource implements HasId {
    * payment_failure_refund}, {@code payment_network_reserve_hold}, {@code
    * payment_network_reserve_release}, {@code payment_refund}, {@code payment_reversal}, {@code
    * payment_unreconciled}, {@code payout}, {@code payout_cancel}, {@code payout_failure}, {@code
-   * refund}, {@code refund_failure}, {@code reserve_transaction}, {@code reserved_funds}, {@code
-   * stripe_fee}, {@code stripe_fx_fee}, {@code tax_fee}, {@code topup}, {@code topup_reversal},
-   * {@code transfer}, {@code transfer_cancel}, {@code transfer_failure}, or {@code
-   * transfer_refund}.
+   * payout_minimum_balance_hold}, {@code payout_minimum_balance_release}, {@code refund}, {@code
+   * refund_failure}, {@code reserve_transaction}, {@code reserved_funds}, {@code stripe_fee},
+   * {@code stripe_fx_fee}, {@code tax_fee}, {@code topup}, {@code topup_reversal}, {@code
+   * transfer}, {@code transfer_cancel}, {@code transfer_failure}, or {@code transfer_refund}.
    */
   @SerializedName("type")
   String type;
diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java
index d4d7e063612..183d3db6afa 100644
--- a/src/main/java/com/stripe/model/Capability.java
+++ b/src/main/java/com/stripe/model/Capability.java
@@ -154,7 +154,7 @@ public static class FutureRequirements extends StripeObject {
     List<Capability.FutureRequirements.Alternative> alternatives;
 
     /**
-     * Date on which {@code future_requirements} merges with the main {@code requirements} hash and
+     * Date on which {@code future_requirements} becomes the main {@code requirements} hash and
      * {@code future_requirements} becomes empty. After the transition, {@code currently_due}
      * requirements may immediately become {@code past_due}, but the account may also be given a
      * grace period depending on the capability's enablement state prior to transitioning.
diff --git a/src/main/java/com/stripe/model/Card.java b/src/main/java/com/stripe/model/Card.java
index 5a907833e8d..9cf526e288b 100644
--- a/src/main/java/com/stripe/model/Card.java
+++ b/src/main/java/com/stripe/model/Card.java
@@ -229,6 +229,14 @@ public class Card extends ApiResource
   @SerializedName("object")
   String object;
 
+  /**
+   * Status of a card based on the card issuer.
+   *
+   * <p>One of {@code regulated}, or {@code unregulated}.
+   */
+  @SerializedName("regulated_status")
+  String regulatedStatus;
+
   /**
    * For external accounts that are cards, possible values are {@code new} and {@code errored}. If a
    * payout fails, the status is set to {@code errored} and <a
diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java
index f1b1022543e..8833d021d1a 100644
--- a/src/main/java/com/stripe/model/Charge.java
+++ b/src/main/java/com/stripe/model/Charge.java
@@ -1028,6 +1028,20 @@ public static class LineItem extends StripeObject {
   @Setter
   @EqualsAndHashCode(callSuper = false)
   public static class Outcome extends StripeObject {
+    /**
+     * For charges declined by the network, a 2 digit code which indicates the advice returned by
+     * the network on how to proceed with an error.
+     */
+    @SerializedName("network_advice_code")
+    String networkAdviceCode;
+
+    /**
+     * For charges declined by the network, a brand specific 2, 3, or 4 digit code which indicates
+     * the reason the authorization failed.
+     */
+    @SerializedName("network_decline_code")
+    String networkDeclineCode;
+
     /**
      * Possible values are {@code approved_by_network}, {@code declined_by_network}, {@code
      * not_sent_to_network}, and {@code reversed_after_approval}. The value {@code
@@ -1476,7 +1490,73 @@ public static class Alma extends StripeObject {}
     @Getter
     @Setter
     @EqualsAndHashCode(callSuper = false)
-    public static class AmazonPay extends StripeObject {}
+    public static class AmazonPay extends StripeObject {
+      @SerializedName("funding")
+      Funding funding;
+
+      /**
+       * For more details about Funding, please refer to the <a
+       * href="https://docs.stripe.com/api">API Reference.</a>
+       */
+      @Getter
+      @Setter
+      @EqualsAndHashCode(callSuper = false)
+      public static class Funding extends StripeObject {
+        @SerializedName("card")
+        Card card;
+
+        /**
+         * funding type of the underlying payment method.
+         *
+         * <p>Equal to {@code card}.
+         */
+        @SerializedName("type")
+        String type;
+
+        /**
+         * For more details about Card, please refer to the <a
+         * href="https://docs.stripe.com/api">API Reference.</a>
+         */
+        @Getter
+        @Setter
+        @EqualsAndHashCode(callSuper = false)
+        public static class Card extends StripeObject {
+          /**
+           * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au},
+           * {@code jcb}, {@code link}, {@code mastercard}, {@code unionpay}, {@code visa}, or
+           * {@code unknown}.
+           */
+          @SerializedName("brand")
+          String brand;
+
+          /**
+           * Two-letter ISO code representing the country of the card. You could use this attribute
+           * to get a sense of the international breakdown of cards you've collected.
+           */
+          @SerializedName("country")
+          String country;
+
+          /** Two-digit number representing the card's expiration month. */
+          @SerializedName("exp_month")
+          Long expMonth;
+
+          /** Four-digit number representing the card's expiration year. */
+          @SerializedName("exp_year")
+          Long expYear;
+
+          /**
+           * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
+           * unknown}.
+           */
+          @SerializedName("funding")
+          String funding;
+
+          /** The last four digits of the card. */
+          @SerializedName("last4")
+          String last4;
+        }
+      }
+    }
 
     /**
      * For more details about AuBecsDebit, please refer to the <a
@@ -1796,6 +1876,14 @@ public static class Card extends StripeObject {
       @SerializedName("overcapture")
       Overcapture overcapture;
 
+      /**
+       * Status of a card based on the card issuer.
+       *
+       * <p>One of {@code regulated}, or {@code unregulated}.
+       */
+      @SerializedName("regulated_status")
+      String regulatedStatus;
+
       /** Populated if this transaction used 3D Secure authentication. */
       @SerializedName("three_d_secure")
       ThreeDSecure threeDSecure;
@@ -3277,7 +3365,73 @@ public static class Promptpay extends StripeObject {
     @Getter
     @Setter
     @EqualsAndHashCode(callSuper = false)
-    public static class RevolutPay extends StripeObject {}
+    public static class RevolutPay extends StripeObject {
+      @SerializedName("funding")
+      Funding funding;
+
+      /**
+       * For more details about Funding, please refer to the <a
+       * href="https://docs.stripe.com/api">API Reference.</a>
+       */
+      @Getter
+      @Setter
+      @EqualsAndHashCode(callSuper = false)
+      public static class Funding extends StripeObject {
+        @SerializedName("card")
+        Card card;
+
+        /**
+         * funding type of the underlying payment method.
+         *
+         * <p>Equal to {@code card}.
+         */
+        @SerializedName("type")
+        String type;
+
+        /**
+         * For more details about Card, please refer to the <a
+         * href="https://docs.stripe.com/api">API Reference.</a>
+         */
+        @Getter
+        @Setter
+        @EqualsAndHashCode(callSuper = false)
+        public static class Card extends StripeObject {
+          /**
+           * Card brand. Can be {@code amex}, {@code diners}, {@code discover}, {@code eftpos_au},
+           * {@code jcb}, {@code link}, {@code mastercard}, {@code unionpay}, {@code visa}, or
+           * {@code unknown}.
+           */
+          @SerializedName("brand")
+          String brand;
+
+          /**
+           * Two-letter ISO code representing the country of the card. You could use this attribute
+           * to get a sense of the international breakdown of cards you've collected.
+           */
+          @SerializedName("country")
+          String country;
+
+          /** Two-digit number representing the card's expiration month. */
+          @SerializedName("exp_month")
+          Long expMonth;
+
+          /** Four-digit number representing the card's expiration year. */
+          @SerializedName("exp_year")
+          Long expYear;
+
+          /**
+           * Card funding type. Can be {@code credit}, {@code debit}, {@code prepaid}, or {@code
+           * unknown}.
+           */
+          @SerializedName("funding")
+          String funding;
+
+          /** The last four digits of the card. */
+          @SerializedName("last4")
+          String last4;
+        }
+      }
+    }
 
     /**
      * For more details about SamsungPay, please refer to the <a
diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java
index 7e0e1add208..739c30f19ff 100644
--- a/src/main/java/com/stripe/model/ConfirmationToken.java
+++ b/src/main/java/com/stripe/model/ConfirmationToken.java
@@ -697,6 +697,14 @@ public static class Card extends StripeObject {
       @SerializedName("networks")
       Networks networks;
 
+      /**
+       * Status of a card based on the card issuer.
+       *
+       * <p>One of {@code regulated}, or {@code unregulated}.
+       */
+      @SerializedName("regulated_status")
+      String regulatedStatus;
+
       /** Contains details on how this Card may be used for 3D Secure authentication. */
       @SerializedName("three_d_secure_usage")
       ThreeDSecureUsage threeDSecureUsage;
diff --git a/src/main/java/com/stripe/model/Dispute.java b/src/main/java/com/stripe/model/Dispute.java
index e8c6c92ebd8..1f40060349d 100644
--- a/src/main/java/com/stripe/model/Dispute.java
+++ b/src/main/java/com/stripe/model/Dispute.java
@@ -780,6 +780,9 @@ public static class EnhancedEvidence extends StripeObject {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
+      @SerializedName("visa_compliance")
+      VisaCompliance visaCompliance;
+
       /**
        * For more details about VisaCompellingEvidence3, please refer to the <a
        * href="https://docs.stripe.com/api">API Reference.</a>
@@ -980,6 +983,23 @@ public static class ShippingAddress extends StripeObject {
           }
         }
       }
+
+      /**
+       * For more details about VisaCompliance, please refer to the <a
+       * href="https://docs.stripe.com/api">API Reference.</a>
+       */
+      @Getter
+      @Setter
+      @EqualsAndHashCode(callSuper = false)
+      public static class VisaCompliance extends StripeObject {
+        /**
+         * A field acknowledging the fee incurred when countering a Visa Compliance dispute. If this
+         * field is set to true, evidence can be submitted for the compliance dispute, and you may
+         * incur a $500 fee if the case is lost.
+         */
+        @SerializedName("fee_acknowledged")
+        Boolean feeAcknowledged;
+      }
     }
   }
 
@@ -1032,6 +1052,9 @@ public static class EnhancedEligibility extends StripeObject {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
+      @SerializedName("visa_compliance")
+      VisaCompliance visaCompliance;
+
       /**
        * For more details about VisaCompellingEvidence3, please refer to the <a
        * href="https://docs.stripe.com/api">API Reference.</a>
@@ -1055,6 +1078,23 @@ public static class VisaCompellingEvidence3 extends StripeObject {
         @SerializedName("status")
         String status;
       }
+
+      /**
+       * For more details about VisaCompliance, please refer to the <a
+       * href="https://docs.stripe.com/api">API Reference.</a>
+       */
+      @Getter
+      @Setter
+      @EqualsAndHashCode(callSuper = false)
+      public static class VisaCompliance extends StripeObject {
+        /**
+         * Visa Compelling Evidence 3.0 eligibility status.
+         *
+         * <p>One of {@code fee_acknowledged}, or {@code requires_fee_acknowledgement}.
+         */
+        @SerializedName("status")
+        String status;
+      }
     }
   }
 
diff --git a/src/main/java/com/stripe/model/FundingInstructions.java b/src/main/java/com/stripe/model/FundingInstructions.java
index 17db7de5395..64d9d2573d5 100644
--- a/src/main/java/com/stripe/model/FundingInstructions.java
+++ b/src/main/java/com/stripe/model/FundingInstructions.java
@@ -156,10 +156,16 @@ public static class Aba extends StripeObject {
       @Setter
       @EqualsAndHashCode(callSuper = false)
       public static class Iban extends StripeObject {
+        @SerializedName("account_holder_address")
+        Address accountHolderAddress;
+
         /** The name of the person or business that owns the bank account. */
         @SerializedName("account_holder_name")
         String accountHolderName;
 
+        @SerializedName("bank_address")
+        Address bankAddress;
+
         /** The BIC/SWIFT code of the account. */
         @SerializedName("bic")
         String bic;
@@ -181,6 +187,9 @@ public static class Iban extends StripeObject {
       @Setter
       @EqualsAndHashCode(callSuper = false)
       public static class SortCode extends StripeObject {
+        @SerializedName("account_holder_address")
+        Address accountHolderAddress;
+
         /** The name of the person or business that owns the bank account. */
         @SerializedName("account_holder_name")
         String accountHolderName;
@@ -189,6 +198,9 @@ public static class SortCode extends StripeObject {
         @SerializedName("account_number")
         String accountNumber;
 
+        @SerializedName("bank_address")
+        Address bankAddress;
+
         /** The six-digit sort code. */
         @SerializedName("sort_code")
         String sortCode;
@@ -199,6 +211,16 @@ public static class SortCode extends StripeObject {
       @Setter
       @EqualsAndHashCode(callSuper = false)
       public static class Spei extends StripeObject {
+        @SerializedName("account_holder_address")
+        Address accountHolderAddress;
+
+        /** The account holder name. */
+        @SerializedName("account_holder_name")
+        String accountHolderName;
+
+        @SerializedName("bank_address")
+        Address bankAddress;
+
         /** The three-digit bank code. */
         @SerializedName("bank_code")
         String bankCode;
@@ -249,6 +271,9 @@ public static class Swift extends StripeObject {
       @Setter
       @EqualsAndHashCode(callSuper = false)
       public static class Zengin extends StripeObject {
+        @SerializedName("account_holder_address")
+        Address accountHolderAddress;
+
         /** The account holder name. */
         @SerializedName("account_holder_name")
         String accountHolderName;
@@ -261,6 +286,9 @@ public static class Zengin extends StripeObject {
         @SerializedName("account_type")
         String accountType;
 
+        @SerializedName("bank_address")
+        Address bankAddress;
+
         /** The bank code of the account. */
         @SerializedName("bank_code")
         String bankCode;
diff --git a/src/main/java/com/stripe/model/Invoice.java b/src/main/java/com/stripe/model/Invoice.java
index 060f1051f50..3c0e6774d59 100644
--- a/src/main/java/com/stripe/model/Invoice.java
+++ b/src/main/java/com/stripe/model/Invoice.java
@@ -2167,6 +2167,15 @@ public Invoice voidInvoice(InvoiceVoidInvoiceParams params, RequestOptions optio
   @Setter
   @EqualsAndHashCode(callSuper = false)
   public static class AutomaticTax extends StripeObject {
+    /**
+     * If Stripe disabled automatic tax, this enum describes why.
+     *
+     * <p>One of {@code finalization_requires_location_inputs}, or {@code
+     * finalization_system_error}.
+     */
+    @SerializedName("disabled_reason")
+    String disabledReason;
+
     /**
      * Whether Stripe automatically computes tax on this invoice. Note that incompatible invoice
      * items (invoice items with manually specified <a
@@ -2274,8 +2283,11 @@ public static class CustomerTaxId extends StripeObject {
      * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code
      * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat},
      * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code
-     * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin}, or
-     * {@code unknown}.
+     * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin},
+     * {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif}, {@code mr_nif}, {@code
+     * me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code mk_vat}, {@code sr_fin},
+     * {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin}, {@code ug_tin}, {@code
+     * zm_tin}, {@code kh_tin}, or {@code unknown}.
      */
     @SerializedName("type")
     String type;
diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java
index 06493408af6..2d1e5e08678 100644
--- a/src/main/java/com/stripe/model/PaymentIntent.java
+++ b/src/main/java/com/stripe/model/PaymentIntent.java
@@ -1858,10 +1858,16 @@ public static class Aba extends StripeObject {
         @Setter
         @EqualsAndHashCode(callSuper = false)
         public static class Iban extends StripeObject {
+          @SerializedName("account_holder_address")
+          Address accountHolderAddress;
+
           /** The name of the person or business that owns the bank account. */
           @SerializedName("account_holder_name")
           String accountHolderName;
 
+          @SerializedName("bank_address")
+          Address bankAddress;
+
           /** The BIC/SWIFT code of the account. */
           @SerializedName("bic")
           String bic;
@@ -1883,6 +1889,9 @@ public static class Iban extends StripeObject {
         @Setter
         @EqualsAndHashCode(callSuper = false)
         public static class SortCode extends StripeObject {
+          @SerializedName("account_holder_address")
+          Address accountHolderAddress;
+
           /** The name of the person or business that owns the bank account. */
           @SerializedName("account_holder_name")
           String accountHolderName;
@@ -1891,6 +1900,9 @@ public static class SortCode extends StripeObject {
           @SerializedName("account_number")
           String accountNumber;
 
+          @SerializedName("bank_address")
+          Address bankAddress;
+
           /** The six-digit sort code. */
           @SerializedName("sort_code")
           String sortCode;
@@ -1901,6 +1913,16 @@ public static class SortCode extends StripeObject {
         @Setter
         @EqualsAndHashCode(callSuper = false)
         public static class Spei extends StripeObject {
+          @SerializedName("account_holder_address")
+          Address accountHolderAddress;
+
+          /** The account holder name. */
+          @SerializedName("account_holder_name")
+          String accountHolderName;
+
+          @SerializedName("bank_address")
+          Address bankAddress;
+
           /** The three-digit bank code. */
           @SerializedName("bank_code")
           String bankCode;
@@ -1951,6 +1973,9 @@ public static class Swift extends StripeObject {
         @Setter
         @EqualsAndHashCode(callSuper = false)
         public static class Zengin extends StripeObject {
+          @SerializedName("account_holder_address")
+          Address accountHolderAddress;
+
           /** The account holder name. */
           @SerializedName("account_holder_name")
           String accountHolderName;
@@ -1963,6 +1988,9 @@ public static class Zengin extends StripeObject {
           @SerializedName("account_type")
           String accountType;
 
+          @SerializedName("bank_address")
+          Address bankAddress;
+
           /** The bank code of the account. */
           @SerializedName("bank_code")
           String bankCode;
@@ -2939,7 +2967,15 @@ public static class BacsDebit extends StripeObject {
       @Getter
       @Setter
       @EqualsAndHashCode(callSuper = false)
-      public static class MandateOptions extends StripeObject {}
+      public static class MandateOptions extends StripeObject {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        String referencePrefix;
+      }
     }
 
     /**
@@ -4377,7 +4413,15 @@ public static class SepaDebit extends StripeObject {
       @Getter
       @Setter
       @EqualsAndHashCode(callSuper = false)
-      public static class MandateOptions extends StripeObject {}
+      public static class MandateOptions extends StripeObject {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        String referencePrefix;
+      }
     }
 
     /**
@@ -4430,7 +4474,7 @@ public static class Sofort extends StripeObject {
     @Setter
     @EqualsAndHashCode(callSuper = false)
     public static class Swish extends StripeObject {
-      /** The order ID displayed in the Swish app after the payment is authorized. */
+      /** A reference for this payment to be displayed in the Swish app. */
       @SerializedName("reference")
       String reference;
 
diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java
index 7be4badbe15..07772ca71b9 100644
--- a/src/main/java/com/stripe/model/PaymentMethod.java
+++ b/src/main/java/com/stripe/model/PaymentMethod.java
@@ -928,6 +928,14 @@ public static class Card extends StripeObject {
     @SerializedName("networks")
     Networks networks;
 
+    /**
+     * Status of a card based on the card issuer.
+     *
+     * <p>One of {@code regulated}, or {@code unregulated}.
+     */
+    @SerializedName("regulated_status")
+    String regulatedStatus;
+
     /** Contains details on how this Card may be used for 3D Secure authentication. */
     @SerializedName("three_d_secure_usage")
     ThreeDSecureUsage threeDSecureUsage;
diff --git a/src/main/java/com/stripe/model/SetupIntent.java b/src/main/java/com/stripe/model/SetupIntent.java
index 1272118c232..d2526771c0e 100644
--- a/src/main/java/com/stripe/model/SetupIntent.java
+++ b/src/main/java/com/stripe/model/SetupIntent.java
@@ -1124,7 +1124,15 @@ public static class BacsDebit extends StripeObject {
       @Getter
       @Setter
       @EqualsAndHashCode(callSuper = false)
-      public static class MandateOptions extends StripeObject {}
+      public static class MandateOptions extends StripeObject {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        String referencePrefix;
+      }
     }
 
     /**
@@ -1294,7 +1302,15 @@ public static class SepaDebit extends StripeObject {
       @Getter
       @Setter
       @EqualsAndHashCode(callSuper = false)
-      public static class MandateOptions extends StripeObject {}
+      public static class MandateOptions extends StripeObject {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        String referencePrefix;
+      }
     }
 
     /**
diff --git a/src/main/java/com/stripe/model/StripeError.java b/src/main/java/com/stripe/model/StripeError.java
index 2382a2293c3..6675cd8e32a 100644
--- a/src/main/java/com/stripe/model/StripeError.java
+++ b/src/main/java/com/stripe/model/StripeError.java
@@ -121,6 +121,20 @@ public class StripeError extends StripeObject {
   @SerializedName("message")
   String message;
 
+  /**
+   * For card errors resulting from a card issuer decline, a 2 digit code which indicates the advice
+   * given to merchant by the card network on how to proceed with an error.
+   */
+  @SerializedName("network_advice_code")
+  String networkAdviceCode;
+
+  /**
+   * For card errors resulting from a card issuer decline, a brand specific 2, 3, or 4 digit code
+   * which indicates the reason the authorization failed.
+   */
+  @SerializedName("network_decline_code")
+  String networkDeclineCode;
+
   /**
    * If the error is parameter-specific, the parameter related to the error. For example, you can
    * use this to display a message near the correct form field.
diff --git a/src/main/java/com/stripe/model/Subscription.java b/src/main/java/com/stripe/model/Subscription.java
index 4a71991e985..72dcd35dc06 100644
--- a/src/main/java/com/stripe/model/Subscription.java
+++ b/src/main/java/com/stripe/model/Subscription.java
@@ -1277,6 +1277,14 @@ public Subscription update(SubscriptionUpdateParams params, RequestOptions optio
   @Setter
   @EqualsAndHashCode(callSuper = false)
   public static class AutomaticTax extends StripeObject {
+    /**
+     * If Stripe disabled automatic tax, this enum describes why.
+     *
+     * <p>Equal to {@code requires_location_inputs}.
+     */
+    @SerializedName("disabled_reason")
+    String disabledReason;
+
     /** Whether Stripe automatically computes tax on this subscription. */
     @SerializedName("enabled")
     Boolean enabled;
diff --git a/src/main/java/com/stripe/model/SubscriptionSchedule.java b/src/main/java/com/stripe/model/SubscriptionSchedule.java
index 0f223dd5da4..b3eef2fbd1f 100644
--- a/src/main/java/com/stripe/model/SubscriptionSchedule.java
+++ b/src/main/java/com/stripe/model/SubscriptionSchedule.java
@@ -703,6 +703,14 @@ public void setOnBehalfOfObject(Account expandableObject) {
     @Setter
     @EqualsAndHashCode(callSuper = false)
     public static class AutomaticTax extends StripeObject {
+      /**
+       * If Stripe disabled automatic tax, this enum describes why.
+       *
+       * <p>Equal to {@code requires_location_inputs}.
+       */
+      @SerializedName("disabled_reason")
+      String disabledReason;
+
       /** Whether Stripe automatically computes tax on invoices created during this phase. */
       @SerializedName("enabled")
       Boolean enabled;
@@ -1289,6 +1297,14 @@ public void setPromotionCodeObject(PromotionCode expandableObject) {
     @Setter
     @EqualsAndHashCode(callSuper = false)
     public static class AutomaticTax extends StripeObject {
+      /**
+       * If Stripe disabled automatic tax, this enum describes why.
+       *
+       * <p>Equal to {@code requires_location_inputs}.
+       */
+      @SerializedName("disabled_reason")
+      String disabledReason;
+
       /** Whether Stripe automatically computes tax on invoices created during this phase. */
       @SerializedName("enabled")
       Boolean enabled;
diff --git a/src/main/java/com/stripe/model/TaxId.java b/src/main/java/com/stripe/model/TaxId.java
index d53166ff8c7..0ea23b3f01d 100644
--- a/src/main/java/com/stripe/model/TaxId.java
+++ b/src/main/java/com/stripe/model/TaxId.java
@@ -73,21 +73,25 @@ public class TaxId extends ApiResource implements HasId {
   Owner owner;
 
   /**
-   * Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code ar_cuit}, {@code au_abn},
-   * {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-   * br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code
-   * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin},
+   * Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code am_tin}, {@code ao_tin},
+   * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin}, {@code bb_tin}, {@code
+   * bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code bs_tin},
+   * {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code
+   * ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin},
    * {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc},
    * {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code
-   * ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code
-   * in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
-   * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code
-   * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-   * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+   * ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
+   * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+   * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code
+   * ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
+   * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
+   * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
    * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
-   * {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
-   * {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-   * {@code vn_tin}, or {@code za_vat}. Note that some legacy tax IDs have type {@code unknown}
+   * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
+   * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code
+   * us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code
+   * za_vat}, {@code zm_tin}, or {@code zw_tin}. Note that some legacy tax IDs have type {@code
+   * unknown}
    */
   @SerializedName("type")
   String type;
diff --git a/src/main/java/com/stripe/model/billing/CreditBalanceTransaction.java b/src/main/java/com/stripe/model/billing/CreditBalanceTransaction.java
index fccbc2921fe..03364483471 100644
--- a/src/main/java/com/stripe/model/billing/CreditBalanceTransaction.java
+++ b/src/main/java/com/stripe/model/billing/CreditBalanceTransaction.java
@@ -206,10 +206,17 @@ public static class Credit extends StripeObject {
     @SerializedName("amount")
     Amount amount;
 
+    /**
+     * Details of the invoice to which the reinstated credits were originally applied. Only present
+     * if {@code type} is {@code credits_application_invoice_voided}.
+     */
+    @SerializedName("credits_application_invoice_voided")
+    CreditsApplicationInvoiceVoided creditsApplicationInvoiceVoided;
+
     /**
      * The type of credit transaction.
      *
-     * <p>Equal to {@code credits_granted}.
+     * <p>One of {@code credits_application_invoice_voided}, or {@code credits_granted}.
      */
     @SerializedName("type")
     String type;
@@ -255,6 +262,43 @@ public static class Monetary extends StripeObject {
         Long value;
       }
     }
+
+    /**
+     * For more details about CreditsApplicationInvoiceVoided, please refer to the <a
+     * href="https://docs.stripe.com/api">API Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class CreditsApplicationInvoiceVoided extends StripeObject {
+      /** The invoice to which the reinstated billing credits were originally applied. */
+      @SerializedName("invoice")
+      @Getter(lombok.AccessLevel.NONE)
+      @Setter(lombok.AccessLevel.NONE)
+      ExpandableField<Invoice> invoice;
+
+      /** The invoice line item to which the reinstated billing credits were originally applied. */
+      @SerializedName("invoice_line_item")
+      String invoiceLineItem;
+
+      /** Get ID of expandable {@code invoice} object. */
+      public String getInvoice() {
+        return (this.invoice != null) ? this.invoice.getId() : null;
+      }
+
+      public void setInvoice(String id) {
+        this.invoice = ApiResource.setExpandableFieldId(id, this.invoice);
+      }
+
+      /** Get expanded {@code invoice}. */
+      public Invoice getInvoiceObject() {
+        return (this.invoice != null) ? this.invoice.getExpanded() : null;
+      }
+
+      public void setInvoiceObject(Invoice expandableObject) {
+        this.invoice = new ExpandableField<Invoice>(expandableObject.getId(), expandableObject);
+      }
+    }
   }
 
   /**
diff --git a/src/main/java/com/stripe/model/billing/CreditGrant.java b/src/main/java/com/stripe/model/billing/CreditGrant.java
index 091662a63a4..a320d926d4d 100644
--- a/src/main/java/com/stripe/model/billing/CreditGrant.java
+++ b/src/main/java/com/stripe/model/billing/CreditGrant.java
@@ -63,7 +63,7 @@ public class CreditGrant extends ApiResource implements HasId, MetadataStore<Cre
   @Setter(lombok.AccessLevel.NONE)
   ExpandableField<Customer> customer;
 
-  /** The time when the billing credits become effective—when they're eligible for use. */
+  /** The time when the billing credits become effective-when they're eligible for use. */
   @SerializedName("effective_at")
   Long effectiveAt;
 
@@ -451,7 +451,7 @@ public static class ApplicabilityConfig extends StripeObject {
     @EqualsAndHashCode(callSuper = false)
     public static class Scope extends StripeObject {
       /**
-       * The price type for which credit grants can apply. We currently only support the {@code
+       * The price type that credit grants can apply to. We currently only support the {@code
        * metered} price type. This refers to prices that have a <a
        * href="https://docs.stripe.com/api/billing/meter">Billing Meter</a> attached to them.
        *
diff --git a/src/main/java/com/stripe/model/billing/Meter.java b/src/main/java/com/stripe/model/billing/Meter.java
index 7397d804146..294b51f6bdb 100644
--- a/src/main/java/com/stripe/model/billing/Meter.java
+++ b/src/main/java/com/stripe/model/billing/Meter.java
@@ -24,10 +24,9 @@
 import lombok.Setter;
 
 /**
- * A billing meter is a resource that allows you to track usage of a particular event. For example,
- * you might create a billing meter to track the number of API calls made by a particular user. You
- * can then attach the billing meter to a price and attach the price to a subscription to charge the
- * user for the number of API calls they make.
+ * Meters specify how to aggregate meter events over a billing period. Meter events represent the
+ * actions that customers take in your system. Meters attach to prices and form the basis of the
+ * bill.
  *
  * <p>Related guide: <a href="https://docs.stripe.com/billing/subscriptions/usage-based">Usage based
  * billing</a>
@@ -137,22 +136,34 @@ public static Meter create(MeterCreateParams params, RequestOptions options)
     return getGlobalResponseGetter().request(request, Meter.class);
   }
 
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate() throws StripeException {
     return deactivate((Map<String, Object>) null, (RequestOptions) null);
   }
 
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(RequestOptions options) throws StripeException {
     return deactivate((Map<String, Object>) null, options);
   }
 
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(Map<String, Object> params) throws StripeException {
     return deactivate(params, (RequestOptions) null);
   }
 
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(Map<String, Object> params, RequestOptions options)
       throws StripeException {
     String path =
@@ -162,12 +173,18 @@ public Meter deactivate(Map<String, Object> params, RequestOptions options)
     return getResponseGetter().request(request, Meter.class);
   }
 
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(MeterDeactivateParams params) throws StripeException {
     return deactivate(params, (RequestOptions) null);
   }
 
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(MeterDeactivateParams params, RequestOptions options)
       throws StripeException {
     String path =
@@ -257,22 +274,34 @@ public static MeterCollection list(MeterListParams params, RequestOptions option
     return getGlobalResponseGetter().request(request, MeterCollection.class);
   }
 
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate() throws StripeException {
     return reactivate((Map<String, Object>) null, (RequestOptions) null);
   }
 
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(RequestOptions options) throws StripeException {
     return reactivate((Map<String, Object>) null, options);
   }
 
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(Map<String, Object> params) throws StripeException {
     return reactivate(params, (RequestOptions) null);
   }
 
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(Map<String, Object> params, RequestOptions options)
       throws StripeException {
     String path =
@@ -282,12 +311,18 @@ public Meter reactivate(Map<String, Object> params, RequestOptions options)
     return getResponseGetter().request(request, Meter.class);
   }
 
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(MeterReactivateParams params) throws StripeException {
     return reactivate(params, (RequestOptions) null);
   }
 
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(MeterReactivateParams params, RequestOptions options)
       throws StripeException {
     String path =
diff --git a/src/main/java/com/stripe/model/billing/MeterEvent.java b/src/main/java/com/stripe/model/billing/MeterEvent.java
index 12e27d7dd36..bd6e5919402 100644
--- a/src/main/java/com/stripe/model/billing/MeterEvent.java
+++ b/src/main/java/com/stripe/model/billing/MeterEvent.java
@@ -15,9 +15,9 @@
 import lombok.Setter;
 
 /**
- * A billing meter event represents a customer's usage of a product. Meter events are used to bill a
- * customer based on their usage. Meter events are associated with billing meters, which define the
- * shape of the event's payload and how those events are aggregated for billing.
+ * Meter events represent actions that customers take in your system. You can use meter events to
+ * bill a customer based on their usage. Meter events are associated with billing meters, which
+ * define both the contents of the event’s payload and how to aggregate those events.
  */
 @Getter
 @Setter
diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java
index f28a95d9cea..bea1df4a1ae 100644
--- a/src/main/java/com/stripe/model/checkout/Session.java
+++ b/src/main/java/com/stripe/model/checkout/Session.java
@@ -1347,7 +1347,10 @@ public static class TaxId extends StripeObject {
        * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
        * ph_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn},
        * {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code
-       * ma_vat}, {@code by_tin}, or {@code unknown}.
+       * ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif},
+       * {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code
+       * mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin},
+       * {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
        */
       @SerializedName("type")
       String type;
@@ -1974,7 +1977,15 @@ public static class BacsDebit extends StripeObject {
       @Getter
       @Setter
       @EqualsAndHashCode(callSuper = false)
-      public static class MandateOptions extends StripeObject {}
+      public static class MandateOptions extends StripeObject {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        String referencePrefix;
+      }
     }
 
     /**
@@ -3022,7 +3033,15 @@ public static class SepaDebit extends StripeObject {
       @Getter
       @Setter
       @EqualsAndHashCode(callSuper = false)
-      public static class MandateOptions extends StripeObject {}
+      public static class MandateOptions extends StripeObject {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        String referencePrefix;
+      }
     }
 
     /**
diff --git a/src/main/java/com/stripe/model/issuing/Authorization.java b/src/main/java/com/stripe/model/issuing/Authorization.java
index 05b589e57ff..3b7cc983996 100644
--- a/src/main/java/com/stripe/model/issuing/Authorization.java
+++ b/src/main/java/com/stripe/model/issuing/Authorization.java
@@ -914,6 +914,10 @@ public static class MerchantData extends StripeObject {
     @SerializedName("state")
     String state;
 
+    /** The seller's tax identification number. Currently populated for French merchants only. */
+    @SerializedName("tax_id")
+    String taxId;
+
     /** An ID assigned by the seller to the location of the sale. */
     @SerializedName("terminal_id")
     String terminalId;
diff --git a/src/main/java/com/stripe/model/issuing/Transaction.java b/src/main/java/com/stripe/model/issuing/Transaction.java
index 6593081e096..ec801d27b9b 100644
--- a/src/main/java/com/stripe/model/issuing/Transaction.java
+++ b/src/main/java/com/stripe/model/issuing/Transaction.java
@@ -491,6 +491,10 @@ public static class MerchantData extends StripeObject {
     @SerializedName("state")
     String state;
 
+    /** The seller's tax identification number. Currently populated for French merchants only. */
+    @SerializedName("tax_id")
+    String taxId;
+
     /** An ID assigned by the seller to the location of the sale. */
     @SerializedName("terminal_id")
     String terminalId;
diff --git a/src/main/java/com/stripe/model/tax/Calculation.java b/src/main/java/com/stripe/model/tax/Calculation.java
index 916eaf99ba6..7d954b0954c 100644
--- a/src/main/java/com/stripe/model/tax/Calculation.java
+++ b/src/main/java/com/stripe/model/tax/Calculation.java
@@ -334,7 +334,10 @@ public static class TaxId extends StripeObject {
        * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
        * ph_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn},
        * {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code
-       * ma_vat}, {@code by_tin}, or {@code unknown}.
+       * ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif},
+       * {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code
+       * mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin},
+       * {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
        */
       @SerializedName("type")
       String type;
diff --git a/src/main/java/com/stripe/model/tax/Transaction.java b/src/main/java/com/stripe/model/tax/Transaction.java
index cbb0832d0c2..62a31b7c897 100644
--- a/src/main/java/com/stripe/model/tax/Transaction.java
+++ b/src/main/java/com/stripe/model/tax/Transaction.java
@@ -379,7 +379,10 @@ public static class TaxId extends StripeObject {
        * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
        * ph_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn},
        * {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code
-       * ma_vat}, {@code by_tin}, or {@code unknown}.
+       * ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif},
+       * {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code
+       * mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin},
+       * {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
        */
       @SerializedName("type")
       String type;
diff --git a/src/main/java/com/stripe/model/treasury/FinancialAccountFeatures.java b/src/main/java/com/stripe/model/treasury/FinancialAccountFeatures.java
index b12224c61d8..06a3b892afe 100644
--- a/src/main/java/com/stripe/model/treasury/FinancialAccountFeatures.java
+++ b/src/main/java/com/stripe/model/treasury/FinancialAccountFeatures.java
@@ -236,11 +236,11 @@ public static class StatusDetail extends StripeObject {
   @Setter
   @EqualsAndHashCode(callSuper = false)
   public static class InboundTransfers extends StripeObject {
-    /** Toggle settings for enabling/disabling an ACH specific feature. */
+    /** Toggle settings for enabling/disabling an inbound ACH specific feature. */
     @SerializedName("ach")
     Ach ach;
 
-    /** Toggle settings for enabling/disabling an ACH specific feature. */
+    /** Toggle settings for enabling/disabling an inbound ACH specific feature. */
     @Getter
     @Setter
     @EqualsAndHashCode(callSuper = false)
@@ -358,7 +358,7 @@ public static class StatusDetail extends StripeObject {
   @Setter
   @EqualsAndHashCode(callSuper = false)
   public static class OutboundPayments extends StripeObject {
-    /** Toggle settings for enabling/disabling an ACH specific feature. */
+    /** Toggle settings for enabling/disabling an outbound ACH specific feature. */
     @SerializedName("ach")
     Ach ach;
 
@@ -366,7 +366,7 @@ public static class OutboundPayments extends StripeObject {
     @SerializedName("us_domestic_wire")
     UsDomesticWire usDomesticWire;
 
-    /** Toggle settings for enabling/disabling an ACH specific feature. */
+    /** Toggle settings for enabling/disabling an outbound ACH specific feature. */
     @Getter
     @Setter
     @EqualsAndHashCode(callSuper = false)
@@ -484,7 +484,7 @@ public static class StatusDetail extends StripeObject {
   @Setter
   @EqualsAndHashCode(callSuper = false)
   public static class OutboundTransfers extends StripeObject {
-    /** Toggle settings for enabling/disabling an ACH specific feature. */
+    /** Toggle settings for enabling/disabling an outbound ACH specific feature. */
     @SerializedName("ach")
     Ach ach;
 
@@ -492,7 +492,7 @@ public static class OutboundTransfers extends StripeObject {
     @SerializedName("us_domestic_wire")
     UsDomesticWire usDomesticWire;
 
-    /** Toggle settings for enabling/disabling an ACH specific feature. */
+    /** Toggle settings for enabling/disabling an outbound ACH specific feature. */
     @Getter
     @Setter
     @EqualsAndHashCode(callSuper = false)
diff --git a/src/main/java/com/stripe/param/AccountCreateParams.java b/src/main/java/com/stripe/param/AccountCreateParams.java
index 7257c56fb1f..6e02ba32d52 100644
--- a/src/main/java/com/stripe/param/AccountCreateParams.java
+++ b/src/main/java/com/stripe/param/AccountCreateParams.java
@@ -133,7 +133,7 @@ public class AccountCreateParams extends ApiRequestParams {
 
   /**
    * A hash of account group type to tokens. These are account groups this account should be added
-   * to
+   * to.
    */
   @SerializedName("groups")
   Groups groups;
@@ -471,7 +471,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
     /**
      * A hash of account group type to tokens. These are account groups this account should be added
-     * to
+     * to.
      */
     public Builder setGroups(AccountCreateParams.Groups groups) {
       this.groups = groups;
diff --git a/src/main/java/com/stripe/param/AccountSessionCreateParams.java b/src/main/java/com/stripe/param/AccountSessionCreateParams.java
index 89da3c4cbe7..f6c4b13d9ab 100644
--- a/src/main/java/com/stripe/param/AccountSessionCreateParams.java
+++ b/src/main/java/com/stripe/param/AccountSessionCreateParams.java
@@ -446,11 +446,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -504,11 +504,12 @@ public AccountSessionCreateParams.Components.AccountManagement.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be false for accounts where you’re responsible for collecting updated information when
-           * requirements are due or change, like custom accounts. The default value for this
-           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-           * true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -649,11 +650,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -707,11 +708,12 @@ public AccountSessionCreateParams.Components.AccountOnboarding.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be false for accounts where you’re responsible for collecting updated information when
-           * requirements are due or change, like custom accounts. The default value for this
-           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-           * true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -851,11 +853,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -945,11 +947,12 @@ public AccountSessionCreateParams.Components.Balances.Features build() {
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be false for accounts where you’re responsible for collecting updated information when
-           * requirements are due or change, like custom accounts. The default value for this
-           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-           * true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -1258,11 +1261,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -1316,11 +1319,12 @@ public AccountSessionCreateParams.Components.NotificationBanner.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be false for accounts where you’re responsible for collecting updated information when
-           * requirements are due or change, like custom accounts. The default value for this
-           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-           * true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -1910,11 +1914,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * false for accounts where you’re responsible for collecting updated information when
-         * requirements are due or change, like custom accounts. The default value for this feature
-         * is {@code false} when {@code external_account_collection} is enabled and {@code true}
-         * otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -2004,11 +2008,12 @@ public AccountSessionCreateParams.Components.Payouts.Features build() {
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be false for accounts where you’re responsible for collecting updated information when
-           * requirements are due or change, like custom accounts. The default value for this
-           * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-           * true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
diff --git a/src/main/java/com/stripe/param/AccountUpdateParams.java b/src/main/java/com/stripe/param/AccountUpdateParams.java
index a65a2ab829a..699141df817 100644
--- a/src/main/java/com/stripe/param/AccountUpdateParams.java
+++ b/src/main/java/com/stripe/param/AccountUpdateParams.java
@@ -117,7 +117,7 @@ public class AccountUpdateParams extends ApiRequestParams {
 
   /**
    * A hash of account group type to tokens. These are account groups this account should be added
-   * to
+   * to.
    */
   @SerializedName("groups")
   Groups groups;
@@ -467,7 +467,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
     /**
      * A hash of account group type to tokens. These are account groups this account should be added
-     * to
+     * to.
      */
     public Builder setGroups(AccountUpdateParams.Groups groups) {
       this.groups = groups;
diff --git a/src/main/java/com/stripe/param/BalanceTransactionListParams.java b/src/main/java/com/stripe/param/BalanceTransactionListParams.java
index fd751e78649..c3cc50da7e0 100644
--- a/src/main/java/com/stripe/param/BalanceTransactionListParams.java
+++ b/src/main/java/com/stripe/param/BalanceTransactionListParams.java
@@ -82,10 +82,10 @@ public class BalanceTransactionListParams extends ApiRequestParams {
    * {@code payment}, {@code payment_failure_refund}, {@code payment_network_reserve_hold}, {@code
    * payment_network_reserve_release}, {@code payment_refund}, {@code payment_reversal}, {@code
    * payment_unreconciled}, {@code payout}, {@code payout_cancel}, {@code payout_failure}, {@code
-   * refund}, {@code refund_failure}, {@code reserve_transaction}, {@code reserved_funds}, {@code
-   * stripe_fee}, {@code stripe_fx_fee}, {@code tax_fee}, {@code topup}, {@code topup_reversal},
-   * {@code transfer}, {@code transfer_cancel}, {@code transfer_failure}, or {@code
-   * transfer_refund}.
+   * payout_minimum_balance_hold}, {@code payout_minimum_balance_release}, {@code refund}, {@code
+   * refund_failure}, {@code reserve_transaction}, {@code reserved_funds}, {@code stripe_fee},
+   * {@code stripe_fx_fee}, {@code tax_fee}, {@code topup}, {@code topup_reversal}, {@code
+   * transfer}, {@code transfer_cancel}, {@code transfer_failure}, or {@code transfer_refund}.
    */
   @SerializedName("type")
   String type;
@@ -283,7 +283,8 @@ public Builder setStartingAfter(String startingAfter) {
      * obligation_reversal_inbound}, {@code payment}, {@code payment_failure_refund}, {@code
      * payment_network_reserve_hold}, {@code payment_network_reserve_release}, {@code
      * payment_refund}, {@code payment_reversal}, {@code payment_unreconciled}, {@code payout},
-     * {@code payout_cancel}, {@code payout_failure}, {@code refund}, {@code refund_failure}, {@code
+     * {@code payout_cancel}, {@code payout_failure}, {@code payout_minimum_balance_hold}, {@code
+     * payout_minimum_balance_release}, {@code refund}, {@code refund_failure}, {@code
      * reserve_transaction}, {@code reserved_funds}, {@code stripe_fee}, {@code stripe_fx_fee},
      * {@code tax_fee}, {@code topup}, {@code topup_reversal}, {@code transfer}, {@code
      * transfer_cancel}, {@code transfer_failure}, or {@code transfer_refund}.
diff --git a/src/main/java/com/stripe/param/CustomerCreateParams.java b/src/main/java/com/stripe/param/CustomerCreateParams.java
index 7f09c119bc9..837c376ea17 100644
--- a/src/main/java/com/stripe/param/CustomerCreateParams.java
+++ b/src/main/java/com/stripe/param/CustomerCreateParams.java
@@ -1681,21 +1681,24 @@ public static class TaxIdData {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-     * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
-     * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn},
-     * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code
-     * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-     * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code
-     * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-     * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst},
-     * {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code
-     * ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin},
-     * {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code
-     * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-     * {@code vn_tin}, or {@code za_vat}
+     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
+     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
+     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
+     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
+     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
+     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
+     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
+     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
+     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
+     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     @SerializedName("type")
     Type type;
@@ -1754,21 +1757,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-       * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-       * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-       * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-       * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-       * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-       * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-       * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-       * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
        * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-       * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-       * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       public Builder setType(CustomerCreateParams.TaxIdData.Type type) {
         this.type = type;
@@ -1789,6 +1795,12 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("ae_trn")
       AE_TRN("ae_trn"),
 
+      @SerializedName("am_tin")
+      AM_TIN("am_tin"),
+
+      @SerializedName("ao_tin")
+      AO_TIN("ao_tin"),
+
       @SerializedName("ar_cuit")
       AR_CUIT("ar_cuit"),
 
@@ -1798,6 +1810,12 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("au_arn")
       AU_ARN("au_arn"),
 
+      @SerializedName("ba_tin")
+      BA_TIN("ba_tin"),
+
+      @SerializedName("bb_tin")
+      BB_TIN("bb_tin"),
+
       @SerializedName("bg_uic")
       BG_UIC("bg_uic"),
 
@@ -1813,6 +1831,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("br_cpf")
       BR_CPF("br_cpf"),
 
+      @SerializedName("bs_tin")
+      BS_TIN("bs_tin"),
+
       @SerializedName("by_tin")
       BY_TIN("by_tin"),
 
@@ -1834,6 +1855,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("ca_qst")
       CA_QST("ca_qst"),
 
+      @SerializedName("cd_nif")
+      CD_NIF("cd_nif"),
+
       @SerializedName("ch_uid")
       CH_UID("ch_uid"),
 
@@ -1879,6 +1903,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("ge_vat")
       GE_VAT("ge_vat"),
 
+      @SerializedName("gn_nif")
+      GN_NIF("gn_nif"),
+
       @SerializedName("hk_br")
       HK_BR("hk_br"),
 
@@ -1912,6 +1939,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("ke_pin")
       KE_PIN("ke_pin"),
 
+      @SerializedName("kh_tin")
+      KH_TIN("kh_tin"),
+
       @SerializedName("kr_brn")
       KR_BRN("kr_brn"),
 
@@ -1930,6 +1960,15 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("md_vat")
       MD_VAT("md_vat"),
 
+      @SerializedName("me_pib")
+      ME_PIB("me_pib"),
+
+      @SerializedName("mk_vat")
+      MK_VAT("mk_vat"),
+
+      @SerializedName("mr_nif")
+      MR_NIF("mr_nif"),
+
       @SerializedName("mx_rfc")
       MX_RFC("mx_rfc"),
 
@@ -1951,6 +1990,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("no_voec")
       NO_VOEC("no_voec"),
 
+      @SerializedName("np_pan")
+      NP_PAN("np_pan"),
+
       @SerializedName("nz_gst")
       NZ_GST("nz_gst"),
 
@@ -1987,12 +2029,21 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("si_tin")
       SI_TIN("si_tin"),
 
+      @SerializedName("sn_ninea")
+      SN_NINEA("sn_ninea"),
+
+      @SerializedName("sr_fin")
+      SR_FIN("sr_fin"),
+
       @SerializedName("sv_nit")
       SV_NIT("sv_nit"),
 
       @SerializedName("th_vat")
       TH_VAT("th_vat"),
 
+      @SerializedName("tj_tin")
+      TJ_TIN("tj_tin"),
+
       @SerializedName("tr_tin")
       TR_TIN("tr_tin"),
 
@@ -2005,6 +2056,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("ua_vat")
       UA_VAT("ua_vat"),
 
+      @SerializedName("ug_tin")
+      UG_TIN("ug_tin"),
+
       @SerializedName("us_ein")
       US_EIN("us_ein"),
 
@@ -2024,7 +2078,13 @@ public enum Type implements ApiRequestParams.EnumParam {
       VN_TIN("vn_tin"),
 
       @SerializedName("za_vat")
-      ZA_VAT("za_vat");
+      ZA_VAT("za_vat"),
+
+      @SerializedName("zm_tin")
+      ZM_TIN("zm_tin"),
+
+      @SerializedName("zw_tin")
+      ZW_TIN("zw_tin");
 
       @Getter(onMethod_ = {@Override})
       private final String value;
diff --git a/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java b/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java
index dbc72bfabe0..28fda9d68e8 100644
--- a/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java
+++ b/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java
@@ -26,20 +26,23 @@ public class CustomerTaxIdCreateParams extends ApiRequestParams {
 
   /**
    * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-   * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-   * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-   * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
+   * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+   * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+   * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc},
+   * {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code
    * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code
    * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat},
-   * {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp},
-   * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
-   * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-   * {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin},
-   * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+   * {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
+   * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn},
+   * {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
+   * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+   * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+   * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
    * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code
-   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code
-   * tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-   * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit},
+   * {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+   * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+   * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
    */
   @SerializedName("type")
   Type type;
@@ -128,21 +131,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-     * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
-     * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn},
-     * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code
-     * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-     * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code
-     * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-     * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst},
-     * {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code
-     * ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin},
-     * {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code
-     * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-     * {@code vn_tin}, or {@code za_vat}
+     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
+     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
+     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
+     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
+     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
+     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
+     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
+     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
+     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
+     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     public Builder setType(CustomerTaxIdCreateParams.Type type) {
       this.type = type;
@@ -163,6 +169,12 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ae_trn")
     AE_TRN("ae_trn"),
 
+    @SerializedName("am_tin")
+    AM_TIN("am_tin"),
+
+    @SerializedName("ao_tin")
+    AO_TIN("ao_tin"),
+
     @SerializedName("ar_cuit")
     AR_CUIT("ar_cuit"),
 
@@ -172,6 +184,12 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("au_arn")
     AU_ARN("au_arn"),
 
+    @SerializedName("ba_tin")
+    BA_TIN("ba_tin"),
+
+    @SerializedName("bb_tin")
+    BB_TIN("bb_tin"),
+
     @SerializedName("bg_uic")
     BG_UIC("bg_uic"),
 
@@ -187,6 +205,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("br_cpf")
     BR_CPF("br_cpf"),
 
+    @SerializedName("bs_tin")
+    BS_TIN("bs_tin"),
+
     @SerializedName("by_tin")
     BY_TIN("by_tin"),
 
@@ -208,6 +229,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ca_qst")
     CA_QST("ca_qst"),
 
+    @SerializedName("cd_nif")
+    CD_NIF("cd_nif"),
+
     @SerializedName("ch_uid")
     CH_UID("ch_uid"),
 
@@ -253,6 +277,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ge_vat")
     GE_VAT("ge_vat"),
 
+    @SerializedName("gn_nif")
+    GN_NIF("gn_nif"),
+
     @SerializedName("hk_br")
     HK_BR("hk_br"),
 
@@ -286,6 +313,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ke_pin")
     KE_PIN("ke_pin"),
 
+    @SerializedName("kh_tin")
+    KH_TIN("kh_tin"),
+
     @SerializedName("kr_brn")
     KR_BRN("kr_brn"),
 
@@ -304,6 +334,15 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("md_vat")
     MD_VAT("md_vat"),
 
+    @SerializedName("me_pib")
+    ME_PIB("me_pib"),
+
+    @SerializedName("mk_vat")
+    MK_VAT("mk_vat"),
+
+    @SerializedName("mr_nif")
+    MR_NIF("mr_nif"),
+
     @SerializedName("mx_rfc")
     MX_RFC("mx_rfc"),
 
@@ -325,6 +364,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("no_voec")
     NO_VOEC("no_voec"),
 
+    @SerializedName("np_pan")
+    NP_PAN("np_pan"),
+
     @SerializedName("nz_gst")
     NZ_GST("nz_gst"),
 
@@ -361,12 +403,21 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("si_tin")
     SI_TIN("si_tin"),
 
+    @SerializedName("sn_ninea")
+    SN_NINEA("sn_ninea"),
+
+    @SerializedName("sr_fin")
+    SR_FIN("sr_fin"),
+
     @SerializedName("sv_nit")
     SV_NIT("sv_nit"),
 
     @SerializedName("th_vat")
     TH_VAT("th_vat"),
 
+    @SerializedName("tj_tin")
+    TJ_TIN("tj_tin"),
+
     @SerializedName("tr_tin")
     TR_TIN("tr_tin"),
 
@@ -379,6 +430,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ua_vat")
     UA_VAT("ua_vat"),
 
+    @SerializedName("ug_tin")
+    UG_TIN("ug_tin"),
+
     @SerializedName("us_ein")
     US_EIN("us_ein"),
 
@@ -398,7 +452,13 @@ public enum Type implements ApiRequestParams.EnumParam {
     VN_TIN("vn_tin"),
 
     @SerializedName("za_vat")
-    ZA_VAT("za_vat");
+    ZA_VAT("za_vat"),
+
+    @SerializedName("zm_tin")
+    ZM_TIN("zm_tin"),
+
+    @SerializedName("zw_tin")
+    ZW_TIN("zw_tin");
 
     @Getter(onMethod_ = {@Override})
     private final String value;
diff --git a/src/main/java/com/stripe/param/CustomerUpdateParams.java b/src/main/java/com/stripe/param/CustomerUpdateParams.java
index 7b26280b5a6..3a4c538ab4c 100644
--- a/src/main/java/com/stripe/param/CustomerUpdateParams.java
+++ b/src/main/java/com/stripe/param/CustomerUpdateParams.java
@@ -1743,7 +1743,7 @@ public static class Tax {
 
     /**
      * A flag that indicates when Stripe should validate the customer tax location. Defaults to
-     * {@code deferred}.
+     * {@code auto}.
      */
     @SerializedName("validate_location")
     ValidateLocation validateLocation;
@@ -1822,7 +1822,7 @@ public Builder setIpAddress(EmptyParam ipAddress) {
 
       /**
        * A flag that indicates when Stripe should validate the customer tax location. Defaults to
-       * {@code deferred}.
+       * {@code auto}.
        */
       public Builder setValidateLocation(
           CustomerUpdateParams.Tax.ValidateLocation validateLocation) {
diff --git a/src/main/java/com/stripe/param/DisputeUpdateParams.java b/src/main/java/com/stripe/param/DisputeUpdateParams.java
index ab7a359b04c..702812e9193 100644
--- a/src/main/java/com/stripe/param/DisputeUpdateParams.java
+++ b/src/main/java/com/stripe/param/DisputeUpdateParams.java
@@ -1086,10 +1086,17 @@ public static class EnhancedEvidence {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
+      /** Evidence provided for Visa Compliance evidence submission. */
+      @SerializedName("visa_compliance")
+      VisaCompliance visaCompliance;
+
       private EnhancedEvidence(
-          Map<String, Object> extraParams, VisaCompellingEvidence3 visaCompellingEvidence3) {
+          Map<String, Object> extraParams,
+          VisaCompellingEvidence3 visaCompellingEvidence3,
+          VisaCompliance visaCompliance) {
         this.extraParams = extraParams;
         this.visaCompellingEvidence3 = visaCompellingEvidence3;
+        this.visaCompliance = visaCompliance;
       }
 
       public static Builder builder() {
@@ -1101,10 +1108,12 @@ public static class Builder {
 
         private VisaCompellingEvidence3 visaCompellingEvidence3;
 
+        private VisaCompliance visaCompliance;
+
         /** Finalize and obtain parameter instance from this builder. */
         public DisputeUpdateParams.Evidence.EnhancedEvidence build() {
           return new DisputeUpdateParams.Evidence.EnhancedEvidence(
-              this.extraParams, this.visaCompellingEvidence3);
+              this.extraParams, this.visaCompellingEvidence3, this.visaCompliance);
         }
 
         /**
@@ -1142,6 +1151,13 @@ public Builder setVisaCompellingEvidence3(
           this.visaCompellingEvidence3 = visaCompellingEvidence3;
           return this;
         }
+
+        /** Evidence provided for Visa Compliance evidence submission. */
+        public Builder setVisaCompliance(
+            DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance visaCompliance) {
+          this.visaCompliance = visaCompliance;
+          return this;
+        }
       }
 
       @Getter
@@ -2220,6 +2236,88 @@ public Builder setState(EmptyParam state) {
           }
         }
       }
+
+      @Getter
+      public static class VisaCompliance {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * A field acknowledging the fee incurred when countering a Visa Compliance dispute. If this
+         * field is set to true, evidence can be submitted for the compliance dispute, and you may
+         * incur a $500 fee if the case is lost.
+         */
+        @SerializedName("fee_acknowledged")
+        Boolean feeAcknowledged;
+
+        private VisaCompliance(Map<String, Object> extraParams, Boolean feeAcknowledged) {
+          this.extraParams = extraParams;
+          this.feeAcknowledged = feeAcknowledged;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private Boolean feeAcknowledged;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance build() {
+            return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance(
+                this.extraParams, this.feeAcknowledged);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link
+           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
+           * documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link
+           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
+           * documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * A field acknowledging the fee incurred when countering a Visa Compliance dispute. If
+           * this field is set to true, evidence can be submitted for the compliance dispute, and
+           * you may incur a $500 fee if the case is lost.
+           */
+          public Builder setFeeAcknowledged(Boolean feeAcknowledged) {
+            this.feeAcknowledged = feeAcknowledged;
+            return this;
+          }
+        }
+      }
     }
   }
 }
diff --git a/src/main/java/com/stripe/param/InvoiceCreateParams.java b/src/main/java/com/stripe/param/InvoiceCreateParams.java
index 2c45d6891a4..d8805bc2fad 100644
--- a/src/main/java/com/stripe/param/InvoiceCreateParams.java
+++ b/src/main/java/com/stripe/param/InvoiceCreateParams.java
@@ -1527,6 +1527,7 @@ public static class PaymentSettings {
      * invoice’s default payment method, the subscription’s default payment method, the customer’s
      * default payment method, and your <a
      * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+     * Should not be specified with payment_method_configuration
      */
     @SerializedName("payment_method_types")
     Object paymentMethodTypes;
@@ -1657,6 +1658,7 @@ public Builder addAllPaymentMethodType(
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
         this.paymentMethodTypes = paymentMethodTypes;
@@ -1669,6 +1671,7 @@ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(
           List<InvoiceCreateParams.PaymentSettings.PaymentMethodType> paymentMethodTypes) {
diff --git a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
index edfa2218e62..894a3ca27bf 100644
--- a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
+++ b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
@@ -1356,21 +1356,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-       * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-       * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-       * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-       * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-       * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-       * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-       * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-       * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
        * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-       * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-       * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1432,21 +1435,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-         * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-         * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-         * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-         * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-         * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-         * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-         * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-         * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-         * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-         * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-         * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-         * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-         * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
+         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
+         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
+         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
+         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
+         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
+         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
+         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
+         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
          */
         public Builder setType(InvoiceCreatePreviewParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1467,6 +1473,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("am_tin")
+        AM_TIN("am_tin"),
+
+        @SerializedName("ao_tin")
+        AO_TIN("ao_tin"),
+
         @SerializedName("ar_cuit")
         AR_CUIT("ar_cuit"),
 
@@ -1476,6 +1488,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("au_arn")
         AU_ARN("au_arn"),
 
+        @SerializedName("ba_tin")
+        BA_TIN("ba_tin"),
+
+        @SerializedName("bb_tin")
+        BB_TIN("bb_tin"),
+
         @SerializedName("bg_uic")
         BG_UIC("bg_uic"),
 
@@ -1491,6 +1509,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("br_cpf")
         BR_CPF("br_cpf"),
 
+        @SerializedName("bs_tin")
+        BS_TIN("bs_tin"),
+
         @SerializedName("by_tin")
         BY_TIN("by_tin"),
 
@@ -1512,6 +1533,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ca_qst")
         CA_QST("ca_qst"),
 
+        @SerializedName("cd_nif")
+        CD_NIF("cd_nif"),
+
         @SerializedName("ch_uid")
         CH_UID("ch_uid"),
 
@@ -1557,6 +1581,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ge_vat")
         GE_VAT("ge_vat"),
 
+        @SerializedName("gn_nif")
+        GN_NIF("gn_nif"),
+
         @SerializedName("hk_br")
         HK_BR("hk_br"),
 
@@ -1590,6 +1617,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ke_pin")
         KE_PIN("ke_pin"),
 
+        @SerializedName("kh_tin")
+        KH_TIN("kh_tin"),
+
         @SerializedName("kr_brn")
         KR_BRN("kr_brn"),
 
@@ -1608,6 +1638,15 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("md_vat")
         MD_VAT("md_vat"),
 
+        @SerializedName("me_pib")
+        ME_PIB("me_pib"),
+
+        @SerializedName("mk_vat")
+        MK_VAT("mk_vat"),
+
+        @SerializedName("mr_nif")
+        MR_NIF("mr_nif"),
+
         @SerializedName("mx_rfc")
         MX_RFC("mx_rfc"),
 
@@ -1629,6 +1668,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("no_voec")
         NO_VOEC("no_voec"),
 
+        @SerializedName("np_pan")
+        NP_PAN("np_pan"),
+
         @SerializedName("nz_gst")
         NZ_GST("nz_gst"),
 
@@ -1665,12 +1707,21 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("si_tin")
         SI_TIN("si_tin"),
 
+        @SerializedName("sn_ninea")
+        SN_NINEA("sn_ninea"),
+
+        @SerializedName("sr_fin")
+        SR_FIN("sr_fin"),
+
         @SerializedName("sv_nit")
         SV_NIT("sv_nit"),
 
         @SerializedName("th_vat")
         TH_VAT("th_vat"),
 
+        @SerializedName("tj_tin")
+        TJ_TIN("tj_tin"),
+
         @SerializedName("tr_tin")
         TR_TIN("tr_tin"),
 
@@ -1683,6 +1734,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ua_vat")
         UA_VAT("ua_vat"),
 
+        @SerializedName("ug_tin")
+        UG_TIN("ug_tin"),
+
         @SerializedName("us_ein")
         US_EIN("us_ein"),
 
@@ -1702,7 +1756,13 @@ public enum Type implements ApiRequestParams.EnumParam {
         VN_TIN("vn_tin"),
 
         @SerializedName("za_vat")
-        ZA_VAT("za_vat");
+        ZA_VAT("za_vat"),
+
+        @SerializedName("zm_tin")
+        ZM_TIN("zm_tin"),
+
+        @SerializedName("zw_tin")
+        ZW_TIN("zw_tin");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -6451,8 +6511,9 @@ public static class Item {
       Object billingThresholds;
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       @SerializedName("clear_usage")
       Boolean clearUsage;
@@ -6616,8 +6677,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
         }
 
         /**
-         * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set
-         * to {@code true} and the current plan's {@code usage_type} is {@code metered}.
+         * Delete all usage for a given subscription item. You must pass this when deleting a usage
+         * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+         * meter attached.
          */
         public Builder setClearUsage(Boolean clearUsage) {
           this.clearUsage = clearUsage;
diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java
index f9819ba92ab..e84f061875c 100644
--- a/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java
@@ -1848,21 +1848,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-       * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-       * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-       * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-       * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-       * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-       * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-       * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-       * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
        * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-       * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-       * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1924,21 +1927,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-         * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-         * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-         * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-         * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-         * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-         * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-         * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-         * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-         * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-         * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-         * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-         * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-         * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
+         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
+         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
+         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
+         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
+         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
+         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
+         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
+         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
          */
         public Builder setType(InvoiceUpcomingLinesListParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1959,6 +1965,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("am_tin")
+        AM_TIN("am_tin"),
+
+        @SerializedName("ao_tin")
+        AO_TIN("ao_tin"),
+
         @SerializedName("ar_cuit")
         AR_CUIT("ar_cuit"),
 
@@ -1968,6 +1980,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("au_arn")
         AU_ARN("au_arn"),
 
+        @SerializedName("ba_tin")
+        BA_TIN("ba_tin"),
+
+        @SerializedName("bb_tin")
+        BB_TIN("bb_tin"),
+
         @SerializedName("bg_uic")
         BG_UIC("bg_uic"),
 
@@ -1983,6 +2001,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("br_cpf")
         BR_CPF("br_cpf"),
 
+        @SerializedName("bs_tin")
+        BS_TIN("bs_tin"),
+
         @SerializedName("by_tin")
         BY_TIN("by_tin"),
 
@@ -2004,6 +2025,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ca_qst")
         CA_QST("ca_qst"),
 
+        @SerializedName("cd_nif")
+        CD_NIF("cd_nif"),
+
         @SerializedName("ch_uid")
         CH_UID("ch_uid"),
 
@@ -2049,6 +2073,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ge_vat")
         GE_VAT("ge_vat"),
 
+        @SerializedName("gn_nif")
+        GN_NIF("gn_nif"),
+
         @SerializedName("hk_br")
         HK_BR("hk_br"),
 
@@ -2082,6 +2109,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ke_pin")
         KE_PIN("ke_pin"),
 
+        @SerializedName("kh_tin")
+        KH_TIN("kh_tin"),
+
         @SerializedName("kr_brn")
         KR_BRN("kr_brn"),
 
@@ -2100,6 +2130,15 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("md_vat")
         MD_VAT("md_vat"),
 
+        @SerializedName("me_pib")
+        ME_PIB("me_pib"),
+
+        @SerializedName("mk_vat")
+        MK_VAT("mk_vat"),
+
+        @SerializedName("mr_nif")
+        MR_NIF("mr_nif"),
+
         @SerializedName("mx_rfc")
         MX_RFC("mx_rfc"),
 
@@ -2121,6 +2160,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("no_voec")
         NO_VOEC("no_voec"),
 
+        @SerializedName("np_pan")
+        NP_PAN("np_pan"),
+
         @SerializedName("nz_gst")
         NZ_GST("nz_gst"),
 
@@ -2157,12 +2199,21 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("si_tin")
         SI_TIN("si_tin"),
 
+        @SerializedName("sn_ninea")
+        SN_NINEA("sn_ninea"),
+
+        @SerializedName("sr_fin")
+        SR_FIN("sr_fin"),
+
         @SerializedName("sv_nit")
         SV_NIT("sv_nit"),
 
         @SerializedName("th_vat")
         TH_VAT("th_vat"),
 
+        @SerializedName("tj_tin")
+        TJ_TIN("tj_tin"),
+
         @SerializedName("tr_tin")
         TR_TIN("tr_tin"),
 
@@ -2175,6 +2226,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ua_vat")
         UA_VAT("ua_vat"),
 
+        @SerializedName("ug_tin")
+        UG_TIN("ug_tin"),
+
         @SerializedName("us_ein")
         US_EIN("us_ein"),
 
@@ -2194,7 +2248,13 @@ public enum Type implements ApiRequestParams.EnumParam {
         VN_TIN("vn_tin"),
 
         @SerializedName("za_vat")
-        ZA_VAT("za_vat");
+        ZA_VAT("za_vat"),
+
+        @SerializedName("zm_tin")
+        ZM_TIN("zm_tin"),
+
+        @SerializedName("zw_tin")
+        ZW_TIN("zw_tin");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -6976,8 +7036,9 @@ public static class Item {
       Object billingThresholds;
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       @SerializedName("clear_usage")
       Boolean clearUsage;
@@ -7141,8 +7202,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
         }
 
         /**
-         * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set
-         * to {@code true} and the current plan's {@code usage_type} is {@code metered}.
+         * Delete all usage for a given subscription item. You must pass this when deleting a usage
+         * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+         * meter attached.
          */
         public Builder setClearUsage(Boolean clearUsage) {
           this.clearUsage = clearUsage;
@@ -7974,8 +8036,9 @@ public static class SubscriptionItem {
     Object billingThresholds;
 
     /**
-     * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-     * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+     * Delete all usage for a given subscription item. You must pass this when deleting a usage
+     * records subscription item. {@code clear_usage} has no effect if the plan has a billing meter
+     * attached.
      */
     @SerializedName("clear_usage")
     Boolean clearUsage;
@@ -8138,8 +8201,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
       }
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       public Builder setClearUsage(Boolean clearUsage) {
         this.clearUsage = clearUsage;
diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java
index 77da275f068..6403c03dff0 100644
--- a/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java
@@ -1840,21 +1840,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-       * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-       * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-       * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-       * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-       * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-       * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-       * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-       * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
        * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-       * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-       * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1916,21 +1919,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-         * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-         * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-         * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-         * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-         * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-         * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-         * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-         * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-         * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-         * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-         * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-         * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-         * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
+         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
+         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
+         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
+         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
+         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
+         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
+         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
+         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
          */
         public Builder setType(InvoiceUpcomingLinesParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1951,6 +1957,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("am_tin")
+        AM_TIN("am_tin"),
+
+        @SerializedName("ao_tin")
+        AO_TIN("ao_tin"),
+
         @SerializedName("ar_cuit")
         AR_CUIT("ar_cuit"),
 
@@ -1960,6 +1972,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("au_arn")
         AU_ARN("au_arn"),
 
+        @SerializedName("ba_tin")
+        BA_TIN("ba_tin"),
+
+        @SerializedName("bb_tin")
+        BB_TIN("bb_tin"),
+
         @SerializedName("bg_uic")
         BG_UIC("bg_uic"),
 
@@ -1975,6 +1993,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("br_cpf")
         BR_CPF("br_cpf"),
 
+        @SerializedName("bs_tin")
+        BS_TIN("bs_tin"),
+
         @SerializedName("by_tin")
         BY_TIN("by_tin"),
 
@@ -1996,6 +2017,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ca_qst")
         CA_QST("ca_qst"),
 
+        @SerializedName("cd_nif")
+        CD_NIF("cd_nif"),
+
         @SerializedName("ch_uid")
         CH_UID("ch_uid"),
 
@@ -2041,6 +2065,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ge_vat")
         GE_VAT("ge_vat"),
 
+        @SerializedName("gn_nif")
+        GN_NIF("gn_nif"),
+
         @SerializedName("hk_br")
         HK_BR("hk_br"),
 
@@ -2074,6 +2101,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ke_pin")
         KE_PIN("ke_pin"),
 
+        @SerializedName("kh_tin")
+        KH_TIN("kh_tin"),
+
         @SerializedName("kr_brn")
         KR_BRN("kr_brn"),
 
@@ -2092,6 +2122,15 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("md_vat")
         MD_VAT("md_vat"),
 
+        @SerializedName("me_pib")
+        ME_PIB("me_pib"),
+
+        @SerializedName("mk_vat")
+        MK_VAT("mk_vat"),
+
+        @SerializedName("mr_nif")
+        MR_NIF("mr_nif"),
+
         @SerializedName("mx_rfc")
         MX_RFC("mx_rfc"),
 
@@ -2113,6 +2152,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("no_voec")
         NO_VOEC("no_voec"),
 
+        @SerializedName("np_pan")
+        NP_PAN("np_pan"),
+
         @SerializedName("nz_gst")
         NZ_GST("nz_gst"),
 
@@ -2149,12 +2191,21 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("si_tin")
         SI_TIN("si_tin"),
 
+        @SerializedName("sn_ninea")
+        SN_NINEA("sn_ninea"),
+
+        @SerializedName("sr_fin")
+        SR_FIN("sr_fin"),
+
         @SerializedName("sv_nit")
         SV_NIT("sv_nit"),
 
         @SerializedName("th_vat")
         TH_VAT("th_vat"),
 
+        @SerializedName("tj_tin")
+        TJ_TIN("tj_tin"),
+
         @SerializedName("tr_tin")
         TR_TIN("tr_tin"),
 
@@ -2167,6 +2218,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ua_vat")
         UA_VAT("ua_vat"),
 
+        @SerializedName("ug_tin")
+        UG_TIN("ug_tin"),
+
         @SerializedName("us_ein")
         US_EIN("us_ein"),
 
@@ -2186,7 +2240,13 @@ public enum Type implements ApiRequestParams.EnumParam {
         VN_TIN("vn_tin"),
 
         @SerializedName("za_vat")
-        ZA_VAT("za_vat");
+        ZA_VAT("za_vat"),
+
+        @SerializedName("zm_tin")
+        ZM_TIN("zm_tin"),
+
+        @SerializedName("zw_tin")
+        ZW_TIN("zw_tin");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -6935,8 +6995,9 @@ public static class Item {
       Object billingThresholds;
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       @SerializedName("clear_usage")
       Boolean clearUsage;
@@ -7100,8 +7161,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
         }
 
         /**
-         * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set
-         * to {@code true} and the current plan's {@code usage_type} is {@code metered}.
+         * Delete all usage for a given subscription item. You must pass this when deleting a usage
+         * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+         * meter attached.
          */
         public Builder setClearUsage(Boolean clearUsage) {
           this.clearUsage = clearUsage;
@@ -7931,8 +7993,9 @@ public static class SubscriptionItem {
     Object billingThresholds;
 
     /**
-     * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-     * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+     * Delete all usage for a given subscription item. You must pass this when deleting a usage
+     * records subscription item. {@code clear_usage} has no effect if the plan has a billing meter
+     * attached.
      */
     @SerializedName("clear_usage")
     Boolean clearUsage;
@@ -8095,8 +8158,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
       }
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       public Builder setClearUsage(Boolean clearUsage) {
         this.clearUsage = clearUsage;
diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingParams.java
index 5659c84f109..6d38185f694 100644
--- a/src/main/java/com/stripe/param/InvoiceUpcomingParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpcomingParams.java
@@ -1762,21 +1762,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-       * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-       * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-       * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-       * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-       * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-       * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-       * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-       * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
        * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-       * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-       * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1838,21 +1841,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-         * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-         * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-         * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-         * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-         * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-         * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-         * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-         * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-         * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-         * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-         * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-         * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-         * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
+         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
+         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
+         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
+         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
+         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
+         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
+         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
+         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
          */
         public Builder setType(InvoiceUpcomingParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1873,6 +1879,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("am_tin")
+        AM_TIN("am_tin"),
+
+        @SerializedName("ao_tin")
+        AO_TIN("ao_tin"),
+
         @SerializedName("ar_cuit")
         AR_CUIT("ar_cuit"),
 
@@ -1882,6 +1894,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("au_arn")
         AU_ARN("au_arn"),
 
+        @SerializedName("ba_tin")
+        BA_TIN("ba_tin"),
+
+        @SerializedName("bb_tin")
+        BB_TIN("bb_tin"),
+
         @SerializedName("bg_uic")
         BG_UIC("bg_uic"),
 
@@ -1897,6 +1915,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("br_cpf")
         BR_CPF("br_cpf"),
 
+        @SerializedName("bs_tin")
+        BS_TIN("bs_tin"),
+
         @SerializedName("by_tin")
         BY_TIN("by_tin"),
 
@@ -1918,6 +1939,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ca_qst")
         CA_QST("ca_qst"),
 
+        @SerializedName("cd_nif")
+        CD_NIF("cd_nif"),
+
         @SerializedName("ch_uid")
         CH_UID("ch_uid"),
 
@@ -1963,6 +1987,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ge_vat")
         GE_VAT("ge_vat"),
 
+        @SerializedName("gn_nif")
+        GN_NIF("gn_nif"),
+
         @SerializedName("hk_br")
         HK_BR("hk_br"),
 
@@ -1996,6 +2023,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ke_pin")
         KE_PIN("ke_pin"),
 
+        @SerializedName("kh_tin")
+        KH_TIN("kh_tin"),
+
         @SerializedName("kr_brn")
         KR_BRN("kr_brn"),
 
@@ -2014,6 +2044,15 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("md_vat")
         MD_VAT("md_vat"),
 
+        @SerializedName("me_pib")
+        ME_PIB("me_pib"),
+
+        @SerializedName("mk_vat")
+        MK_VAT("mk_vat"),
+
+        @SerializedName("mr_nif")
+        MR_NIF("mr_nif"),
+
         @SerializedName("mx_rfc")
         MX_RFC("mx_rfc"),
 
@@ -2035,6 +2074,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("no_voec")
         NO_VOEC("no_voec"),
 
+        @SerializedName("np_pan")
+        NP_PAN("np_pan"),
+
         @SerializedName("nz_gst")
         NZ_GST("nz_gst"),
 
@@ -2071,12 +2113,21 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("si_tin")
         SI_TIN("si_tin"),
 
+        @SerializedName("sn_ninea")
+        SN_NINEA("sn_ninea"),
+
+        @SerializedName("sr_fin")
+        SR_FIN("sr_fin"),
+
         @SerializedName("sv_nit")
         SV_NIT("sv_nit"),
 
         @SerializedName("th_vat")
         TH_VAT("th_vat"),
 
+        @SerializedName("tj_tin")
+        TJ_TIN("tj_tin"),
+
         @SerializedName("tr_tin")
         TR_TIN("tr_tin"),
 
@@ -2089,6 +2140,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ua_vat")
         UA_VAT("ua_vat"),
 
+        @SerializedName("ug_tin")
+        UG_TIN("ug_tin"),
+
         @SerializedName("us_ein")
         US_EIN("us_ein"),
 
@@ -2108,7 +2162,13 @@ public enum Type implements ApiRequestParams.EnumParam {
         VN_TIN("vn_tin"),
 
         @SerializedName("za_vat")
-        ZA_VAT("za_vat");
+        ZA_VAT("za_vat"),
+
+        @SerializedName("zm_tin")
+        ZM_TIN("zm_tin"),
+
+        @SerializedName("zw_tin")
+        ZW_TIN("zw_tin");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -6826,8 +6886,9 @@ public static class Item {
       Object billingThresholds;
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       @SerializedName("clear_usage")
       Boolean clearUsage;
@@ -6990,8 +7051,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
         }
 
         /**
-         * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set
-         * to {@code true} and the current plan's {@code usage_type} is {@code metered}.
+         * Delete all usage for a given subscription item. You must pass this when deleting a usage
+         * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+         * meter attached.
          */
         public Builder setClearUsage(Boolean clearUsage) {
           this.clearUsage = clearUsage;
@@ -7811,8 +7873,9 @@ public static class SubscriptionItem {
     Object billingThresholds;
 
     /**
-     * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-     * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+     * Delete all usage for a given subscription item. You must pass this when deleting a usage
+     * records subscription item. {@code clear_usage} has no effect if the plan has a billing meter
+     * attached.
      */
     @SerializedName("clear_usage")
     Boolean clearUsage;
@@ -7975,8 +8038,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
       }
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       public Builder setClearUsage(Boolean clearUsage) {
         this.clearUsage = clearUsage;
diff --git a/src/main/java/com/stripe/param/InvoiceUpdateParams.java b/src/main/java/com/stripe/param/InvoiceUpdateParams.java
index b3e0de987bd..416580058cd 100644
--- a/src/main/java/com/stripe/param/InvoiceUpdateParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpdateParams.java
@@ -1508,6 +1508,7 @@ public static class PaymentSettings {
      * invoice’s default payment method, the subscription’s default payment method, the customer’s
      * default payment method, and your <a
      * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+     * Should not be specified with payment_method_configuration
      */
     @SerializedName("payment_method_types")
     Object paymentMethodTypes;
@@ -1638,6 +1639,7 @@ public Builder addAllPaymentMethodType(
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
         this.paymentMethodTypes = paymentMethodTypes;
@@ -1650,6 +1652,7 @@ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(
           List<InvoiceUpdateParams.PaymentSettings.PaymentMethodType> paymentMethodTypes) {
diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java
index a519de9b02f..7111a2a1cbc 100644
--- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java
+++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java
@@ -8933,8 +8933,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -8944,10 +8953,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public PaymentIntentConfirmParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new PaymentIntentConfirmParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -8979,6 +8990,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -16528,8 +16559,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -16539,10 +16579,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public PaymentIntentConfirmParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new PaymentIntentConfirmParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -16574,6 +16616,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -16823,7 +16885,7 @@ public static class Swish {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** The order ID displayed in the Swish app after the payment is authorized. */
+      /** A reference for this payment to be displayed in the Swish app. */
       @SerializedName("reference")
       Object reference;
 
@@ -16905,13 +16967,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** The order ID displayed in the Swish app after the payment is authorized. */
+        /** A reference for this payment to be displayed in the Swish app. */
         public Builder setReference(String reference) {
           this.reference = reference;
           return this;
         }
 
-        /** The order ID displayed in the Swish app after the payment is authorized. */
+        /** A reference for this payment to be displayed in the Swish app. */
         public Builder setReference(EmptyParam reference) {
           this.reference = reference;
           return this;
diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java
index 7477332327c..8bc0b498523 100644
--- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java
+++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java
@@ -9445,8 +9445,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -9456,10 +9465,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public PaymentIntentCreateParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new PaymentIntentCreateParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -9491,6 +9502,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -17030,8 +17061,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -17041,10 +17081,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public PaymentIntentCreateParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new PaymentIntentCreateParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -17076,6 +17118,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -17325,7 +17387,7 @@ public static class Swish {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** The order ID displayed in the Swish app after the payment is authorized. */
+      /** A reference for this payment to be displayed in the Swish app. */
       @SerializedName("reference")
       Object reference;
 
@@ -17407,13 +17469,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** The order ID displayed in the Swish app after the payment is authorized. */
+        /** A reference for this payment to be displayed in the Swish app. */
         public Builder setReference(String reference) {
           this.reference = reference;
           return this;
         }
 
-        /** The order ID displayed in the Swish app after the payment is authorized. */
+        /** A reference for this payment to be displayed in the Swish app. */
         public Builder setReference(EmptyParam reference) {
           this.reference = reference;
           return this;
diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java
index c347babe145..5096403545f 100644
--- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java
+++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java
@@ -8947,8 +8947,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -8958,10 +8967,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public PaymentIntentUpdateParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new PaymentIntentUpdateParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -8993,6 +9004,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -16640,8 +16671,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -16651,10 +16691,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public PaymentIntentUpdateParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new PaymentIntentUpdateParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -16686,6 +16728,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -16935,7 +16997,7 @@ public static class Swish {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** The order ID displayed in the Swish app after the payment is authorized. */
+      /** A reference for this payment to be displayed in the Swish app. */
       @SerializedName("reference")
       Object reference;
 
@@ -17017,13 +17079,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** The order ID displayed in the Swish app after the payment is authorized. */
+        /** A reference for this payment to be displayed in the Swish app. */
         public Builder setReference(String reference) {
           this.reference = reference;
           return this;
         }
 
-        /** The order ID displayed in the Swish app after the payment is authorized. */
+        /** A reference for this payment to be displayed in the Swish app. */
         public Builder setReference(EmptyParam reference) {
           this.reference = reference;
           return this;
diff --git a/src/main/java/com/stripe/param/PaymentLinkCreateParams.java b/src/main/java/com/stripe/param/PaymentLinkCreateParams.java
index 78e83b42c2a..bef1296d4fc 100644
--- a/src/main/java/com/stripe/param/PaymentLinkCreateParams.java
+++ b/src/main/java/com/stripe/param/PaymentLinkCreateParams.java
@@ -1006,8 +1006,12 @@ public enum Type implements ApiRequestParams.EnumParam {
   @Getter
   public static class AutomaticTax {
     /**
-     * <strong>Required.</strong> If {@code true}, tax will be calculated automatically using the
-     * customer's location.
+     * <strong>Required.</strong> Set to {@code true} to <a
+     * href="https://docs.stripe.com/tax">calculate tax automatically</a> using the customer's
+     * location.
+     *
+     * <p>Enabling this parameter causes the payment link to collect any billing address information
+     * necessary for tax calculation.
      */
     @SerializedName("enabled")
     Boolean enabled;
@@ -1053,8 +1057,12 @@ public PaymentLinkCreateParams.AutomaticTax build() {
       }
 
       /**
-       * <strong>Required.</strong> If {@code true}, tax will be calculated automatically using the
-       * customer's location.
+       * <strong>Required.</strong> Set to {@code true} to <a
+       * href="https://docs.stripe.com/tax">calculate tax automatically</a> using the customer's
+       * location.
+       *
+       * <p>Enabling this parameter causes the payment link to collect any billing address
+       * information necessary for tax calculation.
        */
       public Builder setEnabled(Boolean enabled) {
         this.enabled = enabled;
diff --git a/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java b/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java
index 31a19f3614d..afdf79c15c1 100644
--- a/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java
+++ b/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java
@@ -917,8 +917,12 @@ public enum Type implements ApiRequestParams.EnumParam {
   @Getter
   public static class AutomaticTax {
     /**
-     * <strong>Required.</strong> If {@code true}, tax will be calculated automatically using the
-     * customer's location.
+     * <strong>Required.</strong> Set to {@code true} to <a
+     * href="https://docs.stripe.com/tax">calculate tax automatically</a> using the customer's
+     * location.
+     *
+     * <p>Enabling this parameter causes the payment link to collect any billing address information
+     * necessary for tax calculation.
      */
     @SerializedName("enabled")
     Boolean enabled;
@@ -964,8 +968,12 @@ public PaymentLinkUpdateParams.AutomaticTax build() {
       }
 
       /**
-       * <strong>Required.</strong> If {@code true}, tax will be calculated automatically using the
-       * customer's location.
+       * <strong>Required.</strong> Set to {@code true} to <a
+       * href="https://docs.stripe.com/tax">calculate tax automatically</a> using the customer's
+       * location.
+       *
+       * <p>Enabling this parameter causes the payment link to collect any billing address
+       * information necessary for tax calculation.
        */
       public Builder setEnabled(Boolean enabled) {
         this.enabled = enabled;
@@ -4499,6 +4507,13 @@ public static class SubscriptionData {
     @SerializedName("metadata")
     Object metadata;
 
+    /**
+     * Integer representing the number of trial period days before the customer is charged for the
+     * first time. Has to be at least 1.
+     */
+    @SerializedName("trial_period_days")
+    Object trialPeriodDays;
+
     /** Settings related to subscription trials. */
     @SerializedName("trial_settings")
     Object trialSettings;
@@ -4507,10 +4522,12 @@ private SubscriptionData(
         Map<String, Object> extraParams,
         InvoiceSettings invoiceSettings,
         Object metadata,
+        Object trialPeriodDays,
         Object trialSettings) {
       this.extraParams = extraParams;
       this.invoiceSettings = invoiceSettings;
       this.metadata = metadata;
+      this.trialPeriodDays = trialPeriodDays;
       this.trialSettings = trialSettings;
     }
 
@@ -4525,12 +4542,18 @@ public static class Builder {
 
       private Object metadata;
 
+      private Object trialPeriodDays;
+
       private Object trialSettings;
 
       /** Finalize and obtain parameter instance from this builder. */
       public PaymentLinkUpdateParams.SubscriptionData build() {
         return new PaymentLinkUpdateParams.SubscriptionData(
-            this.extraParams, this.invoiceSettings, this.metadata, this.trialSettings);
+            this.extraParams,
+            this.invoiceSettings,
+            this.metadata,
+            this.trialPeriodDays,
+            this.trialSettings);
       }
 
       /**
@@ -4619,6 +4642,24 @@ public Builder setMetadata(Map<String, String> metadata) {
         return this;
       }
 
+      /**
+       * Integer representing the number of trial period days before the customer is charged for the
+       * first time. Has to be at least 1.
+       */
+      public Builder setTrialPeriodDays(Long trialPeriodDays) {
+        this.trialPeriodDays = trialPeriodDays;
+        return this;
+      }
+
+      /**
+       * Integer representing the number of trial period days before the customer is charged for the
+       * first time. Has to be at least 1.
+       */
+      public Builder setTrialPeriodDays(EmptyParam trialPeriodDays) {
+        this.trialPeriodDays = trialPeriodDays;
+        return this;
+      }
+
       /** Settings related to subscription trials. */
       public Builder setTrialSettings(
           PaymentLinkUpdateParams.SubscriptionData.TrialSettings trialSettings) {
diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
index 2b2f85f524a..22c575d76df 100644
--- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java
@@ -6318,8 +6318,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -6329,10 +6338,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SetupIntentConfirmParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new SetupIntentConfirmParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -6364,6 +6375,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
     }
@@ -7774,8 +7805,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -7785,10 +7825,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SetupIntentConfirmParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new SetupIntentConfirmParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -7820,6 +7862,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
     }
diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java
index ad9151e22ce..09c2547ad5f 100644
--- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java
@@ -6779,8 +6779,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -6790,10 +6799,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SetupIntentCreateParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new SetupIntentCreateParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -6825,6 +6836,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
     }
@@ -8235,8 +8266,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -8246,10 +8286,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SetupIntentCreateParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new SetupIntentCreateParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -8281,6 +8323,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
     }
diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
index 2b89aa41f9c..e233c2d66a6 100644
--- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
+++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java
@@ -6262,8 +6262,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -6273,10 +6282,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SetupIntentUpdateParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new SetupIntentUpdateParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -6308,6 +6319,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
     }
@@ -7799,8 +7830,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -7810,10 +7850,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SetupIntentUpdateParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new SetupIntentUpdateParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -7845,6 +7887,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
     }
diff --git a/src/main/java/com/stripe/param/SubscriptionCreateParams.java b/src/main/java/com/stripe/param/SubscriptionCreateParams.java
index 367991e8a04..e9a3bd8eea8 100644
--- a/src/main/java/com/stripe/param/SubscriptionCreateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionCreateParams.java
@@ -3211,6 +3211,7 @@ public static class PaymentSettings {
      * invoice’s default payment method, the subscription’s default payment method, the customer’s
      * default payment method, and your <a
      * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+     * Should not be specified with payment_method_configuration
      */
     @SerializedName("payment_method_types")
     Object paymentMethodTypes;
@@ -3333,6 +3334,7 @@ public Builder addAllPaymentMethodType(
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
         this.paymentMethodTypes = paymentMethodTypes;
@@ -3345,6 +3347,7 @@ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(
           List<SubscriptionCreateParams.PaymentSettings.PaymentMethodType> paymentMethodTypes) {
diff --git a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java
index c953b8f3a52..3f171182613 100644
--- a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java
+++ b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java
@@ -2507,8 +2507,9 @@ public static class Item {
     Object billingThresholds;
 
     /**
-     * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-     * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+     * Delete all usage for a given subscription item. You must pass this when deleting a usage
+     * records subscription item. {@code clear_usage} has no effect if the plan has a billing meter
+     * attached.
      */
     @SerializedName("clear_usage")
     Boolean clearUsage;
@@ -2671,8 +2672,9 @@ public Builder setBillingThresholds(EmptyParam billingThresholds) {
       }
 
       /**
-       * Delete all usage for a given subscription item. Allowed only when {@code deleted} is set to
-       * {@code true} and the current plan's {@code usage_type} is {@code metered}.
+       * Delete all usage for a given subscription item. You must pass this when deleting a usage
+       * records subscription item. {@code clear_usage} has no effect if the plan has a billing
+       * meter attached.
        */
       public Builder setClearUsage(Boolean clearUsage) {
         this.clearUsage = clearUsage;
@@ -3596,6 +3598,7 @@ public static class PaymentSettings {
      * invoice’s default payment method, the subscription’s default payment method, the customer’s
      * default payment method, and your <a
      * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+     * Should not be specified with payment_method_configuration
      */
     @SerializedName("payment_method_types")
     Object paymentMethodTypes;
@@ -3718,6 +3721,7 @@ public Builder addAllPaymentMethodType(
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
         this.paymentMethodTypes = paymentMethodTypes;
@@ -3730,6 +3734,7 @@ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) {
        * invoice’s default payment method, the subscription’s default payment method, the customer’s
        * default payment method, and your <a
        * href="https://dashboard.stripe.com/settings/billing/invoice">invoice template settings</a>.
+       * Should not be specified with payment_method_configuration
        */
       public Builder setPaymentMethodTypes(
           List<SubscriptionUpdateParams.PaymentSettings.PaymentMethodType> paymentMethodTypes) {
diff --git a/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java b/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java
index 24b2317f61d..2ade24b85fa 100644
--- a/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java
+++ b/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java
@@ -26,20 +26,23 @@ public class TaxIdCollectionCreateParams extends ApiRequestParams {
 
   /**
    * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-   * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-   * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-   * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
+   * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+   * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+   * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc},
+   * {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code
    * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code
    * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat},
-   * {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp},
-   * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
-   * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-   * {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin},
-   * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+   * {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
+   * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn},
+   * {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
+   * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+   * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+   * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
    * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code
-   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code
-   * tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-   * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit},
+   * {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+   * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+   * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
    */
   @SerializedName("type")
   Type type;
@@ -128,21 +131,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-     * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
-     * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn},
-     * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code
-     * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-     * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code
-     * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-     * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst},
-     * {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code
-     * ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin},
-     * {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code
-     * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-     * {@code vn_tin}, or {@code za_vat}
+     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
+     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
+     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
+     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
+     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
+     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
+     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
+     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
+     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
+     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     public Builder setType(TaxIdCollectionCreateParams.Type type) {
       this.type = type;
@@ -163,6 +169,12 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ae_trn")
     AE_TRN("ae_trn"),
 
+    @SerializedName("am_tin")
+    AM_TIN("am_tin"),
+
+    @SerializedName("ao_tin")
+    AO_TIN("ao_tin"),
+
     @SerializedName("ar_cuit")
     AR_CUIT("ar_cuit"),
 
@@ -172,6 +184,12 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("au_arn")
     AU_ARN("au_arn"),
 
+    @SerializedName("ba_tin")
+    BA_TIN("ba_tin"),
+
+    @SerializedName("bb_tin")
+    BB_TIN("bb_tin"),
+
     @SerializedName("bg_uic")
     BG_UIC("bg_uic"),
 
@@ -187,6 +205,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("br_cpf")
     BR_CPF("br_cpf"),
 
+    @SerializedName("bs_tin")
+    BS_TIN("bs_tin"),
+
     @SerializedName("by_tin")
     BY_TIN("by_tin"),
 
@@ -208,6 +229,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ca_qst")
     CA_QST("ca_qst"),
 
+    @SerializedName("cd_nif")
+    CD_NIF("cd_nif"),
+
     @SerializedName("ch_uid")
     CH_UID("ch_uid"),
 
@@ -253,6 +277,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ge_vat")
     GE_VAT("ge_vat"),
 
+    @SerializedName("gn_nif")
+    GN_NIF("gn_nif"),
+
     @SerializedName("hk_br")
     HK_BR("hk_br"),
 
@@ -286,6 +313,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ke_pin")
     KE_PIN("ke_pin"),
 
+    @SerializedName("kh_tin")
+    KH_TIN("kh_tin"),
+
     @SerializedName("kr_brn")
     KR_BRN("kr_brn"),
 
@@ -304,6 +334,15 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("md_vat")
     MD_VAT("md_vat"),
 
+    @SerializedName("me_pib")
+    ME_PIB("me_pib"),
+
+    @SerializedName("mk_vat")
+    MK_VAT("mk_vat"),
+
+    @SerializedName("mr_nif")
+    MR_NIF("mr_nif"),
+
     @SerializedName("mx_rfc")
     MX_RFC("mx_rfc"),
 
@@ -325,6 +364,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("no_voec")
     NO_VOEC("no_voec"),
 
+    @SerializedName("np_pan")
+    NP_PAN("np_pan"),
+
     @SerializedName("nz_gst")
     NZ_GST("nz_gst"),
 
@@ -361,12 +403,21 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("si_tin")
     SI_TIN("si_tin"),
 
+    @SerializedName("sn_ninea")
+    SN_NINEA("sn_ninea"),
+
+    @SerializedName("sr_fin")
+    SR_FIN("sr_fin"),
+
     @SerializedName("sv_nit")
     SV_NIT("sv_nit"),
 
     @SerializedName("th_vat")
     TH_VAT("th_vat"),
 
+    @SerializedName("tj_tin")
+    TJ_TIN("tj_tin"),
+
     @SerializedName("tr_tin")
     TR_TIN("tr_tin"),
 
@@ -379,6 +430,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ua_vat")
     UA_VAT("ua_vat"),
 
+    @SerializedName("ug_tin")
+    UG_TIN("ug_tin"),
+
     @SerializedName("us_ein")
     US_EIN("us_ein"),
 
@@ -398,7 +452,13 @@ public enum Type implements ApiRequestParams.EnumParam {
     VN_TIN("vn_tin"),
 
     @SerializedName("za_vat")
-    ZA_VAT("za_vat");
+    ZA_VAT("za_vat"),
+
+    @SerializedName("zm_tin")
+    ZM_TIN("zm_tin"),
+
+    @SerializedName("zw_tin")
+    ZW_TIN("zw_tin");
 
     @Getter(onMethod_ = {@Override})
     private final String value;
diff --git a/src/main/java/com/stripe/param/TaxIdCreateParams.java b/src/main/java/com/stripe/param/TaxIdCreateParams.java
index 6a7dea021d0..675c7544415 100644
--- a/src/main/java/com/stripe/param/TaxIdCreateParams.java
+++ b/src/main/java/com/stripe/param/TaxIdCreateParams.java
@@ -30,20 +30,23 @@ public class TaxIdCreateParams extends ApiRequestParams {
 
   /**
    * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-   * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-   * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-   * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
+   * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+   * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+   * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc},
+   * {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code
    * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code
    * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat},
-   * {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp},
-   * {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
-   * {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-   * {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin},
-   * {@code no_vat}, {@code no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+   * {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
+   * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn},
+   * {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
+   * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+   * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+   * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
    * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code
-   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code
-   * tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-   * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit},
+   * {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+   * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+   * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
    */
   @SerializedName("type")
   Type type;
@@ -142,21 +145,24 @@ public Builder setOwner(TaxIdCreateParams.Owner owner) {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
-     * {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code ch_uid}, {@code
-     * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn},
-     * {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code
-     * eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-     * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code
-     * jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-     * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code nz_gst},
-     * {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code
-     * ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin},
-     * {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code
-     * ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-     * {@code vn_tin}, or {@code za_vat}
+     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
+     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
+     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
+     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
+     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
+     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
+     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
+     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
+     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
+     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
+     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
+     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     public Builder setType(TaxIdCreateParams.Type type) {
       this.type = type;
@@ -293,6 +299,12 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ae_trn")
     AE_TRN("ae_trn"),
 
+    @SerializedName("am_tin")
+    AM_TIN("am_tin"),
+
+    @SerializedName("ao_tin")
+    AO_TIN("ao_tin"),
+
     @SerializedName("ar_cuit")
     AR_CUIT("ar_cuit"),
 
@@ -302,6 +314,12 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("au_arn")
     AU_ARN("au_arn"),
 
+    @SerializedName("ba_tin")
+    BA_TIN("ba_tin"),
+
+    @SerializedName("bb_tin")
+    BB_TIN("bb_tin"),
+
     @SerializedName("bg_uic")
     BG_UIC("bg_uic"),
 
@@ -317,6 +335,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("br_cpf")
     BR_CPF("br_cpf"),
 
+    @SerializedName("bs_tin")
+    BS_TIN("bs_tin"),
+
     @SerializedName("by_tin")
     BY_TIN("by_tin"),
 
@@ -338,6 +359,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ca_qst")
     CA_QST("ca_qst"),
 
+    @SerializedName("cd_nif")
+    CD_NIF("cd_nif"),
+
     @SerializedName("ch_uid")
     CH_UID("ch_uid"),
 
@@ -383,6 +407,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ge_vat")
     GE_VAT("ge_vat"),
 
+    @SerializedName("gn_nif")
+    GN_NIF("gn_nif"),
+
     @SerializedName("hk_br")
     HK_BR("hk_br"),
 
@@ -416,6 +443,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ke_pin")
     KE_PIN("ke_pin"),
 
+    @SerializedName("kh_tin")
+    KH_TIN("kh_tin"),
+
     @SerializedName("kr_brn")
     KR_BRN("kr_brn"),
 
@@ -434,6 +464,15 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("md_vat")
     MD_VAT("md_vat"),
 
+    @SerializedName("me_pib")
+    ME_PIB("me_pib"),
+
+    @SerializedName("mk_vat")
+    MK_VAT("mk_vat"),
+
+    @SerializedName("mr_nif")
+    MR_NIF("mr_nif"),
+
     @SerializedName("mx_rfc")
     MX_RFC("mx_rfc"),
 
@@ -455,6 +494,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("no_voec")
     NO_VOEC("no_voec"),
 
+    @SerializedName("np_pan")
+    NP_PAN("np_pan"),
+
     @SerializedName("nz_gst")
     NZ_GST("nz_gst"),
 
@@ -491,12 +533,21 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("si_tin")
     SI_TIN("si_tin"),
 
+    @SerializedName("sn_ninea")
+    SN_NINEA("sn_ninea"),
+
+    @SerializedName("sr_fin")
+    SR_FIN("sr_fin"),
+
     @SerializedName("sv_nit")
     SV_NIT("sv_nit"),
 
     @SerializedName("th_vat")
     TH_VAT("th_vat"),
 
+    @SerializedName("tj_tin")
+    TJ_TIN("tj_tin"),
+
     @SerializedName("tr_tin")
     TR_TIN("tr_tin"),
 
@@ -509,6 +560,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ua_vat")
     UA_VAT("ua_vat"),
 
+    @SerializedName("ug_tin")
+    UG_TIN("ug_tin"),
+
     @SerializedName("us_ein")
     US_EIN("us_ein"),
 
@@ -528,7 +582,13 @@ public enum Type implements ApiRequestParams.EnumParam {
     VN_TIN("vn_tin"),
 
     @SerializedName("za_vat")
-    ZA_VAT("za_vat");
+    ZA_VAT("za_vat"),
+
+    @SerializedName("zm_tin")
+    ZM_TIN("zm_tin"),
+
+    @SerializedName("zw_tin")
+    ZW_TIN("zw_tin");
 
     @Getter(onMethod_ = {@Override})
     private final String value;
diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
index 0580d57feca..0de2acbc37e 100644
--- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
+++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
@@ -595,7 +595,10 @@ public enum ApiVersion implements ApiRequestParams.EnumParam {
     VERSION_2024_10_28_ACACIA("2024-10-28.acacia"),
 
     @SerializedName("2024-11-20.acacia")
-    VERSION_2024_11_20_ACACIA("2024-11-20.acacia");
+    VERSION_2024_11_20_ACACIA("2024-11-20.acacia"),
+
+    @SerializedName("2024-12-18.acacia")
+    VERSION_2024_12_18_ACACIA("2024-12-18.acacia");
 
     @Getter(onMethod_ = {@Override})
     private final String value;
diff --git a/src/main/java/com/stripe/param/billing/CreditBalanceSummaryRetrieveParams.java b/src/main/java/com/stripe/param/billing/CreditBalanceSummaryRetrieveParams.java
index 90edb084feb..cbef780ed3c 100644
--- a/src/main/java/com/stripe/param/billing/CreditBalanceSummaryRetrieveParams.java
+++ b/src/main/java/com/stripe/param/billing/CreditBalanceSummaryRetrieveParams.java
@@ -236,7 +236,7 @@ public static class ApplicabilityScope {
       Map<String, Object> extraParams;
 
       /**
-       * <strong>Required.</strong> The price type for which credit grants can apply. We currently
+       * <strong>Required.</strong> The price type that credit grants can apply to. We currently
        * only support the {@code metered} price type.
        */
       @SerializedName("price_type")
@@ -291,7 +291,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /**
-         * <strong>Required.</strong> The price type for which credit grants can apply. We currently
+         * <strong>Required.</strong> The price type that credit grants can apply to. We currently
          * only support the {@code metered} price type.
          */
         public Builder setPriceType(
diff --git a/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java b/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java
index a00472e10e3..c5ab4882949 100644
--- a/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java
+++ b/src/main/java/com/stripe/param/billing/CreditGrantCreateParams.java
@@ -28,8 +28,8 @@ public class CreditGrantCreateParams extends ApiRequestParams {
   String customer;
 
   /**
-   * The time when the billing credits become effective—when they're eligible for use. Defaults to
-   * the current timestamp if not specified.
+   * The time when the billing credits become effective-when they're eligible for use. It defaults
+   * to the current timestamp if not specified.
    */
   @SerializedName("effective_at")
   Long effectiveAt;
@@ -39,8 +39,7 @@ public class CreditGrantCreateParams extends ApiRequestParams {
   List<String> expand;
 
   /**
-   * The time when the billing credits will expire. If not specified, the billing credits don't
-   * expire.
+   * The time when the billing credits expire. If not specified, the billing credits don't expire.
    */
   @SerializedName("expires_at")
   Long expiresAt;
@@ -55,8 +54,8 @@ public class CreditGrantCreateParams extends ApiRequestParams {
   Map<String, Object> extraParams;
 
   /**
-   * Set of key-value pairs that you can attach to an object. This can be useful for storing
-   * additional information about the object (for example, cost basis) in a structured format.
+   * Set of key-value pairs that you can attach to an object. You can use this to store additional
+   * information about the object (for example, cost basis) in a structured format.
    */
   @SerializedName("metadata")
   Map<String, String> metadata;
@@ -154,8 +153,8 @@ public Builder setCustomer(String customer) {
     }
 
     /**
-     * The time when the billing credits become effective—when they're eligible for use. Defaults to
-     * the current timestamp if not specified.
+     * The time when the billing credits become effective-when they're eligible for use. It defaults
+     * to the current timestamp if not specified.
      */
     public Builder setEffectiveAt(Long effectiveAt) {
       this.effectiveAt = effectiveAt;
@@ -189,8 +188,7 @@ public Builder addAllExpand(List<String> elements) {
     }
 
     /**
-     * The time when the billing credits will expire. If not specified, the billing credits don't
-     * expire.
+     * The time when the billing credits expire. If not specified, the billing credits don't expire.
      */
     public Builder setExpiresAt(Long expiresAt) {
       this.expiresAt = expiresAt;
@@ -530,7 +528,7 @@ public static class Scope {
       Map<String, Object> extraParams;
 
       /**
-       * <strong>Required.</strong> The price type for which credit grants can apply. We currently
+       * <strong>Required.</strong> The price type that credit grants can apply to. We currently
        * only support the {@code metered} price type.
        */
       @SerializedName("price_type")
@@ -585,7 +583,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /**
-         * <strong>Required.</strong> The price type for which credit grants can apply. We currently
+         * <strong>Required.</strong> The price type that credit grants can apply to. We currently
          * only support the {@code metered} price type.
          */
         public Builder setPriceType(
diff --git a/src/main/java/com/stripe/param/billing/CreditGrantUpdateParams.java b/src/main/java/com/stripe/param/billing/CreditGrantUpdateParams.java
index cde992e155d..77218e325df 100644
--- a/src/main/java/com/stripe/param/billing/CreditGrantUpdateParams.java
+++ b/src/main/java/com/stripe/param/billing/CreditGrantUpdateParams.java
@@ -33,7 +33,7 @@ public class CreditGrantUpdateParams extends ApiRequestParams {
   Map<String, Object> extraParams;
 
   /**
-   * Set of key-value pairs you can attach to an object. This can be useful for storing additional
+   * Set of key-value pairs you can attach to an object. You can use this to store additional
    * information about the object (for example, cost basis) in a structured format.
    */
   @SerializedName("metadata")
diff --git a/src/main/java/com/stripe/param/billing/MeterCreateParams.java b/src/main/java/com/stripe/param/billing/MeterCreateParams.java
index 05978ad27fe..dc694505067 100644
--- a/src/main/java/com/stripe/param/billing/MeterCreateParams.java
+++ b/src/main/java/com/stripe/param/billing/MeterCreateParams.java
@@ -19,7 +19,7 @@ public class MeterCreateParams extends ApiRequestParams {
   @SerializedName("default_aggregation")
   DefaultAggregation defaultAggregation;
 
-  /** <strong>Required.</strong> The meter's name. */
+  /** <strong>Required.</strong> The meter’s name. Not visible to the customer. */
   @SerializedName("display_name")
   String displayName;
 
@@ -116,7 +116,7 @@ public Builder setDefaultAggregation(MeterCreateParams.DefaultAggregation defaul
       return this;
     }
 
-    /** <strong>Required.</strong> The meter's name. */
+    /** <strong>Required.</strong> The meter’s name. Not visible to the customer. */
     public Builder setDisplayName(String displayName) {
       this.displayName = displayName;
       return this;
@@ -199,7 +199,7 @@ public Builder setValueSettings(MeterCreateParams.ValueSettings valueSettings) {
   @Getter
   public static class CustomerMapping {
     /**
-     * <strong>Required.</strong> The key in the usage event payload to use for mapping the event to
+     * <strong>Required.</strong> The key in the meter event payload to use for mapping the event to
      * a customer.
      */
     @SerializedName("event_payload_key")
@@ -245,7 +245,7 @@ public MeterCreateParams.CustomerMapping build() {
       }
 
       /**
-       * <strong>Required.</strong> The key in the usage event payload to use for mapping the event
+       * <strong>Required.</strong> The key in the meter event payload to use for mapping the event
        * to a customer.
        */
       public Builder setEventPayloadKey(String eventPayloadKey) {
diff --git a/src/main/java/com/stripe/param/billing/MeterEventCreateParams.java b/src/main/java/com/stripe/param/billing/MeterEventCreateParams.java
index be342f300fe..5eefd997cdd 100644
--- a/src/main/java/com/stripe/param/billing/MeterEventCreateParams.java
+++ b/src/main/java/com/stripe/param/billing/MeterEventCreateParams.java
@@ -32,10 +32,10 @@ public class MeterEventCreateParams extends ApiRequestParams {
   Map<String, Object> extraParams;
 
   /**
-   * A unique identifier for the event. If not provided, one will be generated. We strongly advise
-   * using UUID-like identifiers. We will enforce uniqueness within a rolling period of at least 24
-   * hours. The enforcement of uniqueness primarily addresses issues arising from accidental retries
-   * or other problems occurring within extremely brief time intervals. This approach helps prevent
+   * A unique identifier for the event. If not provided, one is generated. We recommend using
+   * UUID-like identifiers. We will enforce uniqueness within a rolling period of at least 24 hours.
+   * The enforcement of uniqueness primarily addresses issues arising from accidental retries or
+   * other problems occurring within extremely brief time intervals. This approach helps prevent
    * duplicate entries and ensures data integrity in high-frequency operations.
    */
   @SerializedName("identifier")
@@ -162,9 +162,9 @@ public Builder putAllExtraParam(Map<String, Object> map) {
     }
 
     /**
-     * A unique identifier for the event. If not provided, one will be generated. We strongly advise
-     * using UUID-like identifiers. We will enforce uniqueness within a rolling period of at least
-     * 24 hours. The enforcement of uniqueness primarily addresses issues arising from accidental
+     * A unique identifier for the event. If not provided, one is generated. We recommend using
+     * UUID-like identifiers. We will enforce uniqueness within a rolling period of at least 24
+     * hours. The enforcement of uniqueness primarily addresses issues arising from accidental
      * retries or other problems occurring within extremely brief time intervals. This approach
      * helps prevent duplicate entries and ensures data integrity in high-frequency operations.
      */
diff --git a/src/main/java/com/stripe/param/billing/MeterUpdateParams.java b/src/main/java/com/stripe/param/billing/MeterUpdateParams.java
index 6b9552bd775..23987c1af33 100644
--- a/src/main/java/com/stripe/param/billing/MeterUpdateParams.java
+++ b/src/main/java/com/stripe/param/billing/MeterUpdateParams.java
@@ -12,7 +12,7 @@
 
 @Getter
 public class MeterUpdateParams extends ApiRequestParams {
-  /** The meter's name. */
+  /** The meter’s name. Not visible to the customer. */
   @SerializedName("display_name")
   Object displayName;
 
@@ -52,13 +52,13 @@ public MeterUpdateParams build() {
       return new MeterUpdateParams(this.displayName, this.expand, this.extraParams);
     }
 
-    /** The meter's name. */
+    /** The meter’s name. Not visible to the customer. */
     public Builder setDisplayName(String displayName) {
       this.displayName = displayName;
       return this;
     }
 
-    /** The meter's name. */
+    /** The meter’s name. Not visible to the customer. */
     public Builder setDisplayName(EmptyParam displayName) {
       this.displayName = displayName;
       return this;
diff --git a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java
index e5d713ef794..6e3600135f7 100644
--- a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java
+++ b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java
@@ -1365,7 +1365,14 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
   @Getter
   public static class AutomaticTax {
-    /** <strong>Required.</strong> Set to true to enable automatic taxes. */
+    /**
+     * <strong>Required.</strong> Set to {@code true} to <a
+     * href="https://docs.stripe.com/tax">calculate tax automatically</a> using the customer's
+     * location.
+     *
+     * <p>Enabling this parameter causes Checkout to collect any billing address information
+     * necessary for tax calculation.
+     */
     @SerializedName("enabled")
     Boolean enabled;
 
@@ -1408,7 +1415,14 @@ public SessionCreateParams.AutomaticTax build() {
         return new SessionCreateParams.AutomaticTax(this.enabled, this.extraParams, this.liability);
       }
 
-      /** <strong>Required.</strong> Set to true to enable automatic taxes. */
+      /**
+       * <strong>Required.</strong> Set to {@code true} to <a
+       * href="https://docs.stripe.com/tax">calculate tax automatically</a> using the customer's
+       * location.
+       *
+       * <p>Enabling this parameter causes Checkout to collect any billing address information
+       * necessary for tax calculation.
+       */
       public Builder setEnabled(Boolean enabled) {
         this.enabled = enabled;
         return this;
@@ -7514,8 +7528,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -7525,10 +7548,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SessionCreateParams.PaymentMethodOptions.BacsDebit.MandateOptions build() {
             return new SessionCreateParams.PaymentMethodOptions.BacsDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -7560,6 +7585,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
@@ -11876,8 +11921,17 @@ public static class MandateOptions {
         @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
         Map<String, Object> extraParams;
 
-        private MandateOptions(Map<String, Object> extraParams) {
+        /**
+         * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+         * consist of only uppercase letters, numbers, spaces, or the following special characters:
+         * '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+         */
+        @SerializedName("reference_prefix")
+        Object referencePrefix;
+
+        private MandateOptions(Map<String, Object> extraParams, Object referencePrefix) {
           this.extraParams = extraParams;
+          this.referencePrefix = referencePrefix;
         }
 
         public static Builder builder() {
@@ -11887,10 +11941,12 @@ public static Builder builder() {
         public static class Builder {
           private Map<String, Object> extraParams;
 
+          private Object referencePrefix;
+
           /** Finalize and obtain parameter instance from this builder. */
           public SessionCreateParams.PaymentMethodOptions.SepaDebit.MandateOptions build() {
             return new SessionCreateParams.PaymentMethodOptions.SepaDebit.MandateOptions(
-                this.extraParams);
+                this.extraParams, this.referencePrefix);
           }
 
           /**
@@ -11922,6 +11978,26 @@ public Builder putAllExtraParam(Map<String, Object> map) {
             this.extraParams.putAll(map);
             return this;
           }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(String referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
+
+          /**
+           * Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must
+           * consist of only uppercase letters, numbers, spaces, or the following special
+           * characters: '/', '_', '-', '&amp;', '.'. Cannot begin with 'STRIPE'.
+           */
+          public Builder setReferencePrefix(EmptyParam referencePrefix) {
+            this.referencePrefix = referencePrefix;
+            return this;
+          }
         }
       }
 
diff --git a/src/main/java/com/stripe/param/forwarding/RequestCreateParams.java b/src/main/java/com/stripe/param/forwarding/RequestCreateParams.java
index 62537479cd2..02bc4930f35 100644
--- a/src/main/java/com/stripe/param/forwarding/RequestCreateParams.java
+++ b/src/main/java/com/stripe/param/forwarding/RequestCreateParams.java
@@ -438,7 +438,10 @@ public enum Replacement implements ApiRequestParams.EnumParam {
     CARD_NUMBER("card_number"),
 
     @SerializedName("cardholder_name")
-    CARDHOLDER_NAME("cardholder_name");
+    CARDHOLDER_NAME("cardholder_name"),
+
+    @SerializedName("request_signature")
+    REQUEST_SIGNATURE("request_signature");
 
     @Getter(onMethod_ = {@Override})
     private final String value;
diff --git a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java
index 5948d1f6023..7c446b06ed5 100644
--- a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java
+++ b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java
@@ -626,21 +626,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-       * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-       * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-       * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-       * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-       * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-       * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-       * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-       * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-       * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
+       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
+       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
        * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-       * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-       * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -702,21 +705,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code bg_uic}, {@code bh_vat}, {@code
-         * bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code by_tin}, {@code ca_bn}, {@code
-         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
-         * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
-         * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
-         * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code hk_br}, {@code
-         * hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat},
-         * {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kr_brn}, {@code
-         * kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code mx_rfc},
-         * {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
-         * no_voec}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-         * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-         * sg_uen}, {@code si_tin}, {@code sv_nit}, {@code th_vat}, {@code tr_tin}, {@code tw_vat},
-         * {@code tz_vat}, {@code ua_vat}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
-         * uz_vat}, {@code ve_rif}, {@code vn_tin}, or {@code za_vat}
+         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
+         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
+         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
+         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
+         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
+         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
+         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
+         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
+         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
+         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
+         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
+         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
+         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
+         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
+         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
          */
         public Builder setType(CalculationCreateParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -737,6 +743,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("am_tin")
+        AM_TIN("am_tin"),
+
+        @SerializedName("ao_tin")
+        AO_TIN("ao_tin"),
+
         @SerializedName("ar_cuit")
         AR_CUIT("ar_cuit"),
 
@@ -746,6 +758,12 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("au_arn")
         AU_ARN("au_arn"),
 
+        @SerializedName("ba_tin")
+        BA_TIN("ba_tin"),
+
+        @SerializedName("bb_tin")
+        BB_TIN("bb_tin"),
+
         @SerializedName("bg_uic")
         BG_UIC("bg_uic"),
 
@@ -761,6 +779,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("br_cpf")
         BR_CPF("br_cpf"),
 
+        @SerializedName("bs_tin")
+        BS_TIN("bs_tin"),
+
         @SerializedName("by_tin")
         BY_TIN("by_tin"),
 
@@ -782,6 +803,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ca_qst")
         CA_QST("ca_qst"),
 
+        @SerializedName("cd_nif")
+        CD_NIF("cd_nif"),
+
         @SerializedName("ch_uid")
         CH_UID("ch_uid"),
 
@@ -827,6 +851,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ge_vat")
         GE_VAT("ge_vat"),
 
+        @SerializedName("gn_nif")
+        GN_NIF("gn_nif"),
+
         @SerializedName("hk_br")
         HK_BR("hk_br"),
 
@@ -860,6 +887,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ke_pin")
         KE_PIN("ke_pin"),
 
+        @SerializedName("kh_tin")
+        KH_TIN("kh_tin"),
+
         @SerializedName("kr_brn")
         KR_BRN("kr_brn"),
 
@@ -878,6 +908,15 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("md_vat")
         MD_VAT("md_vat"),
 
+        @SerializedName("me_pib")
+        ME_PIB("me_pib"),
+
+        @SerializedName("mk_vat")
+        MK_VAT("mk_vat"),
+
+        @SerializedName("mr_nif")
+        MR_NIF("mr_nif"),
+
         @SerializedName("mx_rfc")
         MX_RFC("mx_rfc"),
 
@@ -899,6 +938,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("no_voec")
         NO_VOEC("no_voec"),
 
+        @SerializedName("np_pan")
+        NP_PAN("np_pan"),
+
         @SerializedName("nz_gst")
         NZ_GST("nz_gst"),
 
@@ -935,12 +977,21 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("si_tin")
         SI_TIN("si_tin"),
 
+        @SerializedName("sn_ninea")
+        SN_NINEA("sn_ninea"),
+
+        @SerializedName("sr_fin")
+        SR_FIN("sr_fin"),
+
         @SerializedName("sv_nit")
         SV_NIT("sv_nit"),
 
         @SerializedName("th_vat")
         TH_VAT("th_vat"),
 
+        @SerializedName("tj_tin")
+        TJ_TIN("tj_tin"),
+
         @SerializedName("tr_tin")
         TR_TIN("tr_tin"),
 
@@ -953,6 +1004,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ua_vat")
         UA_VAT("ua_vat"),
 
+        @SerializedName("ug_tin")
+        UG_TIN("ug_tin"),
+
         @SerializedName("us_ein")
         US_EIN("us_ein"),
 
@@ -972,7 +1026,13 @@ public enum Type implements ApiRequestParams.EnumParam {
         VN_TIN("vn_tin"),
 
         @SerializedName("za_vat")
-        ZA_VAT("za_vat");
+        ZA_VAT("za_vat"),
+
+        @SerializedName("zm_tin")
+        ZM_TIN("zm_tin"),
+
+        @SerializedName("zw_tin")
+        ZW_TIN("zw_tin");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
diff --git a/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java b/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java
index f2989e6def0..bdcd34e505d 100644
--- a/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java
+++ b/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java
@@ -13,9 +13,9 @@
 @Getter
 public class LocationUpdateParams extends ApiRequestParams {
   /**
-   * The full address of the location. If you're updating the {@code address} field, avoid changing
-   * the {@code country}. If you need to modify the {@code country} field, create a new {@code
-   * Location} object and re-register any existing readers to that location.
+   * The full address of the location. You can't change the location's {@code country}. If you need
+   * to modify the {@code country} field, create a new {@code Location} object and re-register any
+   * existing readers to that location.
    */
   @SerializedName("address")
   Address address;
@@ -94,9 +94,9 @@ public LocationUpdateParams build() {
     }
 
     /**
-     * The full address of the location. If you're updating the {@code address} field, avoid
-     * changing the {@code country}. If you need to modify the {@code country} field, create a new
-     * {@code Location} object and re-register any existing readers to that location.
+     * The full address of the location. You can't change the location's {@code country}. If you
+     * need to modify the {@code country} field, create a new {@code Location} object and
+     * re-register any existing readers to that location.
      */
     public Builder setAddress(LocationUpdateParams.Address address) {
       this.address = address;
diff --git a/src/main/java/com/stripe/service/billing/MeterService.java b/src/main/java/com/stripe/service/billing/MeterService.java
index 57e247d51bb..fe88176b5f7 100644
--- a/src/main/java/com/stripe/service/billing/MeterService.java
+++ b/src/main/java/com/stripe/service/billing/MeterService.java
@@ -115,19 +115,31 @@ public Meter update(String id, MeterUpdateParams params, RequestOptions options)
             options);
     return this.request(request, Meter.class);
   }
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(String id, MeterDeactivateParams params) throws StripeException {
     return deactivate(id, params, (RequestOptions) null);
   }
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(String id, RequestOptions options) throws StripeException {
     return deactivate(id, (MeterDeactivateParams) null, options);
   }
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(String id) throws StripeException {
     return deactivate(id, (MeterDeactivateParams) null, (RequestOptions) null);
   }
-  /** Deactivates a billing meter. */
+  /**
+   * When a meter is deactivated, no more meter events will be accepted for this meter. You can’t
+   * attach a deactivated meter to a price.
+   */
   public Meter deactivate(String id, MeterDeactivateParams params, RequestOptions options)
       throws StripeException {
     String path = String.format("/v1/billing/meters/%s/deactivate", ApiResource.urlEncodeId(id));
@@ -140,19 +152,31 @@ public Meter deactivate(String id, MeterDeactivateParams params, RequestOptions
             options);
     return this.request(request, Meter.class);
   }
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(String id, MeterReactivateParams params) throws StripeException {
     return reactivate(id, params, (RequestOptions) null);
   }
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(String id, RequestOptions options) throws StripeException {
     return reactivate(id, (MeterReactivateParams) null, options);
   }
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(String id) throws StripeException {
     return reactivate(id, (MeterReactivateParams) null, (RequestOptions) null);
   }
-  /** Reactivates a billing meter. */
+  /**
+   * When a meter is reactivated, events for this meter can be accepted and you can attach the meter
+   * to a price.
+   */
   public Meter reactivate(String id, MeterReactivateParams params, RequestOptions options)
       throws StripeException {
     String path = String.format("/v1/billing/meters/%s/reactivate", ApiResource.urlEncodeId(id));

From bcae77dff31718be0b6f944d750e56b1a5f533d8 Mon Sep 17 00:00:00 2001
From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com>
Date: Wed, 11 Dec 2024 18:30:16 +0000
Subject: [PATCH 2/4] Update generated code for v1402

---
 OPENAPI_VERSION                            |  2 +-
 src/main/java/com/stripe/model/Charge.java | 11 +++++++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 9fc97dcb222..98d845ab65d 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v1399
\ No newline at end of file
+v1402
\ No newline at end of file
diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java
index 8833d021d1a..e5ca12f37e2 100644
--- a/src/main/java/com/stripe/model/Charge.java
+++ b/src/main/java/com/stripe/model/Charge.java
@@ -1873,6 +1873,17 @@ public static class Card extends StripeObject {
       @SerializedName("network_token")
       NetworkToken networkToken;
 
+      /**
+       * This is used by the financial networks to identify a transaction. Visa calls this the
+       * Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the
+       * Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network
+       * Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent
+       * the date (MM/DD). This field will be available for successful Visa, Mastercard, or American
+       * Express transactions and always null for other card brands.
+       */
+      @SerializedName("network_transaction_id")
+      String networkTransactionId;
+
       @SerializedName("overcapture")
       Overcapture overcapture;
 

From 5c8442d6498f635aeb2f5a526455ff2a124140b2 Mon Sep 17 00:00:00 2001
From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com>
Date: Fri, 13 Dec 2024 22:30:06 +0000
Subject: [PATCH 3/4] Update generated code for v1409

---
 OPENAPI_VERSION                               |   2 +-
 src/main/java/com/stripe/ApiVersion.java      |   2 +-
 .../java/com/stripe/model/AccountSession.java |  50 ++++-----
 src/main/java/com/stripe/model/Card.java      |   8 --
 src/main/java/com/stripe/model/Charge.java    |  19 ----
 .../com/stripe/model/ConfirmationToken.java   |   8 --
 src/main/java/com/stripe/model/Dispute.java   |  40 -------
 .../java/com/stripe/model/PaymentMethod.java  |   8 --
 .../param/AccountSessionCreateParams.java     | 105 +++++++++---------
 .../com/stripe/param/DisputeUpdateParams.java | 102 +----------------
 .../param/WebhookEndpointCreateParams.java    |   5 +-
 11 files changed, 80 insertions(+), 269 deletions(-)

diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 98d845ab65d..85b34541d57 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v1402
\ No newline at end of file
+v1409
\ No newline at end of file
diff --git a/src/main/java/com/stripe/ApiVersion.java b/src/main/java/com/stripe/ApiVersion.java
index f582b3a469b..d00fa011271 100644
--- a/src/main/java/com/stripe/ApiVersion.java
+++ b/src/main/java/com/stripe/ApiVersion.java
@@ -2,5 +2,5 @@
 package com.stripe;
 
 final class ApiVersion {
-  public static final String CURRENT = "2024-12-18.acacia";
+  public static final String CURRENT = "2024-11-20.acacia";
 }
diff --git a/src/main/java/com/stripe/model/AccountSession.java b/src/main/java/com/stripe/model/AccountSession.java
index cbe1dc2cd11..17746ece2d3 100644
--- a/src/main/java/com/stripe/model/AccountSession.java
+++ b/src/main/java/com/stripe/model/AccountSession.java
@@ -183,11 +183,11 @@ public static class AccountManagement extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -228,11 +228,11 @@ public static class AccountOnboarding extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -273,11 +273,11 @@ public static class Balances extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -364,11 +364,11 @@ public static class NotificationBanner extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -509,11 +509,11 @@ public static class Payouts extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
diff --git a/src/main/java/com/stripe/model/Card.java b/src/main/java/com/stripe/model/Card.java
index 9cf526e288b..5a907833e8d 100644
--- a/src/main/java/com/stripe/model/Card.java
+++ b/src/main/java/com/stripe/model/Card.java
@@ -229,14 +229,6 @@ public class Card extends ApiResource
   @SerializedName("object")
   String object;
 
-  /**
-   * Status of a card based on the card issuer.
-   *
-   * <p>One of {@code regulated}, or {@code unregulated}.
-   */
-  @SerializedName("regulated_status")
-  String regulatedStatus;
-
   /**
    * For external accounts that are cards, possible values are {@code new} and {@code errored}. If a
    * payout fails, the status is set to {@code errored} and <a
diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java
index e5ca12f37e2..2da40f2a699 100644
--- a/src/main/java/com/stripe/model/Charge.java
+++ b/src/main/java/com/stripe/model/Charge.java
@@ -1873,28 +1873,9 @@ public static class Card extends StripeObject {
       @SerializedName("network_token")
       NetworkToken networkToken;
 
-      /**
-       * This is used by the financial networks to identify a transaction. Visa calls this the
-       * Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the
-       * Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network
-       * Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent
-       * the date (MM/DD). This field will be available for successful Visa, Mastercard, or American
-       * Express transactions and always null for other card brands.
-       */
-      @SerializedName("network_transaction_id")
-      String networkTransactionId;
-
       @SerializedName("overcapture")
       Overcapture overcapture;
 
-      /**
-       * Status of a card based on the card issuer.
-       *
-       * <p>One of {@code regulated}, or {@code unregulated}.
-       */
-      @SerializedName("regulated_status")
-      String regulatedStatus;
-
       /** Populated if this transaction used 3D Secure authentication. */
       @SerializedName("three_d_secure")
       ThreeDSecure threeDSecure;
diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java
index 739c30f19ff..7e0e1add208 100644
--- a/src/main/java/com/stripe/model/ConfirmationToken.java
+++ b/src/main/java/com/stripe/model/ConfirmationToken.java
@@ -697,14 +697,6 @@ public static class Card extends StripeObject {
       @SerializedName("networks")
       Networks networks;
 
-      /**
-       * Status of a card based on the card issuer.
-       *
-       * <p>One of {@code regulated}, or {@code unregulated}.
-       */
-      @SerializedName("regulated_status")
-      String regulatedStatus;
-
       /** Contains details on how this Card may be used for 3D Secure authentication. */
       @SerializedName("three_d_secure_usage")
       ThreeDSecureUsage threeDSecureUsage;
diff --git a/src/main/java/com/stripe/model/Dispute.java b/src/main/java/com/stripe/model/Dispute.java
index 1f40060349d..e8c6c92ebd8 100644
--- a/src/main/java/com/stripe/model/Dispute.java
+++ b/src/main/java/com/stripe/model/Dispute.java
@@ -780,9 +780,6 @@ public static class EnhancedEvidence extends StripeObject {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
-      @SerializedName("visa_compliance")
-      VisaCompliance visaCompliance;
-
       /**
        * For more details about VisaCompellingEvidence3, please refer to the <a
        * href="https://docs.stripe.com/api">API Reference.</a>
@@ -983,23 +980,6 @@ public static class ShippingAddress extends StripeObject {
           }
         }
       }
-
-      /**
-       * For more details about VisaCompliance, please refer to the <a
-       * href="https://docs.stripe.com/api">API Reference.</a>
-       */
-      @Getter
-      @Setter
-      @EqualsAndHashCode(callSuper = false)
-      public static class VisaCompliance extends StripeObject {
-        /**
-         * A field acknowledging the fee incurred when countering a Visa Compliance dispute. If this
-         * field is set to true, evidence can be submitted for the compliance dispute, and you may
-         * incur a $500 fee if the case is lost.
-         */
-        @SerializedName("fee_acknowledged")
-        Boolean feeAcknowledged;
-      }
     }
   }
 
@@ -1052,9 +1032,6 @@ public static class EnhancedEligibility extends StripeObject {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
-      @SerializedName("visa_compliance")
-      VisaCompliance visaCompliance;
-
       /**
        * For more details about VisaCompellingEvidence3, please refer to the <a
        * href="https://docs.stripe.com/api">API Reference.</a>
@@ -1078,23 +1055,6 @@ public static class VisaCompellingEvidence3 extends StripeObject {
         @SerializedName("status")
         String status;
       }
-
-      /**
-       * For more details about VisaCompliance, please refer to the <a
-       * href="https://docs.stripe.com/api">API Reference.</a>
-       */
-      @Getter
-      @Setter
-      @EqualsAndHashCode(callSuper = false)
-      public static class VisaCompliance extends StripeObject {
-        /**
-         * Visa Compelling Evidence 3.0 eligibility status.
-         *
-         * <p>One of {@code fee_acknowledged}, or {@code requires_fee_acknowledgement}.
-         */
-        @SerializedName("status")
-        String status;
-      }
     }
   }
 
diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java
index 07772ca71b9..7be4badbe15 100644
--- a/src/main/java/com/stripe/model/PaymentMethod.java
+++ b/src/main/java/com/stripe/model/PaymentMethod.java
@@ -928,14 +928,6 @@ public static class Card extends StripeObject {
     @SerializedName("networks")
     Networks networks;
 
-    /**
-     * Status of a card based on the card issuer.
-     *
-     * <p>One of {@code regulated}, or {@code unregulated}.
-     */
-    @SerializedName("regulated_status")
-    String regulatedStatus;
-
     /** Contains details on how this Card may be used for 3D Secure authentication. */
     @SerializedName("three_d_secure_usage")
     ThreeDSecureUsage threeDSecureUsage;
diff --git a/src/main/java/com/stripe/param/AccountSessionCreateParams.java b/src/main/java/com/stripe/param/AccountSessionCreateParams.java
index f6c4b13d9ab..11de7dd9fbc 100644
--- a/src/main/java/com/stripe/param/AccountSessionCreateParams.java
+++ b/src/main/java/com/stripe/param/AccountSessionCreateParams.java
@@ -446,11 +446,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -504,12 +504,11 @@ public AccountSessionCreateParams.Components.AccountManagement.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This value can only be
-           * true for accounts where {@code controller.requirement_collection} is {@code
-           * application}. The default value is the opposite of the {@code
-           * external_account_collection} value. For example, if you don’t set {@code
-           * external_account_collection}, it defaults to true and {@code
-           * disable_stripe_user_authentication} defaults to false.
+           * Disables Stripe user authentication for this embedded component. This feature can only
+           * be {@code true} for accounts where you’re responsible for collecting updated
+           * information when requirements are due or change, like Custom accounts. The default
+           * value for this feature is {@code false} when {@code external_account_collection} is
+           * enabled and {@code true} otherwise.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -650,11 +649,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -708,12 +707,11 @@ public AccountSessionCreateParams.Components.AccountOnboarding.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This value can only be
-           * true for accounts where {@code controller.requirement_collection} is {@code
-           * application}. The default value is the opposite of the {@code
-           * external_account_collection} value. For example, if you don’t set {@code
-           * external_account_collection}, it defaults to true and {@code
-           * disable_stripe_user_authentication} defaults to false.
+           * Disables Stripe user authentication for this embedded component. This feature can only
+           * be {@code true} for accounts where you’re responsible for collecting updated
+           * information when requirements are due or change, like Custom accounts. The default
+           * value for this feature is {@code false} when {@code external_account_collection} is
+           * enabled and {@code true} otherwise.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -853,11 +851,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -947,12 +945,11 @@ public AccountSessionCreateParams.Components.Balances.Features build() {
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This value can only be
-           * true for accounts where {@code controller.requirement_collection} is {@code
-           * application}. The default value is the opposite of the {@code
-           * external_account_collection} value. For example, if you don’t set {@code
-           * external_account_collection}, it defaults to true and {@code
-           * disable_stripe_user_authentication} defaults to false.
+           * Disables Stripe user authentication for this embedded component. This feature can only
+           * be {@code true} for accounts where you’re responsible for collecting updated
+           * information when requirements are due or change, like Custom accounts. The default
+           * value for this feature is {@code false} when {@code external_account_collection} is
+           * enabled and {@code true} otherwise.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -1261,11 +1258,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -1319,12 +1316,11 @@ public AccountSessionCreateParams.Components.NotificationBanner.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This value can only be
-           * true for accounts where {@code controller.requirement_collection} is {@code
-           * application}. The default value is the opposite of the {@code
-           * external_account_collection} value. For example, if you don’t set {@code
-           * external_account_collection}, it defaults to true and {@code
-           * disable_stripe_user_authentication} defaults to false.
+           * Disables Stripe user authentication for this embedded component. This feature can only
+           * be {@code true} for accounts where you’re responsible for collecting updated
+           * information when requirements are due or change, like Custom accounts. The default
+           * value for this feature is {@code false} when {@code external_account_collection} is
+           * enabled and {@code true} otherwise.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -1914,11 +1910,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This value can only be
-         * true for accounts where {@code controller.requirement_collection} is {@code application}.
-         * The default value is the opposite of the {@code external_account_collection} value. For
-         * example, if you don’t set {@code external_account_collection}, it defaults to true and
-         * {@code disable_stripe_user_authentication} defaults to false.
+         * Disables Stripe user authentication for this embedded component. This feature can only be
+         * {@code true} for accounts where you’re responsible for collecting updated information
+         * when requirements are due or change, like Custom accounts. The default value for this
+         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
+         * true} otherwise.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -2008,12 +2004,11 @@ public AccountSessionCreateParams.Components.Payouts.Features build() {
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This value can only be
-           * true for accounts where {@code controller.requirement_collection} is {@code
-           * application}. The default value is the opposite of the {@code
-           * external_account_collection} value. For example, if you don’t set {@code
-           * external_account_collection}, it defaults to true and {@code
-           * disable_stripe_user_authentication} defaults to false.
+           * Disables Stripe user authentication for this embedded component. This feature can only
+           * be {@code true} for accounts where you’re responsible for collecting updated
+           * information when requirements are due or change, like Custom accounts. The default
+           * value for this feature is {@code false} when {@code external_account_collection} is
+           * enabled and {@code true} otherwise.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
diff --git a/src/main/java/com/stripe/param/DisputeUpdateParams.java b/src/main/java/com/stripe/param/DisputeUpdateParams.java
index 702812e9193..ab7a359b04c 100644
--- a/src/main/java/com/stripe/param/DisputeUpdateParams.java
+++ b/src/main/java/com/stripe/param/DisputeUpdateParams.java
@@ -1086,17 +1086,10 @@ public static class EnhancedEvidence {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
-      /** Evidence provided for Visa Compliance evidence submission. */
-      @SerializedName("visa_compliance")
-      VisaCompliance visaCompliance;
-
       private EnhancedEvidence(
-          Map<String, Object> extraParams,
-          VisaCompellingEvidence3 visaCompellingEvidence3,
-          VisaCompliance visaCompliance) {
+          Map<String, Object> extraParams, VisaCompellingEvidence3 visaCompellingEvidence3) {
         this.extraParams = extraParams;
         this.visaCompellingEvidence3 = visaCompellingEvidence3;
-        this.visaCompliance = visaCompliance;
       }
 
       public static Builder builder() {
@@ -1108,12 +1101,10 @@ public static class Builder {
 
         private VisaCompellingEvidence3 visaCompellingEvidence3;
 
-        private VisaCompliance visaCompliance;
-
         /** Finalize and obtain parameter instance from this builder. */
         public DisputeUpdateParams.Evidence.EnhancedEvidence build() {
           return new DisputeUpdateParams.Evidence.EnhancedEvidence(
-              this.extraParams, this.visaCompellingEvidence3, this.visaCompliance);
+              this.extraParams, this.visaCompellingEvidence3);
         }
 
         /**
@@ -1151,13 +1142,6 @@ public Builder setVisaCompellingEvidence3(
           this.visaCompellingEvidence3 = visaCompellingEvidence3;
           return this;
         }
-
-        /** Evidence provided for Visa Compliance evidence submission. */
-        public Builder setVisaCompliance(
-            DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance visaCompliance) {
-          this.visaCompliance = visaCompliance;
-          return this;
-        }
       }
 
       @Getter
@@ -2236,88 +2220,6 @@ public Builder setState(EmptyParam state) {
           }
         }
       }
-
-      @Getter
-      public static class VisaCompliance {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * A field acknowledging the fee incurred when countering a Visa Compliance dispute. If this
-         * field is set to true, evidence can be submitted for the compliance dispute, and you may
-         * incur a $500 fee if the case is lost.
-         */
-        @SerializedName("fee_acknowledged")
-        Boolean feeAcknowledged;
-
-        private VisaCompliance(Map<String, Object> extraParams, Boolean feeAcknowledged) {
-          this.extraParams = extraParams;
-          this.feeAcknowledged = feeAcknowledged;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private Boolean feeAcknowledged;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance build() {
-            return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance(
-                this.extraParams, this.feeAcknowledged);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link
-           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
-           * documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link
-           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
-           * documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * A field acknowledging the fee incurred when countering a Visa Compliance dispute. If
-           * this field is set to true, evidence can be submitted for the compliance dispute, and
-           * you may incur a $500 fee if the case is lost.
-           */
-          public Builder setFeeAcknowledged(Boolean feeAcknowledged) {
-            this.feeAcknowledged = feeAcknowledged;
-            return this;
-          }
-        }
-      }
     }
   }
 }
diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
index 0de2acbc37e..0580d57feca 100644
--- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
+++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
@@ -595,10 +595,7 @@ public enum ApiVersion implements ApiRequestParams.EnumParam {
     VERSION_2024_10_28_ACACIA("2024-10-28.acacia"),
 
     @SerializedName("2024-11-20.acacia")
-    VERSION_2024_11_20_ACACIA("2024-11-20.acacia"),
-
-    @SerializedName("2024-12-18.acacia")
-    VERSION_2024_12_18_ACACIA("2024-12-18.acacia");
+    VERSION_2024_11_20_ACACIA("2024-11-20.acacia");
 
     @Getter(onMethod_ = {@Override})
     private final String value;

From 90c2dfd777ca568f0e7977071f1168b70d3d0c5f Mon Sep 17 00:00:00 2001
From: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com>
Date: Sat, 14 Dec 2024 00:12:03 +0000
Subject: [PATCH 4/4] Update generated code for v1412

---
 OPENAPI_VERSION                               |    2 +-
 src/main/java/com/stripe/ApiVersion.java      |    2 +-
 src/main/java/com/stripe/model/Account.java   |    9 +-
 .../java/com/stripe/model/AccountSession.java |   50 +-
 .../java/com/stripe/model/Capability.java     |    9 +-
 src/main/java/com/stripe/model/Card.java      |   19 +
 src/main/java/com/stripe/model/Charge.java    |   19 +
 .../com/stripe/model/ConfirmationToken.java   |    8 +
 src/main/java/com/stripe/model/Dispute.java   |   42 +
 src/main/java/com/stripe/model/Invoice.java   |   14 +-
 .../java/com/stripe/model/PaymentMethod.java  |    8 +
 src/main/java/com/stripe/model/Person.java    |    9 +-
 src/main/java/com/stripe/model/Source.java    |   11 +
 src/main/java/com/stripe/model/TaxId.java     |   38 +-
 .../com/stripe/model/checkout/Session.java    |   12 +-
 .../com/stripe/model/tax/Calculation.java     |   12 +-
 .../com/stripe/model/tax/Registration.java    |  420 ++
 .../com/stripe/model/tax/Transaction.java     |   12 +-
 .../param/AccountSessionCreateParams.java     |  105 +-
 .../stripe/param/CustomerCreateParams.java    |   75 +-
 .../param/CustomerTaxIdCreateParams.java      |   73 +-
 .../com/stripe/param/DisputeUpdateParams.java |  106 +-
 .../param/InvoiceCreatePreviewParams.java     |   76 +-
 .../param/InvoiceUpcomingLinesListParams.java |   76 +-
 .../param/InvoiceUpcomingLinesParams.java     |   76 +-
 .../stripe/param/InvoiceUpcomingParams.java   |   76 +-
 .../param/TaxIdCollectionCreateParams.java    |   73 +-
 .../com/stripe/param/TaxIdCreateParams.java   |   73 +-
 .../param/WebhookEndpointCreateParams.java    |    5 +-
 .../param/tax/CalculationCreateParams.java    |   76 +-
 .../param/tax/RegistrationCreateParams.java   | 6461 +++++++++++------
 31 files changed, 5375 insertions(+), 2672 deletions(-)

diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION
index 85b34541d57..bf0daa66a74 100644
--- a/OPENAPI_VERSION
+++ b/OPENAPI_VERSION
@@ -1 +1 @@
-v1409
\ No newline at end of file
+v1412
\ No newline at end of file
diff --git a/src/main/java/com/stripe/ApiVersion.java b/src/main/java/com/stripe/ApiVersion.java
index d00fa011271..f582b3a469b 100644
--- a/src/main/java/com/stripe/ApiVersion.java
+++ b/src/main/java/com/stripe/ApiVersion.java
@@ -2,5 +2,5 @@
 package com.stripe;
 
 final class ApiVersion {
-  public static final String CURRENT = "2024-11-20.acacia";
+  public static final String CURRENT = "2024-12-18.acacia";
 }
diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java
index 8d9b7bfc033..3449c963d85 100644
--- a/src/main/java/com/stripe/model/Account.java
+++ b/src/main/java/com/stripe/model/Account.java
@@ -1799,8 +1799,8 @@ public static class FutureRequirements extends StripeObject {
     List<Account.FutureRequirements.Errors> errors;
 
     /**
-     * Fields that need to be collected assuming all volume thresholds are reached. As they become
-     * required, they appear in {@code currently_due} as well.
+     * Fields you must collect when all thresholds are reached. As they become required, they appear
+     * in {@code currently_due} as well.
      */
     @SerializedName("eventually_due")
     List<String> eventuallyDue;
@@ -2001,9 +2001,8 @@ public static class Requirements extends StripeObject {
     List<Account.Requirements.Errors> errors;
 
     /**
-     * Fields that need to be collected assuming all volume thresholds are reached. As they become
-     * required, they appear in {@code currently_due} as well, and {@code current_deadline} becomes
-     * set.
+     * Fields you must collect when all thresholds are reached. As they become required, they appear
+     * in {@code currently_due} as well, and {@code current_deadline} becomes set.
      */
     @SerializedName("eventually_due")
     List<String> eventuallyDue;
diff --git a/src/main/java/com/stripe/model/AccountSession.java b/src/main/java/com/stripe/model/AccountSession.java
index 17746ece2d3..cbe1dc2cd11 100644
--- a/src/main/java/com/stripe/model/AccountSession.java
+++ b/src/main/java/com/stripe/model/AccountSession.java
@@ -183,11 +183,11 @@ public static class AccountManagement extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -228,11 +228,11 @@ public static class AccountOnboarding extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -273,11 +273,11 @@ public static class Balances extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -364,11 +364,11 @@ public static class NotificationBanner extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -509,11 +509,11 @@ public static class Payouts extends StripeObject {
       @EqualsAndHashCode(callSuper = false)
       public static class Features extends StripeObject {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java
index 183d3db6afa..b7085f58aa2 100644
--- a/src/main/java/com/stripe/model/Capability.java
+++ b/src/main/java/com/stripe/model/Capability.java
@@ -191,8 +191,8 @@ public static class FutureRequirements extends StripeObject {
     List<Capability.FutureRequirements.Errors> errors;
 
     /**
-     * Fields that need to be collected assuming all volume thresholds are reached. As they become
-     * required, they appear in {@code currently_due} as well.
+     * Fields you must collect when all thresholds are reached. As they become required, they appear
+     * in {@code currently_due} as well.
      */
     @SerializedName("eventually_due")
     List<String> eventuallyDue;
@@ -374,9 +374,8 @@ public static class Requirements extends StripeObject {
     List<Capability.Requirements.Errors> errors;
 
     /**
-     * Fields that need to be collected assuming all volume thresholds are reached. As they become
-     * required, they appear in {@code currently_due} as well, and {@code current_deadline} becomes
-     * set.
+     * Fields you must collect when all thresholds are reached. As they become required, they appear
+     * in {@code currently_due} as well, and {@code current_deadline} becomes set.
      */
     @SerializedName("eventually_due")
     List<String> eventuallyDue;
diff --git a/src/main/java/com/stripe/model/Card.java b/src/main/java/com/stripe/model/Card.java
index 5a907833e8d..ecd01d42e77 100644
--- a/src/main/java/com/stripe/model/Card.java
+++ b/src/main/java/com/stripe/model/Card.java
@@ -78,6 +78,17 @@ public class Card extends ApiResource
   @SerializedName("address_zip_check")
   String addressZipCheck;
 
+  /**
+   * This field indicates whether this payment method can be shown again to its customer in a
+   * checkout flow. Stripe products such as Checkout and Elements use this field to determine
+   * whether a payment method can be shown as a saved payment method in a checkout flow. The field
+   * defaults to “unspecified”.
+   *
+   * <p>One of {@code always}, {@code limited}, or {@code unspecified}.
+   */
+  @SerializedName("allow_redisplay")
+  String allowRedisplay;
+
   /**
    * A set of available payout methods for this card. Only values from this set should be passed as
    * the {@code method} when creating a payout.
@@ -229,6 +240,14 @@ public class Card extends ApiResource
   @SerializedName("object")
   String object;
 
+  /**
+   * Status of a card based on the card issuer.
+   *
+   * <p>One of {@code regulated}, or {@code unregulated}.
+   */
+  @SerializedName("regulated_status")
+  String regulatedStatus;
+
   /**
    * For external accounts that are cards, possible values are {@code new} and {@code errored}. If a
    * payout fails, the status is set to {@code errored} and <a
diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java
index 2da40f2a699..e5ca12f37e2 100644
--- a/src/main/java/com/stripe/model/Charge.java
+++ b/src/main/java/com/stripe/model/Charge.java
@@ -1873,9 +1873,28 @@ public static class Card extends StripeObject {
       @SerializedName("network_token")
       NetworkToken networkToken;
 
+      /**
+       * This is used by the financial networks to identify a transaction. Visa calls this the
+       * Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the
+       * Acquirer Reference Data. The first three digits of the Trace ID is the Financial Network
+       * Code, the next 6 digits is the Banknet Reference Number, and the last 4 digits represent
+       * the date (MM/DD). This field will be available for successful Visa, Mastercard, or American
+       * Express transactions and always null for other card brands.
+       */
+      @SerializedName("network_transaction_id")
+      String networkTransactionId;
+
       @SerializedName("overcapture")
       Overcapture overcapture;
 
+      /**
+       * Status of a card based on the card issuer.
+       *
+       * <p>One of {@code regulated}, or {@code unregulated}.
+       */
+      @SerializedName("regulated_status")
+      String regulatedStatus;
+
       /** Populated if this transaction used 3D Secure authentication. */
       @SerializedName("three_d_secure")
       ThreeDSecure threeDSecure;
diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java
index 7e0e1add208..739c30f19ff 100644
--- a/src/main/java/com/stripe/model/ConfirmationToken.java
+++ b/src/main/java/com/stripe/model/ConfirmationToken.java
@@ -697,6 +697,14 @@ public static class Card extends StripeObject {
       @SerializedName("networks")
       Networks networks;
 
+      /**
+       * Status of a card based on the card issuer.
+       *
+       * <p>One of {@code regulated}, or {@code unregulated}.
+       */
+      @SerializedName("regulated_status")
+      String regulatedStatus;
+
       /** Contains details on how this Card may be used for 3D Secure authentication. */
       @SerializedName("three_d_secure_usage")
       ThreeDSecureUsage threeDSecureUsage;
diff --git a/src/main/java/com/stripe/model/Dispute.java b/src/main/java/com/stripe/model/Dispute.java
index e8c6c92ebd8..2e2b58447e1 100644
--- a/src/main/java/com/stripe/model/Dispute.java
+++ b/src/main/java/com/stripe/model/Dispute.java
@@ -780,6 +780,9 @@ public static class EnhancedEvidence extends StripeObject {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
+      @SerializedName("visa_compliance")
+      VisaCompliance visaCompliance;
+
       /**
        * For more details about VisaCompellingEvidence3, please refer to the <a
        * href="https://docs.stripe.com/api">API Reference.</a>
@@ -980,6 +983,25 @@ public static class ShippingAddress extends StripeObject {
           }
         }
       }
+
+      /**
+       * For more details about VisaCompliance, please refer to the <a
+       * href="https://docs.stripe.com/api">API Reference.</a>
+       */
+      @Getter
+      @Setter
+      @EqualsAndHashCode(callSuper = false)
+      public static class VisaCompliance extends StripeObject {
+        /**
+         * A field acknowledging the fee incurred when countering a Visa compliance dispute. If this
+         * field is set to true, evidence can be submitted for the compliance dispute. Stripe
+         * collects a 500 USD (or local equivalent) amount to cover the network costs associated
+         * with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the
+         * dispute.
+         */
+        @SerializedName("fee_acknowledged")
+        Boolean feeAcknowledged;
+      }
     }
   }
 
@@ -1032,6 +1054,9 @@ public static class EnhancedEligibility extends StripeObject {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
+      @SerializedName("visa_compliance")
+      VisaCompliance visaCompliance;
+
       /**
        * For more details about VisaCompellingEvidence3, please refer to the <a
        * href="https://docs.stripe.com/api">API Reference.</a>
@@ -1055,6 +1080,23 @@ public static class VisaCompellingEvidence3 extends StripeObject {
         @SerializedName("status")
         String status;
       }
+
+      /**
+       * For more details about VisaCompliance, please refer to the <a
+       * href="https://docs.stripe.com/api">API Reference.</a>
+       */
+      @Getter
+      @Setter
+      @EqualsAndHashCode(callSuper = false)
+      public static class VisaCompliance extends StripeObject {
+        /**
+         * Visa compliance eligibility status.
+         *
+         * <p>One of {@code fee_acknowledged}, or {@code requires_fee_acknowledgement}.
+         */
+        @SerializedName("status")
+        String status;
+      }
     }
   }
 
diff --git a/src/main/java/com/stripe/model/Invoice.java b/src/main/java/com/stripe/model/Invoice.java
index 3c0e6774d59..ff87a9cc2c5 100644
--- a/src/main/java/com/stripe/model/Invoice.java
+++ b/src/main/java/com/stripe/model/Invoice.java
@@ -2281,13 +2281,13 @@ public static class CustomerTaxId extends StripeObject {
      * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code my_sst}, {@code sg_gst}, {@code
      * ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code my_frp}, {@code il_vat},
      * {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic}, {@code hu_tin}, {@code
-     * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code bh_vat},
-     * {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code ch_uid}, {@code
-     * tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat}, {@code by_tin},
-     * {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif}, {@code mr_nif}, {@code
-     * me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code mk_vat}, {@code sr_fin},
-     * {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin}, {@code ug_tin}, {@code
-     * zm_tin}, {@code kh_tin}, or {@code unknown}.
+     * si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code ph_tin}, {@code al_tin},
+     * {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn}, {@code
+     * ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code ma_vat},
+     * {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif}, {@code
+     * mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code mk_vat},
+     * {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin}, {@code
+     * ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
      */
     @SerializedName("type")
     String type;
diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java
index 7be4badbe15..07772ca71b9 100644
--- a/src/main/java/com/stripe/model/PaymentMethod.java
+++ b/src/main/java/com/stripe/model/PaymentMethod.java
@@ -928,6 +928,14 @@ public static class Card extends StripeObject {
     @SerializedName("networks")
     Networks networks;
 
+    /**
+     * Status of a card based on the card issuer.
+     *
+     * <p>One of {@code regulated}, or {@code unregulated}.
+     */
+    @SerializedName("regulated_status")
+    String regulatedStatus;
+
     /** Contains details on how this Card may be used for 3D Secure authentication. */
     @SerializedName("three_d_secure_usage")
     ThreeDSecureUsage threeDSecureUsage;
diff --git a/src/main/java/com/stripe/model/Person.java b/src/main/java/com/stripe/model/Person.java
index 2101b84409e..6f69c71c13e 100644
--- a/src/main/java/com/stripe/model/Person.java
+++ b/src/main/java/com/stripe/model/Person.java
@@ -444,8 +444,8 @@ public static class FutureRequirements extends StripeObject {
     List<Person.FutureRequirements.Errors> errors;
 
     /**
-     * Fields that need to be collected assuming all volume thresholds are reached. As they become
-     * required, they appear in {@code currently_due} as well, and the account's {@code
+     * Fields you must collect when all thresholds are reached. As they become required, they appear
+     * in {@code currently_due} as well, and the account's {@code
      * future_requirements[current_deadline]} becomes set.
      */
     @SerializedName("eventually_due")
@@ -661,9 +661,8 @@ public static class Requirements extends StripeObject {
     List<Person.Requirements.Errors> errors;
 
     /**
-     * Fields that need to be collected assuming all volume thresholds are reached. As they become
-     * required, they appear in {@code currently_due} as well, and the account's {@code
-     * current_deadline} becomes set.
+     * Fields you must collect when all thresholds are reached. As they become required, they appear
+     * in {@code currently_due} as well, and the account's {@code current_deadline} becomes set.
      */
     @SerializedName("eventually_due")
     List<String> eventuallyDue;
diff --git a/src/main/java/com/stripe/model/Source.java b/src/main/java/com/stripe/model/Source.java
index 694bf9f64dd..d02f94fcd5a 100644
--- a/src/main/java/com/stripe/model/Source.java
+++ b/src/main/java/com/stripe/model/Source.java
@@ -50,6 +50,17 @@ public class Source extends ApiResource implements MetadataStore<Source>, Paymen
   @SerializedName("alipay")
   Alipay alipay;
 
+  /**
+   * This field indicates whether this payment method can be shown again to its customer in a
+   * checkout flow. Stripe products such as Checkout and Elements use this field to determine
+   * whether a payment method can be shown as a saved payment method in a checkout flow. The field
+   * defaults to “unspecified”.
+   *
+   * <p>One of {@code always}, {@code limited}, or {@code unspecified}.
+   */
+  @SerializedName("allow_redisplay")
+  String allowRedisplay;
+
   /**
    * A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1,
    * Japanese Yen being a zero-decimal currency) representing the total amount associated with the
diff --git a/src/main/java/com/stripe/model/TaxId.java b/src/main/java/com/stripe/model/TaxId.java
index 0ea23b3f01d..01fb9119730 100644
--- a/src/main/java/com/stripe/model/TaxId.java
+++ b/src/main/java/com/stripe/model/TaxId.java
@@ -73,25 +73,25 @@ public class TaxId extends ApiResource implements HasId {
   Owner owner;
 
   /**
-   * Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code am_tin}, {@code ao_tin},
-   * {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin}, {@code bb_tin}, {@code
-   * bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code br_cpf}, {@code bs_tin},
-   * {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code
-   * ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin},
-   * {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc},
-   * {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code
-   * ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
-   * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
-   * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code
-   * ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
-   * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
-   * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-   * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
-   * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
-   * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code
-   * us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code
-   * za_vat}, {@code zm_tin}, or {@code zw_tin}. Note that some legacy tax IDs have type {@code
-   * unknown}
+   * Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code al_tin}, {@code am_tin},
+   * {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin}, {@code
+   * bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code br_cpf},
+   * {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc}, {@code
+   * ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code ch_vat},
+   * {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn},
+   * {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code
+   * gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code
+   * id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code
+   * jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code
+   * li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+   * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code
+   * no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin},
+   * {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
+   * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
+   * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+   * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
+   * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}. Note that some legacy tax IDs have
+   * type {@code unknown}
    */
   @SerializedName("type")
   String type;
diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java
index bea1df4a1ae..a65c703fc97 100644
--- a/src/main/java/com/stripe/model/checkout/Session.java
+++ b/src/main/java/com/stripe/model/checkout/Session.java
@@ -1345,12 +1345,12 @@ public static class TaxId extends StripeObject {
        * {@code sg_gst}, {@code ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code
        * my_frp}, {@code il_vat}, {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic},
        * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
-       * ph_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn},
-       * {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code
-       * ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif},
-       * {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code
-       * mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin},
-       * {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
+       * ph_tin}, {@code al_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat},
+       * {@code de_stn}, {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code
+       * md_vat}, {@code ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin},
+       * {@code cd_nif}, {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code
+       * gn_nif}, {@code mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan},
+       * {@code tj_tin}, {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
        */
       @SerializedName("type")
       String type;
diff --git a/src/main/java/com/stripe/model/tax/Calculation.java b/src/main/java/com/stripe/model/tax/Calculation.java
index 7d954b0954c..f3ca9f71d69 100644
--- a/src/main/java/com/stripe/model/tax/Calculation.java
+++ b/src/main/java/com/stripe/model/tax/Calculation.java
@@ -332,12 +332,12 @@ public static class TaxId extends StripeObject {
        * {@code sg_gst}, {@code ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code
        * my_frp}, {@code il_vat}, {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic},
        * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
-       * ph_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn},
-       * {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code
-       * ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif},
-       * {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code
-       * mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin},
-       * {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
+       * ph_tin}, {@code al_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat},
+       * {@code de_stn}, {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code
+       * md_vat}, {@code ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin},
+       * {@code cd_nif}, {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code
+       * gn_nif}, {@code mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan},
+       * {@code tj_tin}, {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
        */
       @SerializedName("type")
       String type;
diff --git a/src/main/java/com/stripe/model/tax/Registration.java b/src/main/java/com/stripe/model/tax/Registration.java
index 43153f404dc..0678adf9bd8 100644
--- a/src/main/java/com/stripe/model/tax/Registration.java
+++ b/src/main/java/com/stripe/model/tax/Registration.java
@@ -258,12 +258,27 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("ae")
     Ae ae;
 
+    @SerializedName("al")
+    Al al;
+
+    @SerializedName("am")
+    Am am;
+
+    @SerializedName("ao")
+    Ao ao;
+
     @SerializedName("at")
     At at;
 
     @SerializedName("au")
     Au au;
 
+    @SerializedName("ba")
+    Ba ba;
+
+    @SerializedName("bb")
+    Bb bb;
+
     @SerializedName("be")
     Be be;
 
@@ -273,12 +288,18 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("bh")
     Bh bh;
 
+    @SerializedName("bs")
+    Bs bs;
+
     @SerializedName("by")
     By by;
 
     @SerializedName("ca")
     Ca ca;
 
+    @SerializedName("cd")
+    Cd cd;
+
     @SerializedName("ch")
     Ch ch;
 
@@ -327,6 +348,9 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("ge")
     Ge ge;
 
+    @SerializedName("gn")
+    Gn gn;
+
     @SerializedName("gr")
     Gr gr;
 
@@ -354,6 +378,9 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("ke")
     Ke ke;
 
+    @SerializedName("kh")
+    Kh kh;
+
     @SerializedName("kr")
     Kr kr;
 
@@ -375,6 +402,15 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("md")
     Md md;
 
+    @SerializedName("me")
+    Me me;
+
+    @SerializedName("mk")
+    Mk mk;
+
+    @SerializedName("mr")
+    Mr mr;
+
     @SerializedName("mt")
     Mt mt;
 
@@ -393,12 +429,18 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("no")
     No no;
 
+    @SerializedName("np")
+    Np np;
+
     @SerializedName("nz")
     Nz nz;
 
     @SerializedName("om")
     Om om;
 
+    @SerializedName("pe")
+    Pe pe;
+
     @SerializedName("pl")
     Pl pl;
 
@@ -429,18 +471,33 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("sk")
     Sk sk;
 
+    @SerializedName("sn")
+    Sn sn;
+
+    @SerializedName("sr")
+    Sr sr;
+
     @SerializedName("th")
     Th th;
 
+    @SerializedName("tj")
+    Tj tj;
+
     @SerializedName("tr")
     Tr tr;
 
     @SerializedName("tz")
     Tz tz;
 
+    @SerializedName("ug")
+    Ug ug;
+
     @SerializedName("us")
     Us us;
 
+    @SerializedName("uy")
+    Uy uy;
+
     @SerializedName("uz")
     Uz uz;
 
@@ -450,6 +507,12 @@ public static class CountryOptions extends StripeObject {
     @SerializedName("za")
     Za za;
 
+    @SerializedName("zm")
+    Zm zm;
+
+    @SerializedName("zw")
+    Zw zw;
+
     /**
      * For more details about Ae, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -467,6 +530,57 @@ public static class Ae extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Al, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Al extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Am, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Am extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Ao, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Ao extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about At, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -521,6 +635,40 @@ public static class Au extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Ba, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Ba extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Bb, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Bb extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Be, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -612,6 +760,23 @@ public static class Bh extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Bs, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Bs extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about By, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -665,6 +830,23 @@ public static class ProvinceStandard extends StripeObject {
       }
     }
 
+    /**
+     * For more details about Cd, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Cd extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Ch, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -1097,6 +1279,23 @@ public static class Ge extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Gn, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Gn extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Gr, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -1350,6 +1549,23 @@ public static class Ke extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Kh, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Kh extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Kr, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -1529,6 +1745,57 @@ public static class Md extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Me, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Me extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Mk, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Mk extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Mr, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Mr extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Mt, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -1671,6 +1938,23 @@ public static class No extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Np, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Np extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Nz, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -1705,6 +1989,23 @@ public static class Om extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Pe, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Pe extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Pl, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -1995,6 +2296,40 @@ public static class Standard extends StripeObject {
       }
     }
 
+    /**
+     * For more details about Sn, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Sn extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Sr, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Sr extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Th, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -2012,6 +2347,23 @@ public static class Th extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Tj, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Tj extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Tr, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -2046,6 +2398,23 @@ public static class Tz extends StripeObject {
       String type;
     }
 
+    /**
+     * For more details about Ug, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Ug extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Us, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -2150,6 +2519,23 @@ public static class Election extends StripeObject {
       }
     }
 
+    /**
+     * For more details about Uy, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Uy extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
     /**
      * For more details about Uz, please refer to the <a href="https://docs.stripe.com/api">API
      * Reference.</a>
@@ -2200,6 +2586,40 @@ public static class Za extends StripeObject {
       @SerializedName("type")
       String type;
     }
+
+    /**
+     * For more details about Zm, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Zm extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code simplified}.
+       */
+      @SerializedName("type")
+      String type;
+    }
+
+    /**
+     * For more details about Zw, please refer to the <a href="https://docs.stripe.com/api">API
+     * Reference.</a>
+     */
+    @Getter
+    @Setter
+    @EqualsAndHashCode(callSuper = false)
+    public static class Zw extends StripeObject {
+      /**
+       * Type of registration in {@code country}.
+       *
+       * <p>Equal to {@code standard}.
+       */
+      @SerializedName("type")
+      String type;
+    }
   }
 
   @Override
diff --git a/src/main/java/com/stripe/model/tax/Transaction.java b/src/main/java/com/stripe/model/tax/Transaction.java
index 62a31b7c897..a3f2bf91d66 100644
--- a/src/main/java/com/stripe/model/tax/Transaction.java
+++ b/src/main/java/com/stripe/model/tax/Transaction.java
@@ -377,12 +377,12 @@ public static class TaxId extends StripeObject {
        * {@code sg_gst}, {@code ae_trn}, {@code cl_tin}, {@code sa_vat}, {@code id_npwp}, {@code
        * my_frp}, {@code il_vat}, {@code ge_vat}, {@code ua_vat}, {@code is_vat}, {@code bg_uic},
        * {@code hu_tin}, {@code si_tin}, {@code ke_pin}, {@code tr_tin}, {@code eg_tin}, {@code
-       * ph_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat}, {@code de_stn},
-       * {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code md_vat}, {@code
-       * ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin}, {@code cd_nif},
-       * {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code gn_nif}, {@code
-       * mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan}, {@code tj_tin},
-       * {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
+       * ph_tin}, {@code al_tin}, {@code bh_vat}, {@code kz_bin}, {@code ng_tin}, {@code om_vat},
+       * {@code de_stn}, {@code ch_uid}, {@code tz_vat}, {@code uz_vat}, {@code uz_tin}, {@code
+       * md_vat}, {@code ma_vat}, {@code by_tin}, {@code ao_tin}, {@code bs_tin}, {@code bb_tin},
+       * {@code cd_nif}, {@code mr_nif}, {@code me_pib}, {@code zw_tin}, {@code ba_tin}, {@code
+       * gn_nif}, {@code mk_vat}, {@code sr_fin}, {@code sn_ninea}, {@code am_tin}, {@code np_pan},
+       * {@code tj_tin}, {@code ug_tin}, {@code zm_tin}, {@code kh_tin}, or {@code unknown}.
        */
       @SerializedName("type")
       String type;
diff --git a/src/main/java/com/stripe/param/AccountSessionCreateParams.java b/src/main/java/com/stripe/param/AccountSessionCreateParams.java
index 11de7dd9fbc..f6c4b13d9ab 100644
--- a/src/main/java/com/stripe/param/AccountSessionCreateParams.java
+++ b/src/main/java/com/stripe/param/AccountSessionCreateParams.java
@@ -446,11 +446,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -504,11 +504,12 @@ public AccountSessionCreateParams.Components.AccountManagement.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be {@code true} for accounts where you’re responsible for collecting updated
-           * information when requirements are due or change, like Custom accounts. The default
-           * value for this feature is {@code false} when {@code external_account_collection} is
-           * enabled and {@code true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -649,11 +650,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -707,11 +708,12 @@ public AccountSessionCreateParams.Components.AccountOnboarding.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be {@code true} for accounts where you’re responsible for collecting updated
-           * information when requirements are due or change, like Custom accounts. The default
-           * value for this feature is {@code false} when {@code external_account_collection} is
-           * enabled and {@code true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -851,11 +853,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -945,11 +947,12 @@ public AccountSessionCreateParams.Components.Balances.Features build() {
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be {@code true} for accounts where you’re responsible for collecting updated
-           * information when requirements are due or change, like Custom accounts. The default
-           * value for this feature is {@code false} when {@code external_account_collection} is
-           * enabled and {@code true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -1258,11 +1261,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -1316,11 +1319,12 @@ public AccountSessionCreateParams.Components.NotificationBanner.Features build()
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be {@code true} for accounts where you’re responsible for collecting updated
-           * information when requirements are due or change, like Custom accounts. The default
-           * value for this feature is {@code false} when {@code external_account_collection} is
-           * enabled and {@code true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
@@ -1910,11 +1914,11 @@ public Builder setFeatures(
       @Getter
       public static class Features {
         /**
-         * Disables Stripe user authentication for this embedded component. This feature can only be
-         * {@code true} for accounts where you’re responsible for collecting updated information
-         * when requirements are due or change, like Custom accounts. The default value for this
-         * feature is {@code false} when {@code external_account_collection} is enabled and {@code
-         * true} otherwise.
+         * Disables Stripe user authentication for this embedded component. This value can only be
+         * true for accounts where {@code controller.requirement_collection} is {@code application}.
+         * The default value is the opposite of the {@code external_account_collection} value. For
+         * example, if you don’t set {@code external_account_collection}, it defaults to true and
+         * {@code disable_stripe_user_authentication} defaults to false.
          */
         @SerializedName("disable_stripe_user_authentication")
         Boolean disableStripeUserAuthentication;
@@ -2004,11 +2008,12 @@ public AccountSessionCreateParams.Components.Payouts.Features build() {
           }
 
           /**
-           * Disables Stripe user authentication for this embedded component. This feature can only
-           * be {@code true} for accounts where you’re responsible for collecting updated
-           * information when requirements are due or change, like Custom accounts. The default
-           * value for this feature is {@code false} when {@code external_account_collection} is
-           * enabled and {@code true} otherwise.
+           * Disables Stripe user authentication for this embedded component. This value can only be
+           * true for accounts where {@code controller.requirement_collection} is {@code
+           * application}. The default value is the opposite of the {@code
+           * external_account_collection} value. For example, if you don’t set {@code
+           * external_account_collection}, it defaults to true and {@code
+           * disable_stripe_user_authentication} defaults to false.
            */
           public Builder setDisableStripeUserAuthentication(
               Boolean disableStripeUserAuthentication) {
diff --git a/src/main/java/com/stripe/param/CustomerCreateParams.java b/src/main/java/com/stripe/param/CustomerCreateParams.java
index 837c376ea17..803823ce0b8 100644
--- a/src/main/java/com/stripe/param/CustomerCreateParams.java
+++ b/src/main/java/com/stripe/param/CustomerCreateParams.java
@@ -1681,24 +1681,24 @@ public static class TaxIdData {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
-     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
-     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
-     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
-     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
-     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
-     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
-     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
-     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+     * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+     * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+     * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+     * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif},
+     * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
+     * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
+     * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+     * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+     * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+     * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+     * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+     * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+     * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+     * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
+     * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+     * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+     * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+     * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     @SerializedName("type")
     Type type;
@@ -1757,24 +1757,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
-       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
-       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
-       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
-       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-       * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
-       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
-       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+       * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+       * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+       * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+       * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+       * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+       * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code
+       * gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat},
+       * {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+       * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat},
+       * {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+       * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+       * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+       * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat},
+       * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code
+       * sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+       * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
+       * uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       public Builder setType(CustomerCreateParams.TaxIdData.Type type) {
         this.type = type;
@@ -1795,6 +1795,9 @@ public enum Type implements ApiRequestParams.EnumParam {
       @SerializedName("ae_trn")
       AE_TRN("ae_trn"),
 
+      @SerializedName("al_tin")
+      AL_TIN("al_tin"),
+
       @SerializedName("am_tin")
       AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java b/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java
index 28fda9d68e8..9b415a761f9 100644
--- a/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java
+++ b/src/main/java/com/stripe/param/CustomerTaxIdCreateParams.java
@@ -26,23 +26,23 @@ public class CustomerTaxIdCreateParams extends ApiRequestParams {
 
   /**
    * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-   * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-   * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-   * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc},
-   * {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code
-   * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code
-   * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat},
-   * {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-   * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn},
-   * {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-   * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
-   * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
-   * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
-   * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code
-   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit},
-   * {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-   * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-   * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+   * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+   * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+   * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+   * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+   * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code
+   * de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat},
+   * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib},
+   * {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn},
+   * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin},
+   * {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat},
+   * {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin},
+   * {@code no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code
+   * pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+   * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin},
+   * {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+   * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat},
+   * {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
    */
   @SerializedName("type")
   Type type;
@@ -131,24 +131,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
-     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
-     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
-     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
-     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
-     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
-     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
-     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
-     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+     * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+     * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+     * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+     * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif},
+     * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
+     * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
+     * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+     * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+     * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+     * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+     * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+     * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+     * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+     * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
+     * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+     * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+     * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+     * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     public Builder setType(CustomerTaxIdCreateParams.Type type) {
       this.type = type;
@@ -169,6 +169,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ae_trn")
     AE_TRN("ae_trn"),
 
+    @SerializedName("al_tin")
+    AL_TIN("al_tin"),
+
     @SerializedName("am_tin")
     AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/DisputeUpdateParams.java b/src/main/java/com/stripe/param/DisputeUpdateParams.java
index ab7a359b04c..bf4f4310b78 100644
--- a/src/main/java/com/stripe/param/DisputeUpdateParams.java
+++ b/src/main/java/com/stripe/param/DisputeUpdateParams.java
@@ -1086,10 +1086,17 @@ public static class EnhancedEvidence {
       @SerializedName("visa_compelling_evidence_3")
       VisaCompellingEvidence3 visaCompellingEvidence3;
 
+      /** Evidence provided for Visa compliance evidence submission. */
+      @SerializedName("visa_compliance")
+      VisaCompliance visaCompliance;
+
       private EnhancedEvidence(
-          Map<String, Object> extraParams, VisaCompellingEvidence3 visaCompellingEvidence3) {
+          Map<String, Object> extraParams,
+          VisaCompellingEvidence3 visaCompellingEvidence3,
+          VisaCompliance visaCompliance) {
         this.extraParams = extraParams;
         this.visaCompellingEvidence3 = visaCompellingEvidence3;
+        this.visaCompliance = visaCompliance;
       }
 
       public static Builder builder() {
@@ -1101,10 +1108,12 @@ public static class Builder {
 
         private VisaCompellingEvidence3 visaCompellingEvidence3;
 
+        private VisaCompliance visaCompliance;
+
         /** Finalize and obtain parameter instance from this builder. */
         public DisputeUpdateParams.Evidence.EnhancedEvidence build() {
           return new DisputeUpdateParams.Evidence.EnhancedEvidence(
-              this.extraParams, this.visaCompellingEvidence3);
+              this.extraParams, this.visaCompellingEvidence3, this.visaCompliance);
         }
 
         /**
@@ -1142,6 +1151,13 @@ public Builder setVisaCompellingEvidence3(
           this.visaCompellingEvidence3 = visaCompellingEvidence3;
           return this;
         }
+
+        /** Evidence provided for Visa compliance evidence submission. */
+        public Builder setVisaCompliance(
+            DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance visaCompliance) {
+          this.visaCompliance = visaCompliance;
+          return this;
+        }
       }
 
       @Getter
@@ -2220,6 +2236,92 @@ public Builder setState(EmptyParam state) {
           }
         }
       }
+
+      @Getter
+      public static class VisaCompliance {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * A field acknowledging the fee incurred when countering a Visa compliance dispute. If this
+         * field is set to true, evidence can be submitted for the compliance dispute. Stripe
+         * collects a 500 USD (or local equivalent) amount to cover the network costs associated
+         * with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win the
+         * dispute.
+         */
+        @SerializedName("fee_acknowledged")
+        Boolean feeAcknowledged;
+
+        private VisaCompliance(Map<String, Object> extraParams, Boolean feeAcknowledged) {
+          this.extraParams = extraParams;
+          this.feeAcknowledged = feeAcknowledged;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private Boolean feeAcknowledged;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance build() {
+            return new DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance(
+                this.extraParams, this.feeAcknowledged);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link
+           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
+           * documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link
+           * DisputeUpdateParams.Evidence.EnhancedEvidence.VisaCompliance#extraParams} for the field
+           * documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * A field acknowledging the fee incurred when countering a Visa compliance dispute. If
+           * this field is set to true, evidence can be submitted for the compliance dispute. Stripe
+           * collects a 500 USD (or local equivalent) amount to cover the network costs associated
+           * with resolving compliance disputes. Stripe refunds the 500 USD network fee if you win
+           * the dispute.
+           */
+          public Builder setFeeAcknowledged(Boolean feeAcknowledged) {
+            this.feeAcknowledged = feeAcknowledged;
+            return this;
+          }
+        }
+      }
     }
   }
 }
diff --git a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
index 894a3ca27bf..6f05564bf90 100644
--- a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
+++ b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java
@@ -1356,24 +1356,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
-       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
-       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
-       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
-       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-       * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
-       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
-       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+       * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+       * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+       * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+       * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+       * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+       * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code
+       * gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat},
+       * {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+       * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat},
+       * {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+       * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+       * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+       * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat},
+       * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code
+       * sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+       * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
+       * uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1435,24 +1435,25 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
-         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
-         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
-         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
-         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
-         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
-         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
-         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
-         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
-         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+         * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+         * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+         * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+         * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+         * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+         * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat},
+         * {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
+         * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
+         * {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code
+         * li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+         * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code
+         * no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc},
+         * {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+         * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code
+         * sr_fin}, {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat},
+         * {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code
+         * uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin},
+         * or {@code zw_tin}
          */
         public Builder setType(InvoiceCreatePreviewParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1473,6 +1474,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("al_tin")
+        AL_TIN("al_tin"),
+
         @SerializedName("am_tin")
         AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java
index e84f061875c..5425f712fa7 100644
--- a/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpcomingLinesListParams.java
@@ -1848,24 +1848,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
-       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
-       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
-       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
-       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-       * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
-       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
-       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+       * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+       * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+       * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+       * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+       * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+       * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code
+       * gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat},
+       * {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+       * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat},
+       * {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+       * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+       * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+       * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat},
+       * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code
+       * sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+       * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
+       * uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1927,24 +1927,25 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
-         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
-         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
-         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
-         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
-         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
-         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
-         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
-         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
-         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+         * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+         * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+         * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+         * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+         * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+         * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat},
+         * {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
+         * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
+         * {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code
+         * li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+         * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code
+         * no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc},
+         * {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+         * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code
+         * sr_fin}, {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat},
+         * {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code
+         * uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin},
+         * or {@code zw_tin}
          */
         public Builder setType(InvoiceUpcomingLinesListParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1965,6 +1966,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("al_tin")
+        AL_TIN("al_tin"),
+
         @SerializedName("am_tin")
         AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java
index 6403c03dff0..1816222e5dd 100644
--- a/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpcomingLinesParams.java
@@ -1840,24 +1840,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
-       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
-       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
-       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
-       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-       * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
-       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
-       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+       * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+       * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+       * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+       * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+       * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+       * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code
+       * gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat},
+       * {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+       * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat},
+       * {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+       * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+       * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+       * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat},
+       * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code
+       * sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+       * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
+       * uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1919,24 +1919,25 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
-         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
-         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
-         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
-         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
-         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
-         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
-         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
-         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
-         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+         * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+         * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+         * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+         * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+         * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+         * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat},
+         * {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
+         * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
+         * {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code
+         * li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+         * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code
+         * no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc},
+         * {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+         * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code
+         * sr_fin}, {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat},
+         * {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code
+         * uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin},
+         * or {@code zw_tin}
          */
         public Builder setType(InvoiceUpcomingLinesParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1957,6 +1958,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("al_tin")
+        AL_TIN("al_tin"),
+
         @SerializedName("am_tin")
         AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/InvoiceUpcomingParams.java b/src/main/java/com/stripe/param/InvoiceUpcomingParams.java
index 6d38185f694..511033f1b6f 100644
--- a/src/main/java/com/stripe/param/InvoiceUpcomingParams.java
+++ b/src/main/java/com/stripe/param/InvoiceUpcomingParams.java
@@ -1762,24 +1762,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
-       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
-       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
-       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
-       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-       * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
-       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
-       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+       * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+       * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+       * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+       * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+       * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+       * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code
+       * gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat},
+       * {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+       * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat},
+       * {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+       * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+       * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+       * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat},
+       * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code
+       * sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+       * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
+       * uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -1841,24 +1841,25 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
-         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
-         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
-         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
-         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
-         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
-         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
-         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
-         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
-         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+         * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+         * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+         * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+         * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+         * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+         * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat},
+         * {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
+         * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
+         * {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code
+         * li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+         * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code
+         * no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc},
+         * {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+         * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code
+         * sr_fin}, {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat},
+         * {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code
+         * uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin},
+         * or {@code zw_tin}
          */
         public Builder setType(InvoiceUpcomingParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -1879,6 +1880,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("al_tin")
+        AL_TIN("al_tin"),
+
         @SerializedName("am_tin")
         AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java b/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java
index 2ade24b85fa..d7a6086755f 100644
--- a/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java
+++ b/src/main/java/com/stripe/param/TaxIdCollectionCreateParams.java
@@ -26,23 +26,23 @@ public class TaxIdCollectionCreateParams extends ApiRequestParams {
 
   /**
    * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-   * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-   * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-   * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc},
-   * {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code
-   * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code
-   * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat},
-   * {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-   * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn},
-   * {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-   * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
-   * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
-   * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
-   * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code
-   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit},
-   * {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-   * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-   * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+   * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+   * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+   * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+   * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+   * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code
+   * de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat},
+   * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib},
+   * {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn},
+   * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin},
+   * {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat},
+   * {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin},
+   * {@code no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code
+   * pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+   * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin},
+   * {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+   * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat},
+   * {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
    */
   @SerializedName("type")
   Type type;
@@ -131,24 +131,24 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
-     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
-     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
-     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
-     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
-     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
-     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
-     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
-     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+     * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+     * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+     * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+     * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif},
+     * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
+     * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
+     * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+     * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+     * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+     * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+     * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+     * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+     * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+     * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
+     * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+     * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+     * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+     * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     public Builder setType(TaxIdCollectionCreateParams.Type type) {
       this.type = type;
@@ -169,6 +169,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ae_trn")
     AE_TRN("ae_trn"),
 
+    @SerializedName("al_tin")
+    AL_TIN("al_tin"),
+
     @SerializedName("am_tin")
     AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/TaxIdCreateParams.java b/src/main/java/com/stripe/param/TaxIdCreateParams.java
index 675c7544415..f2928423b4e 100644
--- a/src/main/java/com/stripe/param/TaxIdCreateParams.java
+++ b/src/main/java/com/stripe/param/TaxIdCreateParams.java
@@ -30,23 +30,23 @@ public class TaxIdCreateParams extends ApiRequestParams {
 
   /**
    * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-   * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-   * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-   * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code ca_pst_bc},
-   * {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code ch_uid}, {@code
-   * ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code de_stn}, {@code
-   * do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat},
-   * {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin},
-   * {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn},
-   * {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid},
-   * {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
-   * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
-   * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
-   * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code
-   * sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit},
-   * {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-   * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-   * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+   * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+   * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+   * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+   * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
+   * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin}, {@code
+   * de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code eu_oss_vat},
+   * {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br}, {@code hr_oib},
+   * {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn},
+   * {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin},
+   * {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat},
+   * {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin},
+   * {@code no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code
+   * pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+   * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin},
+   * {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+   * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat},
+   * {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
    */
   @SerializedName("type")
   Type type;
@@ -145,24 +145,24 @@ public Builder setOwner(TaxIdCreateParams.Owner owner) {
 
     /**
      * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn}, {@code
-     * am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code ba_tin},
-     * {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj}, {@code
-     * br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-     * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-     * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-     * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-     * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-     * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-     * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin}, {@code
-     * kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code md_vat},
-     * {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp}, {@code
-     * my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code np_pan},
-     * {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin}, {@code
-     * rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code sg_uen},
-     * {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat}, {@code
-     * tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code ug_tin},
-     * {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code
-     * vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+     * al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn},
+     * {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code
+     * br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst},
+     * {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif},
+     * {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code
+     * cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif},
+     * {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
+     * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
+     * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
+     * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
+     * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
+     * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
+     * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
+     * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
+     * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
+     * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
+     * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
+     * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
      */
     public Builder setType(TaxIdCreateParams.Type type) {
       this.type = type;
@@ -299,6 +299,9 @@ public enum Type implements ApiRequestParams.EnumParam {
     @SerializedName("ae_trn")
     AE_TRN("ae_trn"),
 
+    @SerializedName("al_tin")
+    AL_TIN("al_tin"),
+
     @SerializedName("am_tin")
     AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
index 0580d57feca..0de2acbc37e 100644
--- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
+++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java
@@ -595,7 +595,10 @@ public enum ApiVersion implements ApiRequestParams.EnumParam {
     VERSION_2024_10_28_ACACIA("2024-10-28.acacia"),
 
     @SerializedName("2024-11-20.acacia")
-    VERSION_2024_11_20_ACACIA("2024-11-20.acacia");
+    VERSION_2024_11_20_ACACIA("2024-11-20.acacia"),
+
+    @SerializedName("2024-12-18.acacia")
+    VERSION_2024_12_18_ACACIA("2024-12-18.acacia");
 
     @Getter(onMethod_ = {@Override})
     private final String value;
diff --git a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java
index 7c446b06ed5..606afbadce3 100644
--- a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java
+++ b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java
@@ -626,24 +626,24 @@ public static class TaxId {
 
       /**
        * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-       * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-       * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-       * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-       * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-       * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-       * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-       * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code hk_br},
-       * {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst}, {@code
-       * is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code kh_tin},
-       * {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat}, {@code
-       * md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code my_frp},
-       * {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec}, {@code
-       * np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code ro_tin},
-       * {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst}, {@code
-       * sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code th_vat},
-       * {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat}, {@code
-       * ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code ve_rif},
-       * {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+       * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+       * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+       * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+       * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+       * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+       * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+       * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code
+       * gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat},
+       * {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code
+       * ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat},
+       * {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code
+       * mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat},
+       * {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code
+       * ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat},
+       * {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code
+       * sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat},
+       * {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code
+       * uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
        */
       @SerializedName("type")
       Type type;
@@ -705,24 +705,25 @@ public Builder putAllExtraParam(Map<String, Object> map) {
 
         /**
          * <strong>Required.</strong> Type of the tax ID, one of {@code ad_nrt}, {@code ae_trn},
-         * {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code au_arn}, {@code
-         * ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin}, {@code br_cnpj},
-         * {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code ca_gst_hst}, {@code
-         * ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst}, {@code cd_nif}, {@code
-         * ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code co_nit}, {@code cr_tin},
-         * {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin}, {@code es_cif}, {@code
-         * eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat}, {@code gn_nif}, {@code
-         * hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code il_vat}, {@code in_gst},
-         * {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn}, {@code ke_pin}, {@code
-         * kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code li_vat}, {@code ma_vat},
-         * {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif}, {@code mx_rfc}, {@code
-         * my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code no_vat}, {@code no_voec},
-         * {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc}, {@code ph_tin}, {@code
-         * ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code sa_vat}, {@code sg_gst},
-         * {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code sr_fin}, {@code sv_nit}, {@code
-         * th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat}, {@code tz_vat}, {@code ua_vat},
-         * {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code uz_tin}, {@code uz_vat}, {@code
-         * ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin}, or {@code zw_tin}
+         * {@code al_tin}, {@code am_tin}, {@code ao_tin}, {@code ar_cuit}, {@code au_abn}, {@code
+         * au_arn}, {@code ba_tin}, {@code bb_tin}, {@code bg_uic}, {@code bh_vat}, {@code bo_tin},
+         * {@code br_cnpj}, {@code br_cpf}, {@code bs_tin}, {@code by_tin}, {@code ca_bn}, {@code
+         * ca_gst_hst}, {@code ca_pst_bc}, {@code ca_pst_mb}, {@code ca_pst_sk}, {@code ca_qst},
+         * {@code cd_nif}, {@code ch_uid}, {@code ch_vat}, {@code cl_tin}, {@code cn_tin}, {@code
+         * co_nit}, {@code cr_tin}, {@code de_stn}, {@code do_rcn}, {@code ec_ruc}, {@code eg_tin},
+         * {@code es_cif}, {@code eu_oss_vat}, {@code eu_vat}, {@code gb_vat}, {@code ge_vat},
+         * {@code gn_nif}, {@code hk_br}, {@code hr_oib}, {@code hu_tin}, {@code id_npwp}, {@code
+         * il_vat}, {@code in_gst}, {@code is_vat}, {@code jp_cn}, {@code jp_rn}, {@code jp_trn},
+         * {@code ke_pin}, {@code kh_tin}, {@code kr_brn}, {@code kz_bin}, {@code li_uid}, {@code
+         * li_vat}, {@code ma_vat}, {@code md_vat}, {@code me_pib}, {@code mk_vat}, {@code mr_nif},
+         * {@code mx_rfc}, {@code my_frp}, {@code my_itn}, {@code my_sst}, {@code ng_tin}, {@code
+         * no_vat}, {@code no_voec}, {@code np_pan}, {@code nz_gst}, {@code om_vat}, {@code pe_ruc},
+         * {@code ph_tin}, {@code ro_tin}, {@code rs_pib}, {@code ru_inn}, {@code ru_kpp}, {@code
+         * sa_vat}, {@code sg_gst}, {@code sg_uen}, {@code si_tin}, {@code sn_ninea}, {@code
+         * sr_fin}, {@code sv_nit}, {@code th_vat}, {@code tj_tin}, {@code tr_tin}, {@code tw_vat},
+         * {@code tz_vat}, {@code ua_vat}, {@code ug_tin}, {@code us_ein}, {@code uy_ruc}, {@code
+         * uz_tin}, {@code uz_vat}, {@code ve_rif}, {@code vn_tin}, {@code za_vat}, {@code zm_tin},
+         * or {@code zw_tin}
          */
         public Builder setType(CalculationCreateParams.CustomerDetails.TaxId.Type type) {
           this.type = type;
@@ -743,6 +744,9 @@ public enum Type implements ApiRequestParams.EnumParam {
         @SerializedName("ae_trn")
         AE_TRN("ae_trn"),
 
+        @SerializedName("al_tin")
+        AL_TIN("al_tin"),
+
         @SerializedName("am_tin")
         AM_TIN("am_tin"),
 
diff --git a/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java b/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java
index 6edc54fa17d..cfddb32e8bb 100644
--- a/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java
+++ b/src/main/java/com/stripe/param/tax/RegistrationCreateParams.java
@@ -202,6 +202,18 @@ public static class CountryOptions {
     @SerializedName("ae")
     Ae ae;
 
+    /** Options for the registration in AL. */
+    @SerializedName("al")
+    Al al;
+
+    /** Options for the registration in AM. */
+    @SerializedName("am")
+    Am am;
+
+    /** Options for the registration in AO. */
+    @SerializedName("ao")
+    Ao ao;
+
     /** Options for the registration in AT. */
     @SerializedName("at")
     At at;
@@ -210,6 +222,14 @@ public static class CountryOptions {
     @SerializedName("au")
     Au au;
 
+    /** Options for the registration in BA. */
+    @SerializedName("ba")
+    Ba ba;
+
+    /** Options for the registration in BB. */
+    @SerializedName("bb")
+    Bb bb;
+
     /** Options for the registration in BE. */
     @SerializedName("be")
     Be be;
@@ -222,6 +242,10 @@ public static class CountryOptions {
     @SerializedName("bh")
     Bh bh;
 
+    /** Options for the registration in BS. */
+    @SerializedName("bs")
+    Bs bs;
+
     /** Options for the registration in BY. */
     @SerializedName("by")
     By by;
@@ -230,6 +254,10 @@ public static class CountryOptions {
     @SerializedName("ca")
     Ca ca;
 
+    /** Options for the registration in CD. */
+    @SerializedName("cd")
+    Cd cd;
+
     /** Options for the registration in CH. */
     @SerializedName("ch")
     Ch ch;
@@ -303,6 +331,10 @@ public static class CountryOptions {
     @SerializedName("ge")
     Ge ge;
 
+    /** Options for the registration in GN. */
+    @SerializedName("gn")
+    Gn gn;
+
     /** Options for the registration in GR. */
     @SerializedName("gr")
     Gr gr;
@@ -339,6 +371,10 @@ public static class CountryOptions {
     @SerializedName("ke")
     Ke ke;
 
+    /** Options for the registration in KH. */
+    @SerializedName("kh")
+    Kh kh;
+
     /** Options for the registration in KR. */
     @SerializedName("kr")
     Kr kr;
@@ -367,6 +403,18 @@ public static class CountryOptions {
     @SerializedName("md")
     Md md;
 
+    /** Options for the registration in ME. */
+    @SerializedName("me")
+    Me me;
+
+    /** Options for the registration in MK. */
+    @SerializedName("mk")
+    Mk mk;
+
+    /** Options for the registration in MR. */
+    @SerializedName("mr")
+    Mr mr;
+
     /** Options for the registration in MT. */
     @SerializedName("mt")
     Mt mt;
@@ -391,6 +439,10 @@ public static class CountryOptions {
     @SerializedName("no")
     No no;
 
+    /** Options for the registration in NP. */
+    @SerializedName("np")
+    Np np;
+
     /** Options for the registration in NZ. */
     @SerializedName("nz")
     Nz nz;
@@ -399,6 +451,10 @@ public static class CountryOptions {
     @SerializedName("om")
     Om om;
 
+    /** Options for the registration in PE. */
+    @SerializedName("pe")
+    Pe pe;
+
     /** Options for the registration in PL. */
     @SerializedName("pl")
     Pl pl;
@@ -439,10 +495,22 @@ public static class CountryOptions {
     @SerializedName("sk")
     Sk sk;
 
+    /** Options for the registration in SN. */
+    @SerializedName("sn")
+    Sn sn;
+
+    /** Options for the registration in SR. */
+    @SerializedName("sr")
+    Sr sr;
+
     /** Options for the registration in TH. */
     @SerializedName("th")
     Th th;
 
+    /** Options for the registration in TJ. */
+    @SerializedName("tj")
+    Tj tj;
+
     /** Options for the registration in TR. */
     @SerializedName("tr")
     Tr tr;
@@ -451,10 +519,18 @@ public static class CountryOptions {
     @SerializedName("tz")
     Tz tz;
 
+    /** Options for the registration in UG. */
+    @SerializedName("ug")
+    Ug ug;
+
     /** Options for the registration in US. */
     @SerializedName("us")
     Us us;
 
+    /** Options for the registration in UY. */
+    @SerializedName("uy")
+    Uy uy;
+
     /** Options for the registration in UZ. */
     @SerializedName("uz")
     Uz uz;
@@ -467,15 +543,30 @@ public static class CountryOptions {
     @SerializedName("za")
     Za za;
 
+    /** Options for the registration in ZM. */
+    @SerializedName("zm")
+    Zm zm;
+
+    /** Options for the registration in ZW. */
+    @SerializedName("zw")
+    Zw zw;
+
     private CountryOptions(
         Ae ae,
+        Al al,
+        Am am,
+        Ao ao,
         At at,
         Au au,
+        Ba ba,
+        Bb bb,
         Be be,
         Bg bg,
         Bh bh,
+        Bs bs,
         By by,
         Ca ca,
+        Cd cd,
         Ch ch,
         Cl cl,
         Co co,
@@ -493,6 +584,7 @@ private CountryOptions(
         Fr fr,
         Gb gb,
         Ge ge,
+        Gn gn,
         Gr gr,
         Hr hr,
         Hu hu,
@@ -502,6 +594,7 @@ private CountryOptions(
         It it,
         Jp jp,
         Ke ke,
+        Kh kh,
         Kr kr,
         Kz kz,
         Lt lt,
@@ -509,14 +602,19 @@ private CountryOptions(
         Lv lv,
         Ma ma,
         Md md,
+        Me me,
+        Mk mk,
+        Mr mr,
         Mt mt,
         Mx mx,
         My my,
         Ng ng,
         Nl nl,
         No no,
+        Np np,
         Nz nz,
         Om om,
+        Pe pe,
         Pl pl,
         Pt pt,
         Ro ro,
@@ -527,21 +625,35 @@ private CountryOptions(
         Sg sg,
         Si si,
         Sk sk,
+        Sn sn,
+        Sr sr,
         Th th,
+        Tj tj,
         Tr tr,
         Tz tz,
+        Ug ug,
         Us us,
+        Uy uy,
         Uz uz,
         Vn vn,
-        Za za) {
+        Za za,
+        Zm zm,
+        Zw zw) {
       this.ae = ae;
+      this.al = al;
+      this.am = am;
+      this.ao = ao;
       this.at = at;
       this.au = au;
+      this.ba = ba;
+      this.bb = bb;
       this.be = be;
       this.bg = bg;
       this.bh = bh;
+      this.bs = bs;
       this.by = by;
       this.ca = ca;
+      this.cd = cd;
       this.ch = ch;
       this.cl = cl;
       this.co = co;
@@ -559,6 +671,7 @@ private CountryOptions(
       this.fr = fr;
       this.gb = gb;
       this.ge = ge;
+      this.gn = gn;
       this.gr = gr;
       this.hr = hr;
       this.hu = hu;
@@ -568,6 +681,7 @@ private CountryOptions(
       this.it = it;
       this.jp = jp;
       this.ke = ke;
+      this.kh = kh;
       this.kr = kr;
       this.kz = kz;
       this.lt = lt;
@@ -575,14 +689,19 @@ private CountryOptions(
       this.lv = lv;
       this.ma = ma;
       this.md = md;
+      this.me = me;
+      this.mk = mk;
+      this.mr = mr;
       this.mt = mt;
       this.mx = mx;
       this.my = my;
       this.ng = ng;
       this.nl = nl;
       this.no = no;
+      this.np = np;
       this.nz = nz;
       this.om = om;
+      this.pe = pe;
       this.pl = pl;
       this.pt = pt;
       this.ro = ro;
@@ -593,13 +712,20 @@ private CountryOptions(
       this.sg = sg;
       this.si = si;
       this.sk = sk;
+      this.sn = sn;
+      this.sr = sr;
       this.th = th;
+      this.tj = tj;
       this.tr = tr;
       this.tz = tz;
+      this.ug = ug;
       this.us = us;
+      this.uy = uy;
       this.uz = uz;
       this.vn = vn;
       this.za = za;
+      this.zm = zm;
+      this.zw = zw;
     }
 
     public static Builder builder() {
@@ -609,20 +735,34 @@ public static Builder builder() {
     public static class Builder {
       private Ae ae;
 
+      private Al al;
+
+      private Am am;
+
+      private Ao ao;
+
       private At at;
 
       private Au au;
 
+      private Ba ba;
+
+      private Bb bb;
+
       private Be be;
 
       private Bg bg;
 
       private Bh bh;
 
+      private Bs bs;
+
       private By by;
 
       private Ca ca;
 
+      private Cd cd;
+
       private Ch ch;
 
       private Cl cl;
@@ -657,6 +797,8 @@ public static class Builder {
 
       private Ge ge;
 
+      private Gn gn;
+
       private Gr gr;
 
       private Hr hr;
@@ -675,6 +817,8 @@ public static class Builder {
 
       private Ke ke;
 
+      private Kh kh;
+
       private Kr kr;
 
       private Kz kz;
@@ -689,6 +833,12 @@ public static class Builder {
 
       private Md md;
 
+      private Me me;
+
+      private Mk mk;
+
+      private Mr mr;
+
       private Mt mt;
 
       private Mx mx;
@@ -701,10 +851,14 @@ public static class Builder {
 
       private No no;
 
+      private Np np;
+
       private Nz nz;
 
       private Om om;
 
+      private Pe pe;
+
       private Pl pl;
 
       private Pt pt;
@@ -725,31 +879,52 @@ public static class Builder {
 
       private Sk sk;
 
+      private Sn sn;
+
+      private Sr sr;
+
       private Th th;
 
+      private Tj tj;
+
       private Tr tr;
 
       private Tz tz;
 
+      private Ug ug;
+
       private Us us;
 
+      private Uy uy;
+
       private Uz uz;
 
       private Vn vn;
 
       private Za za;
 
+      private Zm zm;
+
+      private Zw zw;
+
       /** Finalize and obtain parameter instance from this builder. */
       public RegistrationCreateParams.CountryOptions build() {
         return new RegistrationCreateParams.CountryOptions(
             this.ae,
+            this.al,
+            this.am,
+            this.ao,
             this.at,
             this.au,
+            this.ba,
+            this.bb,
             this.be,
             this.bg,
             this.bh,
+            this.bs,
             this.by,
             this.ca,
+            this.cd,
             this.ch,
             this.cl,
             this.co,
@@ -767,6 +942,7 @@ public RegistrationCreateParams.CountryOptions build() {
             this.fr,
             this.gb,
             this.ge,
+            this.gn,
             this.gr,
             this.hr,
             this.hu,
@@ -776,6 +952,7 @@ public RegistrationCreateParams.CountryOptions build() {
             this.it,
             this.jp,
             this.ke,
+            this.kh,
             this.kr,
             this.kz,
             this.lt,
@@ -783,14 +960,19 @@ public RegistrationCreateParams.CountryOptions build() {
             this.lv,
             this.ma,
             this.md,
+            this.me,
+            this.mk,
+            this.mr,
             this.mt,
             this.mx,
             this.my,
             this.ng,
             this.nl,
             this.no,
+            this.np,
             this.nz,
             this.om,
+            this.pe,
             this.pl,
             this.pt,
             this.ro,
@@ -801,13 +983,20 @@ public RegistrationCreateParams.CountryOptions build() {
             this.sg,
             this.si,
             this.sk,
+            this.sn,
+            this.sr,
             this.th,
+            this.tj,
             this.tr,
             this.tz,
+            this.ug,
             this.us,
+            this.uy,
             this.uz,
             this.vn,
-            this.za);
+            this.za,
+            this.zm,
+            this.zw);
       }
 
       /** Options for the registration in AE. */
@@ -816,6 +1005,24 @@ public Builder setAe(RegistrationCreateParams.CountryOptions.Ae ae) {
         return this;
       }
 
+      /** Options for the registration in AL. */
+      public Builder setAl(RegistrationCreateParams.CountryOptions.Al al) {
+        this.al = al;
+        return this;
+      }
+
+      /** Options for the registration in AM. */
+      public Builder setAm(RegistrationCreateParams.CountryOptions.Am am) {
+        this.am = am;
+        return this;
+      }
+
+      /** Options for the registration in AO. */
+      public Builder setAo(RegistrationCreateParams.CountryOptions.Ao ao) {
+        this.ao = ao;
+        return this;
+      }
+
       /** Options for the registration in AT. */
       public Builder setAt(RegistrationCreateParams.CountryOptions.At at) {
         this.at = at;
@@ -828,6 +1035,18 @@ public Builder setAu(RegistrationCreateParams.CountryOptions.Au au) {
         return this;
       }
 
+      /** Options for the registration in BA. */
+      public Builder setBa(RegistrationCreateParams.CountryOptions.Ba ba) {
+        this.ba = ba;
+        return this;
+      }
+
+      /** Options for the registration in BB. */
+      public Builder setBb(RegistrationCreateParams.CountryOptions.Bb bb) {
+        this.bb = bb;
+        return this;
+      }
+
       /** Options for the registration in BE. */
       public Builder setBe(RegistrationCreateParams.CountryOptions.Be be) {
         this.be = be;
@@ -846,6 +1065,12 @@ public Builder setBh(RegistrationCreateParams.CountryOptions.Bh bh) {
         return this;
       }
 
+      /** Options for the registration in BS. */
+      public Builder setBs(RegistrationCreateParams.CountryOptions.Bs bs) {
+        this.bs = bs;
+        return this;
+      }
+
       /** Options for the registration in BY. */
       public Builder setBy(RegistrationCreateParams.CountryOptions.By by) {
         this.by = by;
@@ -858,6 +1083,12 @@ public Builder setCa(RegistrationCreateParams.CountryOptions.Ca ca) {
         return this;
       }
 
+      /** Options for the registration in CD. */
+      public Builder setCd(RegistrationCreateParams.CountryOptions.Cd cd) {
+        this.cd = cd;
+        return this;
+      }
+
       /** Options for the registration in CH. */
       public Builder setCh(RegistrationCreateParams.CountryOptions.Ch ch) {
         this.ch = ch;
@@ -981,6 +1212,12 @@ public Builder setGe(RegistrationCreateParams.CountryOptions.Ge ge) {
         return this;
       }
 
+      /** Options for the registration in GN. */
+      public Builder setGn(RegistrationCreateParams.CountryOptions.Gn gn) {
+        this.gn = gn;
+        return this;
+      }
+
       /** Options for the registration in GR. */
       public Builder setGr(RegistrationCreateParams.CountryOptions.Gr gr) {
         this.gr = gr;
@@ -1035,6 +1272,12 @@ public Builder setKe(RegistrationCreateParams.CountryOptions.Ke ke) {
         return this;
       }
 
+      /** Options for the registration in KH. */
+      public Builder setKh(RegistrationCreateParams.CountryOptions.Kh kh) {
+        this.kh = kh;
+        return this;
+      }
+
       /** Options for the registration in KR. */
       public Builder setKr(RegistrationCreateParams.CountryOptions.Kr kr) {
         this.kr = kr;
@@ -1077,6 +1320,24 @@ public Builder setMd(RegistrationCreateParams.CountryOptions.Md md) {
         return this;
       }
 
+      /** Options for the registration in ME. */
+      public Builder setMe(RegistrationCreateParams.CountryOptions.Me me) {
+        this.me = me;
+        return this;
+      }
+
+      /** Options for the registration in MK. */
+      public Builder setMk(RegistrationCreateParams.CountryOptions.Mk mk) {
+        this.mk = mk;
+        return this;
+      }
+
+      /** Options for the registration in MR. */
+      public Builder setMr(RegistrationCreateParams.CountryOptions.Mr mr) {
+        this.mr = mr;
+        return this;
+      }
+
       /** Options for the registration in MT. */
       public Builder setMt(RegistrationCreateParams.CountryOptions.Mt mt) {
         this.mt = mt;
@@ -1113,6 +1374,12 @@ public Builder setNo(RegistrationCreateParams.CountryOptions.No no) {
         return this;
       }
 
+      /** Options for the registration in NP. */
+      public Builder setNp(RegistrationCreateParams.CountryOptions.Np np) {
+        this.np = np;
+        return this;
+      }
+
       /** Options for the registration in NZ. */
       public Builder setNz(RegistrationCreateParams.CountryOptions.Nz nz) {
         this.nz = nz;
@@ -1125,6 +1392,12 @@ public Builder setOm(RegistrationCreateParams.CountryOptions.Om om) {
         return this;
       }
 
+      /** Options for the registration in PE. */
+      public Builder setPe(RegistrationCreateParams.CountryOptions.Pe pe) {
+        this.pe = pe;
+        return this;
+      }
+
       /** Options for the registration in PL. */
       public Builder setPl(RegistrationCreateParams.CountryOptions.Pl pl) {
         this.pl = pl;
@@ -1185,12 +1458,30 @@ public Builder setSk(RegistrationCreateParams.CountryOptions.Sk sk) {
         return this;
       }
 
+      /** Options for the registration in SN. */
+      public Builder setSn(RegistrationCreateParams.CountryOptions.Sn sn) {
+        this.sn = sn;
+        return this;
+      }
+
+      /** Options for the registration in SR. */
+      public Builder setSr(RegistrationCreateParams.CountryOptions.Sr sr) {
+        this.sr = sr;
+        return this;
+      }
+
       /** Options for the registration in TH. */
       public Builder setTh(RegistrationCreateParams.CountryOptions.Th th) {
         this.th = th;
         return this;
       }
 
+      /** Options for the registration in TJ. */
+      public Builder setTj(RegistrationCreateParams.CountryOptions.Tj tj) {
+        this.tj = tj;
+        return this;
+      }
+
       /** Options for the registration in TR. */
       public Builder setTr(RegistrationCreateParams.CountryOptions.Tr tr) {
         this.tr = tr;
@@ -1203,12 +1494,24 @@ public Builder setTz(RegistrationCreateParams.CountryOptions.Tz tz) {
         return this;
       }
 
+      /** Options for the registration in UG. */
+      public Builder setUg(RegistrationCreateParams.CountryOptions.Ug ug) {
+        this.ug = ug;
+        return this;
+      }
+
       /** Options for the registration in US. */
       public Builder setUs(RegistrationCreateParams.CountryOptions.Us us) {
         this.us = us;
         return this;
       }
 
+      /** Options for the registration in UY. */
+      public Builder setUy(RegistrationCreateParams.CountryOptions.Uy uy) {
+        this.uy = uy;
+        return this;
+      }
+
       /** Options for the registration in UZ. */
       public Builder setUz(RegistrationCreateParams.CountryOptions.Uz uz) {
         this.uz = uz;
@@ -1226,6 +1529,18 @@ public Builder setZa(RegistrationCreateParams.CountryOptions.Za za) {
         this.za = za;
         return this;
       }
+
+      /** Options for the registration in ZM. */
+      public Builder setZm(RegistrationCreateParams.CountryOptions.Zm zm) {
+        this.zm = zm;
+        return this;
+      }
+
+      /** Options for the registration in ZW. */
+      public Builder setZw(RegistrationCreateParams.CountryOptions.Zw zw) {
+        this.zw = zw;
+        return this;
+      }
     }
 
     @Getter
@@ -1311,7 +1626,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class At {
+    public static class Al {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -1321,17 +1636,12 @@ public static class At {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private At(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Al(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -1342,20 +1652,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.At build() {
-          return new RegistrationCreateParams.CountryOptions.At(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Al build() {
+          return new RegistrationCreateParams.CountryOptions.Al(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.At#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Al#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -1369,7 +1676,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.At#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Al#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -1380,122 +1687,14 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.At.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.At.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Al.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.At.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.At.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.At.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.At.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.At.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
-
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
-        }
-      }
-
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
         @SerializedName("standard")
         STANDARD("standard");
 
@@ -1509,7 +1708,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Au {
+    public static class Am {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -1523,7 +1722,7 @@ public static class Au {
       @SerializedName("type")
       Type type;
 
-      private Au(Map<String, Object> extraParams, Type type) {
+      private Am(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -1538,14 +1737,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Au build() {
-          return new RegistrationCreateParams.CountryOptions.Au(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Am build() {
+          return new RegistrationCreateParams.CountryOptions.Am(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Au#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Am#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -1559,7 +1758,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Au#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Am#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -1571,15 +1770,15 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Au.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Am.Type type) {
           this.type = type;
           return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -1591,7 +1790,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Be {
+    public static class Ao {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -1601,17 +1800,12 @@ public static class Be {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Be(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Ao(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -1622,20 +1816,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Be build() {
-          return new RegistrationCreateParams.CountryOptions.Be(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Ao build() {
+          return new RegistrationCreateParams.CountryOptions.Ao(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Be#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ao#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -1649,7 +1840,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Be#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ao#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -1660,122 +1851,14 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Be.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Be.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ao.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Be.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Be.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Be.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Be.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Be.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
-
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
-        }
-      }
-
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
         @SerializedName("standard")
         STANDARD("standard");
 
@@ -1789,7 +1872,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Bg {
+    public static class At {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -1807,7 +1890,7 @@ public static class Bg {
       @SerializedName("type")
       Type type;
 
-      private Bg(Map<String, Object> extraParams, Standard standard, Type type) {
+      private At(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -1825,15 +1908,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Bg build() {
-          return new RegistrationCreateParams.CountryOptions.Bg(
+        public RegistrationCreateParams.CountryOptions.At build() {
+          return new RegistrationCreateParams.CountryOptions.At(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Bg#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.At#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -1847,7 +1930,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Bg#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.At#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -1859,13 +1942,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Bg.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.At.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Bg.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.At.Type type) {
           this.type = type;
           return this;
         }
@@ -1904,15 +1987,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Bg.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Bg.Standard(
+          public RegistrationCreateParams.CountryOptions.At.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.At.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Bg.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.At.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -1926,7 +2009,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Bg.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.At.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -1941,7 +2024,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Bg.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.At.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -1987,7 +2070,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Bh {
+    public static class Au {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2001,7 +2084,7 @@ public static class Bh {
       @SerializedName("type")
       Type type;
 
-      private Bh(Map<String, Object> extraParams, Type type) {
+      private Au(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -2016,14 +2099,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Bh build() {
-          return new RegistrationCreateParams.CountryOptions.Bh(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Au build() {
+          return new RegistrationCreateParams.CountryOptions.Au(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Bh#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Au#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2037,7 +2120,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Bh#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Au#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2049,7 +2132,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Bh.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Au.Type type) {
           this.type = type;
           return this;
         }
@@ -2069,7 +2152,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class By {
+    public static class Ba {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2083,7 +2166,7 @@ public static class By {
       @SerializedName("type")
       Type type;
 
-      private By(Map<String, Object> extraParams, Type type) {
+      private Ba(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -2098,14 +2181,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.By build() {
-          return new RegistrationCreateParams.CountryOptions.By(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Ba build() {
+          return new RegistrationCreateParams.CountryOptions.Ba(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.By#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ba#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2119,7 +2202,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.By#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ba#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2131,15 +2214,15 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.By.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ba.Type type) {
           this.type = type;
           return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -2151,7 +2234,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ca {
+    public static class Bb {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2161,17 +2244,12 @@ public static class Ca {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the provincial tax registration. */
-      @SerializedName("province_standard")
-      ProvinceStandard provinceStandard;
-
-      /** <strong>Required.</strong> Type of registration to be created in Canada. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Ca(Map<String, Object> extraParams, ProvinceStandard provinceStandard, Type type) {
+      private Bb(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.provinceStandard = provinceStandard;
         this.type = type;
       }
 
@@ -2182,20 +2260,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private ProvinceStandard provinceStandard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ca build() {
-          return new RegistrationCreateParams.CountryOptions.Ca(
-              this.extraParams, this.provinceStandard, this.type);
+        public RegistrationCreateParams.CountryOptions.Bb build() {
+          return new RegistrationCreateParams.CountryOptions.Bb(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ca#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bb#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2209,7 +2284,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ca#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bb#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2220,66 +2295,1586 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the provincial tax registration. */
-        public Builder setProvinceStandard(
-            RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard provinceStandard) {
-          this.provinceStandard = provinceStandard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in Canada. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ca.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Bb.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class ProvinceStandard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
 
-        /**
-         * <strong>Required.</strong> Two-letter CA province code (<a
-         * href="https://en.wikipedia.org/wiki/ISO_3166-2">ISO 3166-2</a>).
-         */
-        @SerializedName("province")
-        String province;
+        @Getter(onMethod_ = {@Override})
+        private final String value;
 
-        private ProvinceStandard(Map<String, Object> extraParams, String province) {
-          this.extraParams = extraParams;
-          this.province = province;
+        Type(String value) {
+          this.value = value;
         }
+      }
+    }
 
-        public static Builder builder() {
-          return new Builder();
-        }
+    @Getter
+    public static class Be {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
 
-        public static class Builder {
-          private Map<String, Object> extraParams;
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
 
-          private String province;
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      @SerializedName("type")
+      Type type;
 
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard build() {
-            return new RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard(
-                this.extraParams, this.province);
-          }
+      private Be(Map<String, Object> extraParams, Standard standard, Type type) {
+        this.extraParams = extraParams;
+        this.standard = standard;
+        this.type = type;
+      }
 
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Standard standard;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Be build() {
+          return new RegistrationCreateParams.CountryOptions.Be(
+              this.extraParams, this.standard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Be#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Be#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Be.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Be.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Be.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Be.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Be.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Be.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Be.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Bg {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      @SerializedName("type")
+      Type type;
+
+      private Bg(Map<String, Object> extraParams, Standard standard, Type type) {
+        this.extraParams = extraParams;
+        this.standard = standard;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Standard standard;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Bg build() {
+          return new RegistrationCreateParams.CountryOptions.Bg(
+              this.extraParams, this.standard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bg#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bg#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Bg.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Bg.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Bg.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Bg.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Bg.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Bg.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Bg.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Bh {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Bh(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Bh build() {
+          return new RegistrationCreateParams.CountryOptions.Bh(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bh#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bh#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Bh.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Bs {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Bs(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Bs build() {
+          return new RegistrationCreateParams.CountryOptions.Bs(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bs#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Bs#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Bs.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class By {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private By(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.By build() {
+          return new RegistrationCreateParams.CountryOptions.By(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.By#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.By#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.By.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Ca {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** Options for the provincial tax registration. */
+      @SerializedName("province_standard")
+      ProvinceStandard provinceStandard;
+
+      /** <strong>Required.</strong> Type of registration to be created in Canada. */
+      @SerializedName("type")
+      Type type;
+
+      private Ca(Map<String, Object> extraParams, ProvinceStandard provinceStandard, Type type) {
+        this.extraParams = extraParams;
+        this.provinceStandard = provinceStandard;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private ProvinceStandard provinceStandard;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Ca build() {
+          return new RegistrationCreateParams.CountryOptions.Ca(
+              this.extraParams, this.provinceStandard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ca#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ca#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the provincial tax registration. */
+        public Builder setProvinceStandard(
+            RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard provinceStandard) {
+          this.provinceStandard = provinceStandard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in Canada. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ca.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class ProvinceStandard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Two-letter CA province code (<a
+         * href="https://en.wikipedia.org/wiki/ISO_3166-2">ISO 3166-2</a>).
+         */
+        @SerializedName("province")
+        String province;
+
+        private ProvinceStandard(Map<String, Object> extraParams, String province) {
+          this.extraParams = extraParams;
+          this.province = province;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private String province;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard build() {
+            return new RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard(
+                this.extraParams, this.province);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link
+           * RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard#extraParams} for the field
+           * documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link
            * RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard#extraParams} for the field
            * documentation.
            */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Two-letter CA province code (<a
+           * href="https://en.wikipedia.org/wiki/ISO_3166-2">ISO 3166-2</a>).
+           */
+          public Builder setProvince(String province) {
+            this.province = province;
+            return this;
+          }
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("province_standard")
+        PROVINCE_STANDARD("province_standard"),
+
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Cd {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Cd(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Cd build() {
+          return new RegistrationCreateParams.CountryOptions.Cd(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cd#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cd#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Cd.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Ch {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Ch(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Ch build() {
+          return new RegistrationCreateParams.CountryOptions.Ch(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ch#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ch#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ch.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Cl {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Cl(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Cl build() {
+          return new RegistrationCreateParams.CountryOptions.Cl(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cl#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cl#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Cl.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Co {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Co(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Co build() {
+          return new RegistrationCreateParams.CountryOptions.Co(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Co#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Co#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Co.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Cr {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Cr(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Cr build() {
+          return new RegistrationCreateParams.CountryOptions.Cr(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cr#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cr#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Cr.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Cy {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      @SerializedName("type")
+      Type type;
+
+      private Cy(Map<String, Object> extraParams, Standard standard, Type type) {
+        this.extraParams = extraParams;
+        this.standard = standard;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Standard standard;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Cy build() {
+          return new RegistrationCreateParams.CountryOptions.Cy(
+              this.extraParams, this.standard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cy#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cy#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Cy.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Cy.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Cy.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Cy.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Cy.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Cy.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Cy.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Cz {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      @SerializedName("type")
+      Type type;
+
+      private Cz(Map<String, Object> extraParams, Standard standard, Type type) {
+        this.extraParams = extraParams;
+        this.standard = standard;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Standard standard;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Cz build() {
+          return new RegistrationCreateParams.CountryOptions.Cz(
+              this.extraParams, this.standard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cz#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Cz#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Cz.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Cz.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Cz.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Cz.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Cz.Standard#extraParams} for
+           * the field documentation.
+           */
           public Builder putExtraParam(String key, Object value) {
             if (this.extraParams == null) {
               this.extraParams = new HashMap<>();
@@ -2291,9 +3886,8 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link
-           * RegistrationCreateParams.CountryOptions.Ca.ProvinceStandard#extraParams} for the field
-           * documentation.
+           * map. See {@link RegistrationCreateParams.CountryOptions.Cz.Standard#extraParams} for
+           * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
             if (this.extraParams == null) {
@@ -2304,22 +3898,239 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           }
 
           /**
-           * <strong>Required.</strong> Two-letter CA province code (<a
-           * href="https://en.wikipedia.org/wiki/ISO_3166-2">ISO 3166-2</a>).
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
-          public Builder setProvince(String province) {
-            this.province = province;
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Cz.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class De {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      @SerializedName("type")
+      Type type;
+
+      private De(Map<String, Object> extraParams, Standard standard, Type type) {
+        this.extraParams = extraParams;
+        this.standard = standard;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Standard standard;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.De build() {
+          return new RegistrationCreateParams.CountryOptions.De(
+              this.extraParams, this.standard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.De#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.De#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.De.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.De.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.De.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.De.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.De.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.De.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.De.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
           }
         }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
       }
 
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("province_standard")
-        PROVINCE_STANDARD("province_standard"),
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
 
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified"),
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
 
         @SerializedName("standard")
         STANDARD("standard");
@@ -2334,7 +4145,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ch {
+    public static class Dk {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2344,12 +4155,17 @@ public static class Ch {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
       @SerializedName("type")
       Type type;
 
-      private Ch(Map<String, Object> extraParams, Type type) {
+      private Dk(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
+        this.standard = standard;
         this.type = type;
       }
 
@@ -2360,17 +4176,20 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
+        private Standard standard;
+
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ch build() {
-          return new RegistrationCreateParams.CountryOptions.Ch(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Dk build() {
+          return new RegistrationCreateParams.CountryOptions.Dk(
+              this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ch#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Dk#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2384,7 +4203,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ch#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Dk#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2395,14 +4214,122 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ch.Type type) {
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Dk.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Dk.Type type) {
           this.type = type;
           return this;
         }
       }
 
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Dk.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Dk.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Dk.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Dk.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Dk.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
       public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
         @SerializedName("standard")
         STANDARD("standard");
 
@@ -2416,7 +4343,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Cl {
+    public static class Ec {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2430,7 +4357,7 @@ public static class Cl {
       @SerializedName("type")
       Type type;
 
-      private Cl(Map<String, Object> extraParams, Type type) {
+      private Ec(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -2445,14 +4372,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Cl build() {
-          return new RegistrationCreateParams.CountryOptions.Cl(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Ec build() {
+          return new RegistrationCreateParams.CountryOptions.Ec(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cl#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ec#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2466,7 +4393,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cl#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ec#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2478,7 +4405,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Cl.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ec.Type type) {
           this.type = type;
           return this;
         }
@@ -2498,7 +4425,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Co {
+    public static class Ee {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2508,12 +4435,17 @@ public static class Co {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
       @SerializedName("type")
       Type type;
 
-      private Co(Map<String, Object> extraParams, Type type) {
+      private Ee(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
+        this.standard = standard;
         this.type = type;
       }
 
@@ -2524,51 +4456,162 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
+        private Standard standard;
+
         private Type type;
 
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Co build() {
-          return new RegistrationCreateParams.CountryOptions.Co(this.extraParams, this.type);
-        }
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Ee build() {
+          return new RegistrationCreateParams.CountryOptions.Ee(
+              this.extraParams, this.standard, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Ee.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ee.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Ee.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Ee.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Ee.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
 
-        /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Co#extraParams} for the field
-         * documentation.
-         */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Ee.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
           }
-          this.extraParams.put(key, value);
-          return this;
-        }
 
-        /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Co#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Ee.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
           }
-          this.extraParams.putAll(map);
-          return this;
         }
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Co.Type type) {
-          this.type = type;
-          return this;
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -2580,7 +4623,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Cr {
+    public static class Eg {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2594,7 +4637,7 @@ public static class Cr {
       @SerializedName("type")
       Type type;
 
-      private Cr(Map<String, Object> extraParams, Type type) {
+      private Eg(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -2609,14 +4652,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Cr build() {
-          return new RegistrationCreateParams.CountryOptions.Cr(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Eg build() {
+          return new RegistrationCreateParams.CountryOptions.Eg(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Eg#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2630,7 +4673,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Eg#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2642,7 +4685,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Cr.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Eg.Type type) {
           this.type = type;
           return this;
         }
@@ -2662,7 +4705,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Cy {
+    public static class Es {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2680,7 +4723,7 @@ public static class Cy {
       @SerializedName("type")
       Type type;
 
-      private Cy(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Es(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -2698,15 +4741,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Cy build() {
-          return new RegistrationCreateParams.CountryOptions.Cy(
+        public RegistrationCreateParams.CountryOptions.Es build() {
+          return new RegistrationCreateParams.CountryOptions.Es(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cy#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Es#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2720,7 +4763,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cy#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Es#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2732,13 +4775,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Cy.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Es.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Cy.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Es.Type type) {
           this.type = type;
           return this;
         }
@@ -2777,15 +4820,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Cy.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Cy.Standard(
+          public RegistrationCreateParams.CountryOptions.Es.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Es.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Cy.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Es.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -2799,7 +4842,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Cy.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Es.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2814,7 +4857,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Cy.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Es.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -2860,7 +4903,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Cz {
+    public static class Fi {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -2878,7 +4921,7 @@ public static class Cz {
       @SerializedName("type")
       Type type;
 
-      private Cz(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Fi(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -2896,15 +4939,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Cz build() {
-          return new RegistrationCreateParams.CountryOptions.Cz(
+        public RegistrationCreateParams.CountryOptions.Fi build() {
+          return new RegistrationCreateParams.CountryOptions.Fi(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cz#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Fi#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -2918,7 +4961,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Cz#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Fi#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -2930,13 +4973,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Cz.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Fi.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Cz.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Fi.Type type) {
           this.type = type;
           return this;
         }
@@ -2975,15 +5018,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Cz.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Cz.Standard(
+          public RegistrationCreateParams.CountryOptions.Fi.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Fi.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Cz.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Fi.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -2997,7 +5040,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Cz.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Fi.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3012,7 +5055,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Cz.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Fi.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -3058,7 +5101,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class De {
+    public static class Fr {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -3076,7 +5119,7 @@ public static class De {
       @SerializedName("type")
       Type type;
 
-      private De(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Fr(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -3094,15 +5137,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.De build() {
-          return new RegistrationCreateParams.CountryOptions.De(
+        public RegistrationCreateParams.CountryOptions.Fr build() {
+          return new RegistrationCreateParams.CountryOptions.Fr(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.De#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Fr#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -3116,7 +5159,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.De#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Fr#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3128,13 +5171,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.De.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Fr.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.De.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Fr.Type type) {
           this.type = type;
           return this;
         }
@@ -3173,15 +5216,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.De.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.De.Standard(
+          public RegistrationCreateParams.CountryOptions.Fr.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Fr.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.De.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Fr.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -3195,7 +5238,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.De.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Fr.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3210,7 +5253,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.De.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Fr.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -3256,7 +5299,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Dk {
+    public static class Gb {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -3266,17 +5309,12 @@ public static class Dk {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Dk(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Gb(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -3287,20 +5325,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Dk build() {
-          return new RegistrationCreateParams.CountryOptions.Dk(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Gb build() {
+          return new RegistrationCreateParams.CountryOptions.Gb(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Dk#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Gb#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -3314,7 +5349,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Dk#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Gb#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3325,124 +5360,98 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Dk.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Dk.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Gb.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
 
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
+        @Getter(onMethod_ = {@Override})
+        private final String value;
 
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        Type(String value) {
+          this.value = value;
         }
+      }
+    }
+
+    @Getter
+    public static class Ge {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
 
-        public static Builder builder() {
-          return new Builder();
-        }
+      private Ge(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
 
-        public static class Builder {
-          private Map<String, Object> extraParams;
+      public static Builder builder() {
+        return new Builder();
+      }
 
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
+      public static class Builder {
+        private Map<String, Object> extraParams;
 
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Dk.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Dk.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
+        private Type type;
 
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Dk.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Ge build() {
+          return new RegistrationCreateParams.CountryOptions.Ge(this.extraParams, this.type);
+        }
 
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Dk.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ge#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
           }
+          this.extraParams.put(key, value);
+          return this;
+        }
 
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Dk.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ge#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
           }
+          this.extraParams.putAll(map);
+          return this;
         }
 
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ge.Type type) {
+          this.type = type;
+          return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -3454,7 +5463,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ec {
+    public static class Gn {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -3468,7 +5477,7 @@ public static class Ec {
       @SerializedName("type")
       Type type;
 
-      private Ec(Map<String, Object> extraParams, Type type) {
+      private Gn(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -3483,14 +5492,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ec build() {
-          return new RegistrationCreateParams.CountryOptions.Ec(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Gn build() {
+          return new RegistrationCreateParams.CountryOptions.Gn(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ec#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Gn#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -3504,7 +5513,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ec#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Gn#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3516,15 +5525,15 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ec.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Gn.Type type) {
           this.type = type;
           return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -3536,7 +5545,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ee {
+    public static class Gr {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -3554,7 +5563,7 @@ public static class Ee {
       @SerializedName("type")
       Type type;
 
-      private Ee(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Gr(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -3572,15 +5581,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ee build() {
-          return new RegistrationCreateParams.CountryOptions.Ee(
+        public RegistrationCreateParams.CountryOptions.Gr build() {
+          return new RegistrationCreateParams.CountryOptions.Gr(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Gr#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -3594,7 +5603,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ee#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Gr#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3606,13 +5615,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Ee.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Gr.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ee.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Gr.Type type) {
           this.type = type;
           return this;
         }
@@ -3651,15 +5660,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Ee.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Ee.Standard(
+          public RegistrationCreateParams.CountryOptions.Gr.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Gr.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Ee.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Gr.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -3673,7 +5682,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Ee.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Gr.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3688,7 +5697,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Ee.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Gr.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -3734,89 +5743,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Eg {
-      /**
-       * Map of extra parameters for custom features not available in this client library. The
-       * content in this map is not serialized under this field's {@code @SerializedName} value.
-       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
-       * name in this param object. Effectively, this map is flattened to its parent instance.
-       */
-      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-      Map<String, Object> extraParams;
-
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-      @SerializedName("type")
-      Type type;
-
-      private Eg(Map<String, Object> extraParams, Type type) {
-        this.extraParams = extraParams;
-        this.type = type;
-      }
-
-      public static Builder builder() {
-        return new Builder();
-      }
-
-      public static class Builder {
-        private Map<String, Object> extraParams;
-
-        private Type type;
-
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Eg build() {
-          return new RegistrationCreateParams.CountryOptions.Eg(this.extraParams, this.type);
-        }
-
-        /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Eg#extraParams} for the field
-         * documentation.
-         */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.put(key, value);
-          return this;
-        }
-
-        /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Eg#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.putAll(map);
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Eg.Type type) {
-          this.type = type;
-          return this;
-        }
-      }
-
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
-
-        @Getter(onMethod_ = {@Override})
-        private final String value;
-
-        Type(String value) {
-          this.value = value;
-        }
-      }
-    }
-
-    @Getter
-    public static class Es {
+    public static class Hr {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -3834,7 +5761,7 @@ public static class Es {
       @SerializedName("type")
       Type type;
 
-      private Es(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Hr(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -3852,15 +5779,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Es build() {
-          return new RegistrationCreateParams.CountryOptions.Es(
+        public RegistrationCreateParams.CountryOptions.Hr build() {
+          return new RegistrationCreateParams.CountryOptions.Hr(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Es#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Hr#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -3874,7 +5801,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Es#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Hr#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3886,13 +5813,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Es.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Hr.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Es.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Hr.Type type) {
           this.type = type;
           return this;
         }
@@ -3931,15 +5858,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Es.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Es.Standard(
+          public RegistrationCreateParams.CountryOptions.Hr.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Hr.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Es.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Hr.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -3953,7 +5880,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Es.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Hr.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -3968,7 +5895,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Es.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Hr.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -4014,7 +5941,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Fi {
+    public static class Hu {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -4032,7 +5959,7 @@ public static class Fi {
       @SerializedName("type")
       Type type;
 
-      private Fi(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Hu(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -4050,15 +5977,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Fi build() {
-          return new RegistrationCreateParams.CountryOptions.Fi(
+        public RegistrationCreateParams.CountryOptions.Hu build() {
+          return new RegistrationCreateParams.CountryOptions.Hu(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Fi#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Hu#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -4072,7 +5999,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Fi#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Hu#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4084,13 +6011,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Fi.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Hu.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Fi.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Hu.Type type) {
           this.type = type;
           return this;
         }
@@ -4129,15 +6056,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Fi.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Fi.Standard(
+          public RegistrationCreateParams.CountryOptions.Hu.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Hu.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Fi.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Hu.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -4151,7 +6078,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Fi.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Hu.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4166,7 +6093,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Fi.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Hu.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -4212,7 +6139,89 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Fr {
+    public static class Id {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Id(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Id build() {
+          return new RegistrationCreateParams.CountryOptions.Id(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Id#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Id#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Id.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Ie {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -4230,7 +6239,7 @@ public static class Fr {
       @SerializedName("type")
       Type type;
 
-      private Fr(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Ie(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -4248,15 +6257,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Fr build() {
-          return new RegistrationCreateParams.CountryOptions.Fr(
+        public RegistrationCreateParams.CountryOptions.Ie build() {
+          return new RegistrationCreateParams.CountryOptions.Ie(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Fr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ie#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -4270,7 +6279,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Fr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ie#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4282,13 +6291,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Fr.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Ie.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Fr.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ie.Type type) {
           this.type = type;
           return this;
         }
@@ -4327,15 +6336,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Fr.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Fr.Standard(
+          public RegistrationCreateParams.CountryOptions.Ie.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Ie.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Fr.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Ie.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -4349,7 +6358,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Fr.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Ie.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4364,7 +6373,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Fr.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Ie.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -4410,7 +6419,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Gb {
+    public static class Is {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -4424,7 +6433,7 @@ public static class Gb {
       @SerializedName("type")
       Type type;
 
-      private Gb(Map<String, Object> extraParams, Type type) {
+      private Is(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -4439,14 +6448,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Gb build() {
-          return new RegistrationCreateParams.CountryOptions.Gb(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Is build() {
+          return new RegistrationCreateParams.CountryOptions.Is(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Gb#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Is#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -4460,7 +6469,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Gb#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Is#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4472,7 +6481,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Gb.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Is.Type type) {
           this.type = type;
           return this;
         }
@@ -4492,89 +6501,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ge {
-      /**
-       * Map of extra parameters for custom features not available in this client library. The
-       * content in this map is not serialized under this field's {@code @SerializedName} value.
-       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
-       * name in this param object. Effectively, this map is flattened to its parent instance.
-       */
-      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-      Map<String, Object> extraParams;
-
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-      @SerializedName("type")
-      Type type;
-
-      private Ge(Map<String, Object> extraParams, Type type) {
-        this.extraParams = extraParams;
-        this.type = type;
-      }
-
-      public static Builder builder() {
-        return new Builder();
-      }
-
-      public static class Builder {
-        private Map<String, Object> extraParams;
-
-        private Type type;
-
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ge build() {
-          return new RegistrationCreateParams.CountryOptions.Ge(this.extraParams, this.type);
-        }
-
-        /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ge#extraParams} for the field
-         * documentation.
-         */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.put(key, value);
-          return this;
-        }
-
-        /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ge#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.putAll(map);
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ge.Type type) {
-          this.type = type;
-          return this;
-        }
-      }
-
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
-
-        @Getter(onMethod_ = {@Override})
-        private final String value;
-
-        Type(String value) {
-          this.value = value;
-        }
-      }
-    }
-
-    @Getter
-    public static class Gr {
+    public static class It {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -4592,7 +6519,7 @@ public static class Gr {
       @SerializedName("type")
       Type type;
 
-      private Gr(Map<String, Object> extraParams, Standard standard, Type type) {
+      private It(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -4610,15 +6537,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Gr build() {
-          return new RegistrationCreateParams.CountryOptions.Gr(
+        public RegistrationCreateParams.CountryOptions.It build() {
+          return new RegistrationCreateParams.CountryOptions.It(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Gr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.It#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -4632,7 +6559,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Gr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.It#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4644,13 +6571,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Gr.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.It.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Gr.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.It.Type type) {
           this.type = type;
           return this;
         }
@@ -4689,15 +6616,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Gr.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Gr.Standard(
+          public RegistrationCreateParams.CountryOptions.It.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.It.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Gr.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.It.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -4711,7 +6638,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Gr.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.It.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4726,7 +6653,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Gr.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.It.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -4772,7 +6699,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Hr {
+    public static class Jp {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -4782,17 +6709,12 @@ public static class Hr {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Hr(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Jp(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -4803,20 +6725,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Hr build() {
-          return new RegistrationCreateParams.CountryOptions.Hr(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Jp build() {
+          return new RegistrationCreateParams.CountryOptions.Jp(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Hr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Jp#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -4830,7 +6749,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Hr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Jp#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -4841,124 +6760,180 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Hr.Standard standard) {
-          this.standard = standard;
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Jp.Type type) {
+          this.type = type;
           return this;
         }
+      }
 
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Hr.Type type) {
-          this.type = type;
-          return this;
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
         }
       }
+    }
+
+    @Getter
+    public static class Ke {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Ke(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Ke build() {
+          return new RegistrationCreateParams.CountryOptions.Ke(this.extraParams, this.type);
+        }
 
-      @Getter
-      public static class Standard {
         /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ke#extraParams} for the field
+         * documentation.
          */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
 
         /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ke#extraParams} for the field
+         * documentation.
          */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
         }
 
-        public static Builder builder() {
-          return new Builder();
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ke.Type type) {
+          this.type = type;
+          return this;
         }
+      }
 
-        public static class Builder {
-          private Map<String, Object> extraParams;
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
+        @Getter(onMethod_ = {@Override})
+        private final String value;
 
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Hr.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Hr.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
 
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Hr.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
+    @Getter
+    public static class Kh {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
 
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Hr.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
 
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Hr.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
+      private Kh(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
 
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
+      public static Builder builder() {
+        return new Builder();
+      }
 
-          @SerializedName("standard")
-          STANDARD("standard");
+      public static class Builder {
+        private Map<String, Object> extraParams;
 
-          @Getter(onMethod_ = {@Override})
-          private final String value;
+        private Type type;
 
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Kh build() {
+          return new RegistrationCreateParams.CountryOptions.Kh(this.extraParams, this.type);
         }
-      }
 
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Kh#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
 
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Kh#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
 
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Kh.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
 
-        @SerializedName("standard")
-        STANDARD("standard");
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -4970,7 +6945,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Hu {
+    public static class Kr {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -4980,17 +6955,12 @@ public static class Hu {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Hu(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Kr(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -5001,20 +6971,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Hu build() {
-          return new RegistrationCreateParams.CountryOptions.Hu(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Kr build() {
+          return new RegistrationCreateParams.CountryOptions.Kr(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Hu#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Kr#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5028,7 +6995,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Hu#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Kr#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5039,124 +7006,16 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Hu.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Hu.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Kr.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Hu.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Hu.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Hu.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Hu.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Hu.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
-
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
-        }
-      }
-
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -5168,7 +7027,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Id {
+    public static class Kz {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5182,7 +7041,7 @@ public static class Id {
       @SerializedName("type")
       Type type;
 
-      private Id(Map<String, Object> extraParams, Type type) {
+      private Kz(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -5197,14 +7056,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Id build() {
-          return new RegistrationCreateParams.CountryOptions.Id(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Kz build() {
+          return new RegistrationCreateParams.CountryOptions.Kz(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Id#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Kz#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5218,7 +7077,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Id#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Kz#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5230,7 +7089,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Id.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Kz.Type type) {
           this.type = type;
           return this;
         }
@@ -5250,7 +7109,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ie {
+    public static class Lt {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5268,7 +7127,7 @@ public static class Ie {
       @SerializedName("type")
       Type type;
 
-      private Ie(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Lt(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -5286,15 +7145,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ie build() {
-          return new RegistrationCreateParams.CountryOptions.Ie(
+        public RegistrationCreateParams.CountryOptions.Lt build() {
+          return new RegistrationCreateParams.CountryOptions.Lt(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ie#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Lt#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5308,7 +7167,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ie#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Lt#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5320,13 +7179,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Ie.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Lt.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ie.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Lt.Type type) {
           this.type = type;
           return this;
         }
@@ -5365,15 +7224,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Ie.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Ie.Standard(
+          public RegistrationCreateParams.CountryOptions.Lt.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Lt.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Ie.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Lt.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -5387,7 +7246,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Ie.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Lt.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5402,7 +7261,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Ie.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Lt.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -5448,89 +7307,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Is {
-      /**
-       * Map of extra parameters for custom features not available in this client library. The
-       * content in this map is not serialized under this field's {@code @SerializedName} value.
-       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
-       * name in this param object. Effectively, this map is flattened to its parent instance.
-       */
-      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-      Map<String, Object> extraParams;
-
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-      @SerializedName("type")
-      Type type;
-
-      private Is(Map<String, Object> extraParams, Type type) {
-        this.extraParams = extraParams;
-        this.type = type;
-      }
-
-      public static Builder builder() {
-        return new Builder();
-      }
-
-      public static class Builder {
-        private Map<String, Object> extraParams;
-
-        private Type type;
-
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Is build() {
-          return new RegistrationCreateParams.CountryOptions.Is(this.extraParams, this.type);
-        }
-
-        /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Is#extraParams} for the field
-         * documentation.
-         */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.put(key, value);
-          return this;
-        }
-
-        /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Is#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.putAll(map);
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Is.Type type) {
-          this.type = type;
-          return this;
-        }
-      }
-
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("standard")
-        STANDARD("standard");
-
-        @Getter(onMethod_ = {@Override})
-        private final String value;
-
-        Type(String value) {
-          this.value = value;
-        }
-      }
-    }
-
-    @Getter
-    public static class It {
+    public static class Lu {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5548,7 +7325,7 @@ public static class It {
       @SerializedName("type")
       Type type;
 
-      private It(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Lu(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -5566,15 +7343,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.It build() {
-          return new RegistrationCreateParams.CountryOptions.It(
+        public RegistrationCreateParams.CountryOptions.Lu build() {
+          return new RegistrationCreateParams.CountryOptions.Lu(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.It#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Lu#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5588,7 +7365,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.It#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Lu#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5600,13 +7377,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.It.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Lu.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.It.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Lu.Type type) {
           this.type = type;
           return this;
         }
@@ -5645,15 +7422,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.It.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.It.Standard(
+          public RegistrationCreateParams.CountryOptions.Lu.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Lu.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.It.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Lu.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -5667,7 +7444,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.It.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Lu.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5682,7 +7459,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.It.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Lu.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -5728,7 +7505,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Jp {
+    public static class Lv {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5738,12 +7515,17 @@ public static class Jp {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
       @SerializedName("type")
       Type type;
 
-      private Jp(Map<String, Object> extraParams, Type type) {
+      private Lv(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
+        this.standard = standard;
         this.type = type;
       }
 
@@ -5754,17 +7536,20 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
+        private Standard standard;
+
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Jp build() {
-          return new RegistrationCreateParams.CountryOptions.Jp(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Lv build() {
+          return new RegistrationCreateParams.CountryOptions.Lv(
+              this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Jp#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Lv#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5778,7 +7563,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Jp#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Lv#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5789,14 +7574,122 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Jp.Type type) {
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Lv.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Lv.Type type) {
           this.type = type;
           return this;
         }
       }
 
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Lv.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Lv.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Lv.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Lv.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Lv.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
       public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
         @SerializedName("standard")
         STANDARD("standard");
 
@@ -5810,7 +7703,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ke {
+    public static class Ma {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5824,7 +7717,7 @@ public static class Ke {
       @SerializedName("type")
       Type type;
 
-      private Ke(Map<String, Object> extraParams, Type type) {
+      private Ma(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -5839,14 +7732,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ke build() {
-          return new RegistrationCreateParams.CountryOptions.Ke(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Ma build() {
+          return new RegistrationCreateParams.CountryOptions.Ma(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ke#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ma#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5860,7 +7753,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ke#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ma#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5872,7 +7765,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ke.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ma.Type type) {
           this.type = type;
           return this;
         }
@@ -5892,7 +7785,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Kr {
+    public static class Md {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5906,7 +7799,7 @@ public static class Kr {
       @SerializedName("type")
       Type type;
 
-      private Kr(Map<String, Object> extraParams, Type type) {
+      private Md(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -5921,14 +7814,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Kr build() {
-          return new RegistrationCreateParams.CountryOptions.Kr(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Md build() {
+          return new RegistrationCreateParams.CountryOptions.Md(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Kr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Md#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -5942,7 +7835,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Kr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Md#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -5954,7 +7847,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Kr.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Md.Type type) {
           this.type = type;
           return this;
         }
@@ -5974,7 +7867,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Kz {
+    public static class Me {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -5988,7 +7881,7 @@ public static class Kz {
       @SerializedName("type")
       Type type;
 
-      private Kz(Map<String, Object> extraParams, Type type) {
+      private Me(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -6003,14 +7896,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Kz build() {
-          return new RegistrationCreateParams.CountryOptions.Kz(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Me build() {
+          return new RegistrationCreateParams.CountryOptions.Me(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Kz#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Me#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6024,7 +7917,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Kz#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Me#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6036,15 +7929,15 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Kz.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Me.Type type) {
           this.type = type;
           return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -6056,7 +7949,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Lt {
+    public static class Mk {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -6066,17 +7959,12 @@ public static class Lt {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Lt(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Mk(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -6087,20 +7975,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Lt build() {
-          return new RegistrationCreateParams.CountryOptions.Lt(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Mk build() {
+          return new RegistrationCreateParams.CountryOptions.Mk(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Lt#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mk#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6114,7 +7999,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Lt#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mk#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6125,122 +8010,96 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Lt.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Lt.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Mk.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
 
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Mr {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
 
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
 
-        public static Builder builder() {
-          return new Builder();
-        }
+      private Mr(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
 
-        public static class Builder {
-          private Map<String, Object> extraParams;
+      public static Builder builder() {
+        return new Builder();
+      }
 
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
+      public static class Builder {
+        private Map<String, Object> extraParams;
 
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Lt.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Lt.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
+        private Type type;
 
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Lt.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Mr build() {
+          return new RegistrationCreateParams.CountryOptions.Mr(this.extraParams, this.type);
+        }
 
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Lt.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mr#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
           }
+          this.extraParams.put(key, value);
+          return this;
+        }
 
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Lt.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mr#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
           }
+          this.extraParams.putAll(map);
+          return this;
         }
 
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Mr.Type type) {
+          this.type = type;
+          return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
         @SerializedName("standard")
         STANDARD("standard");
 
@@ -6254,7 +8113,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Lu {
+    public static class Mt {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -6272,7 +8131,7 @@ public static class Lu {
       @SerializedName("type")
       Type type;
 
-      private Lu(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Mt(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -6290,15 +8149,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Lu build() {
-          return new RegistrationCreateParams.CountryOptions.Lu(
+        public RegistrationCreateParams.CountryOptions.Mt build() {
+          return new RegistrationCreateParams.CountryOptions.Mt(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Lu#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6312,7 +8171,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Lu#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6324,13 +8183,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Lu.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Mt.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Lu.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Mt.Type type) {
           this.type = type;
           return this;
         }
@@ -6369,15 +8228,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Lu.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Lu.Standard(
+          public RegistrationCreateParams.CountryOptions.Mt.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Mt.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Lu.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Mt.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -6391,7 +8250,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Lu.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Mt.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6406,7 +8265,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Lu.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Mt.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -6452,7 +8311,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Lv {
+    public static class Mx {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -6462,17 +8321,12 @@ public static class Lv {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Lv(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Mx(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -6483,20 +8337,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Lv build() {
-          return new RegistrationCreateParams.CountryOptions.Lv(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Mx build() {
+          return new RegistrationCreateParams.CountryOptions.Mx(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Lv#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mx#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6509,136 +8360,28 @@ public Builder putExtraParam(String key, Object value) {
 
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Lv#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.putAll(map);
-          return this;
-        }
-
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Lv.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Lv.Type type) {
-          this.type = type;
-          return this;
-        }
-      }
-
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Lv.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Lv.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Lv.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Lv.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Lv.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Mx#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
           }
+          this.extraParams.putAll(map);
+          return this;
         }
 
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Mx.Type type) {
+          this.type = type;
+          return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -6650,7 +8393,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ma {
+    public static class My {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -6664,7 +8407,7 @@ public static class Ma {
       @SerializedName("type")
       Type type;
 
-      private Ma(Map<String, Object> extraParams, Type type) {
+      private My(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -6679,14 +8422,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ma build() {
-          return new RegistrationCreateParams.CountryOptions.Ma(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.My build() {
+          return new RegistrationCreateParams.CountryOptions.My(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ma#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.My#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6700,7 +8443,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ma#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.My#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6712,7 +8455,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ma.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.My.Type type) {
           this.type = type;
           return this;
         }
@@ -6732,7 +8475,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Md {
+    public static class Ng {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -6746,7 +8489,7 @@ public static class Md {
       @SerializedName("type")
       Type type;
 
-      private Md(Map<String, Object> extraParams, Type type) {
+      private Ng(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -6761,14 +8504,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Md build() {
-          return new RegistrationCreateParams.CountryOptions.Md(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Ng build() {
+          return new RegistrationCreateParams.CountryOptions.Ng(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Md#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ng#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6782,7 +8525,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Md#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ng#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6794,7 +8537,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Md.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ng.Type type) {
           this.type = type;
           return this;
         }
@@ -6814,7 +8557,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Mt {
+    public static class Nl {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -6832,7 +8575,7 @@ public static class Mt {
       @SerializedName("type")
       Type type;
 
-      private Mt(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Nl(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -6850,15 +8593,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Mt build() {
-          return new RegistrationCreateParams.CountryOptions.Mt(
+        public RegistrationCreateParams.CountryOptions.Nl build() {
+          return new RegistrationCreateParams.CountryOptions.Nl(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Nl#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -6872,7 +8615,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Mt#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Nl#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6884,13 +8627,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Mt.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Nl.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Mt.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Nl.Type type) {
           this.type = type;
           return this;
         }
@@ -6929,15 +8672,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Mt.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Mt.Standard(
+          public RegistrationCreateParams.CountryOptions.Nl.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Nl.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Mt.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Nl.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -6951,7 +8694,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Mt.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Nl.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -6966,7 +8709,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Mt.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Nl.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -7012,7 +8755,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Mx {
+    public static class No {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7026,7 +8769,7 @@ public static class Mx {
       @SerializedName("type")
       Type type;
 
-      private Mx(Map<String, Object> extraParams, Type type) {
+      private No(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -7041,14 +8784,178 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Mx build() {
-          return new RegistrationCreateParams.CountryOptions.Mx(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.No build() {
+          return new RegistrationCreateParams.CountryOptions.No(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.No#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.No#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.No.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Np {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Np(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Np build() {
+          return new RegistrationCreateParams.CountryOptions.Np(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Np#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Np#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Np.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Nz {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Nz(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Nz build() {
+          return new RegistrationCreateParams.CountryOptions.Nz(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Mx#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Nz#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7062,7 +8969,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Mx#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Nz#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7074,15 +8981,15 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Mx.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Nz.Type type) {
           this.type = type;
           return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -7094,7 +9001,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class My {
+    public static class Om {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7108,7 +9015,7 @@ public static class My {
       @SerializedName("type")
       Type type;
 
-      private My(Map<String, Object> extraParams, Type type) {
+      private Om(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -7123,14 +9030,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.My build() {
-          return new RegistrationCreateParams.CountryOptions.My(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Om build() {
+          return new RegistrationCreateParams.CountryOptions.Om(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.My#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Om#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7144,7 +9051,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.My#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Om#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7156,15 +9063,15 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.My.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Om.Type type) {
           this.type = type;
           return this;
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -7176,7 +9083,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ng {
+    public static class Pe {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7190,7 +9097,7 @@ public static class Ng {
       @SerializedName("type")
       Type type;
 
-      private Ng(Map<String, Object> extraParams, Type type) {
+      private Pe(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -7205,14 +9112,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ng build() {
-          return new RegistrationCreateParams.CountryOptions.Ng(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Pe build() {
+          return new RegistrationCreateParams.CountryOptions.Pe(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ng#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Pe#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7226,7 +9133,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ng#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Pe#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7238,7 +9145,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ng.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Pe.Type type) {
           this.type = type;
           return this;
         }
@@ -7258,7 +9165,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Nl {
+    public static class Pl {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7276,7 +9183,7 @@ public static class Nl {
       @SerializedName("type")
       Type type;
 
-      private Nl(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Pl(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -7294,15 +9201,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Nl build() {
-          return new RegistrationCreateParams.CountryOptions.Nl(
+        public RegistrationCreateParams.CountryOptions.Pl build() {
+          return new RegistrationCreateParams.CountryOptions.Pl(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Nl#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Pl#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7316,7 +9223,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Nl#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Pl#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7328,13 +9235,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Nl.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Pl.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Nl.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Pl.Type type) {
           this.type = type;
           return this;
         }
@@ -7373,15 +9280,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Nl.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Nl.Standard(
+          public RegistrationCreateParams.CountryOptions.Pl.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Pl.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Nl.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Pl.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -7395,7 +9302,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Nl.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Pl.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7410,7 +9317,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Nl.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Pl.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -7456,7 +9363,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class No {
+    public static class Pt {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7466,12 +9373,17 @@ public static class No {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
+
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
       @SerializedName("type")
       Type type;
 
-      private No(Map<String, Object> extraParams, Type type) {
+      private Pt(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
+        this.standard = standard;
         this.type = type;
       }
 
@@ -7482,17 +9394,20 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
+        private Standard standard;
+
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.No build() {
-          return new RegistrationCreateParams.CountryOptions.No(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Pt build() {
+          return new RegistrationCreateParams.CountryOptions.Pt(
+              this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.No#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Pt#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7506,7 +9421,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.No#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Pt#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7517,178 +9432,122 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.No.Type type) {
-          this.type = type;
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Pt.Standard standard) {
+          this.standard = standard;
           return this;
         }
-      }
-
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("standard")
-        STANDARD("standard");
 
-        @Getter(onMethod_ = {@Override})
-        private final String value;
-
-        Type(String value) {
-          this.value = value;
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Pt.Type type) {
+          this.type = type;
+          return this;
         }
       }
-    }
-
-    @Getter
-    public static class Nz {
-      /**
-       * Map of extra parameters for custom features not available in this client library. The
-       * content in this map is not serialized under this field's {@code @SerializedName} value.
-       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
-       * name in this param object. Effectively, this map is flattened to its parent instance.
-       */
-      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-      Map<String, Object> extraParams;
-
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-      @SerializedName("type")
-      Type type;
-
-      private Nz(Map<String, Object> extraParams, Type type) {
-        this.extraParams = extraParams;
-        this.type = type;
-      }
-
-      public static Builder builder() {
-        return new Builder();
-      }
-
-      public static class Builder {
-        private Map<String, Object> extraParams;
-
-        private Type type;
-
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Nz build() {
-          return new RegistrationCreateParams.CountryOptions.Nz(this.extraParams, this.type);
-        }
 
+      @Getter
+      public static class Standard {
         /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Nz#extraParams} for the field
-         * documentation.
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
          */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.put(key, value);
-          return this;
-        }
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
 
         /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Nz#extraParams} for the field
-         * documentation.
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
          */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.putAll(map);
-          return this;
-        }
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Nz.Type type) {
-          this.type = type;
-          return this;
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
         }
-      }
-
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("standard")
-        STANDARD("standard");
-
-        @Getter(onMethod_ = {@Override})
-        private final String value;
 
-        Type(String value) {
-          this.value = value;
+        public static Builder builder() {
+          return new Builder();
         }
-      }
-    }
-
-    @Getter
-    public static class Om {
-      /**
-       * Map of extra parameters for custom features not available in this client library. The
-       * content in this map is not serialized under this field's {@code @SerializedName} value.
-       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
-       * name in this param object. Effectively, this map is flattened to its parent instance.
-       */
-      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-      Map<String, Object> extraParams;
-
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-      @SerializedName("type")
-      Type type;
-
-      private Om(Map<String, Object> extraParams, Type type) {
-        this.extraParams = extraParams;
-        this.type = type;
-      }
 
-      public static Builder builder() {
-        return new Builder();
-      }
+        public static class Builder {
+          private Map<String, Object> extraParams;
 
-      public static class Builder {
-        private Map<String, Object> extraParams;
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
 
-        private Type type;
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Pt.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Pt.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
 
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Om build() {
-          return new RegistrationCreateParams.CountryOptions.Om(this.extraParams, this.type);
-        }
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Pt.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
 
-        /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Om#extraParams} for the field
-         * documentation.
-         */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Pt.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
           }
-          this.extraParams.put(key, value);
-          return this;
-        }
 
-        /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Om#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Pt.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
           }
-          this.extraParams.putAll(map);
-          return this;
         }
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Om.Type type) {
-          this.type = type;
-          return this;
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
         }
       }
 
       public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
         @SerializedName("standard")
         STANDARD("standard");
 
@@ -7702,7 +9561,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Pl {
+    public static class Ro {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7720,7 +9579,7 @@ public static class Pl {
       @SerializedName("type")
       Type type;
 
-      private Pl(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Ro(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -7738,15 +9597,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Pl build() {
-          return new RegistrationCreateParams.CountryOptions.Pl(
+        public RegistrationCreateParams.CountryOptions.Ro build() {
+          return new RegistrationCreateParams.CountryOptions.Ro(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Pl#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ro#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7760,7 +9619,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Pl#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ro#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7772,13 +9631,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Pl.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Ro.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Pl.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ro.Type type) {
           this.type = type;
           return this;
         }
@@ -7817,15 +9676,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Pl.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Pl.Standard(
+          public RegistrationCreateParams.CountryOptions.Ro.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Ro.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Pl.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Ro.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -7839,7 +9698,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Pl.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Ro.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7854,7 +9713,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Pl.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Ro.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -7900,7 +9759,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Pt {
+    public static class Rs {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -7910,17 +9769,176 @@ public static class Pt {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
 
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      private Rs(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Rs build() {
+          return new RegistrationCreateParams.CountryOptions.Rs(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Rs#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Rs#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Rs.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Ru {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Pt(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Ru(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Ru build() {
+          return new RegistrationCreateParams.CountryOptions.Ru(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ru#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ru#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ru.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Sa {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Sa(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -7931,20 +9949,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Pt build() {
-          return new RegistrationCreateParams.CountryOptions.Pt(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Sa build() {
+          return new RegistrationCreateParams.CountryOptions.Sa(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Pt#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sa#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -7958,7 +9973,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Pt#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sa#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -7969,124 +9984,16 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Pt.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Pt.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Sa.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Pt.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Pt.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Pt.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Pt.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Pt.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
-
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
-        }
-      }
-
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -8098,7 +10005,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ro {
+    public static class Se {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -8116,7 +10023,7 @@ public static class Ro {
       @SerializedName("type")
       Type type;
 
-      private Ro(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Se(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -8134,15 +10041,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ro build() {
-          return new RegistrationCreateParams.CountryOptions.Ro(
+        public RegistrationCreateParams.CountryOptions.Se build() {
+          return new RegistrationCreateParams.CountryOptions.Se(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ro#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Se#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -8156,7 +10063,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ro#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Se#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8168,13 +10075,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Ro.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Se.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ro.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Se.Type type) {
           this.type = type;
           return this;
         }
@@ -8213,15 +10120,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Ro.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Ro.Standard(
+          public RegistrationCreateParams.CountryOptions.Se.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Se.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Ro.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Se.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -8235,7 +10142,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Ro.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Se.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8250,7 +10157,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Ro.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Se.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -8296,7 +10203,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Rs {
+    public static class Sg {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -8310,7 +10217,7 @@ public static class Rs {
       @SerializedName("type")
       Type type;
 
-      private Rs(Map<String, Object> extraParams, Type type) {
+      private Sg(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -8325,14 +10232,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Rs build() {
-          return new RegistrationCreateParams.CountryOptions.Rs(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Sg build() {
+          return new RegistrationCreateParams.CountryOptions.Sg(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Rs#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sg#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -8346,7 +10253,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Rs#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sg#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8358,7 +10265,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Rs.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Sg.Type type) {
           this.type = type;
           return this;
         }
@@ -8378,7 +10285,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Ru {
+    public static class Si {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -8388,94 +10295,17 @@ public static class Ru {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-      @SerializedName("type")
-      Type type;
-
-      private Ru(Map<String, Object> extraParams, Type type) {
-        this.extraParams = extraParams;
-        this.type = type;
-      }
-
-      public static Builder builder() {
-        return new Builder();
-      }
-
-      public static class Builder {
-        private Map<String, Object> extraParams;
-
-        private Type type;
-
-        /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Ru build() {
-          return new RegistrationCreateParams.CountryOptions.Ru(this.extraParams, this.type);
-        }
-
-        /**
-         * Add a key/value pair to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ru#extraParams} for the field
-         * documentation.
-         */
-        public Builder putExtraParam(String key, Object value) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.put(key, value);
-          return this;
-        }
-
-        /**
-         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Ru#extraParams} for the field
-         * documentation.
-         */
-        public Builder putAllExtraParam(Map<String, Object> map) {
-          if (this.extraParams == null) {
-            this.extraParams = new HashMap<>();
-          }
-          this.extraParams.putAll(map);
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Ru.Type type) {
-          this.type = type;
-          return this;
-        }
-      }
-
-      public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
-
-        @Getter(onMethod_ = {@Override})
-        private final String value;
-
-        Type(String value) {
-          this.value = value;
-        }
-      }
-    }
-
-    @Getter
-    public static class Sa {
-      /**
-       * Map of extra parameters for custom features not available in this client library. The
-       * content in this map is not serialized under this field's {@code @SerializedName} value.
-       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
-       * name in this param object. Effectively, this map is flattened to its parent instance.
-       */
-      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-      Map<String, Object> extraParams;
+      /** Options for the standard registration. */
+      @SerializedName("standard")
+      Standard standard;
 
-      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
       @SerializedName("type")
       Type type;
 
-      private Sa(Map<String, Object> extraParams, Type type) {
+      private Si(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
+        this.standard = standard;
         this.type = type;
       }
 
@@ -8486,17 +10316,20 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
+        private Standard standard;
+
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Sa build() {
-          return new RegistrationCreateParams.CountryOptions.Sa(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Si build() {
+          return new RegistrationCreateParams.CountryOptions.Si(
+              this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Sa#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Si#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -8510,7 +10343,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Sa#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Si#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8521,16 +10354,124 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Sa.Type type) {
+        /** Options for the standard registration. */
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Si.Standard standard) {
+          this.standard = standard;
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Si.Type type) {
           this.type = type;
           return this;
         }
       }
 
+      @Getter
+      public static class Standard {
+        /**
+         * Map of extra parameters for custom features not available in this client library. The
+         * content in this map is not serialized under this field's {@code @SerializedName} value.
+         * Instead, each key/value pair is serialized as if the key is a root-level field
+         * (serialized) name in this param object. Effectively, this map is flattened to its parent
+         * instance.
+         */
+        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+        Map<String, Object> extraParams;
+
+        /**
+         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+         */
+        @SerializedName("place_of_supply_scheme")
+        PlaceOfSupplyScheme placeOfSupplyScheme;
+
+        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
+          this.extraParams = extraParams;
+          this.placeOfSupplyScheme = placeOfSupplyScheme;
+        }
+
+        public static Builder builder() {
+          return new Builder();
+        }
+
+        public static class Builder {
+          private Map<String, Object> extraParams;
+
+          private PlaceOfSupplyScheme placeOfSupplyScheme;
+
+          /** Finalize and obtain parameter instance from this builder. */
+          public RegistrationCreateParams.CountryOptions.Si.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Si.Standard(
+                this.extraParams, this.placeOfSupplyScheme);
+          }
+
+          /**
+           * Add a key/value pair to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Si.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putExtraParam(String key, Object value) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.put(key, value);
+            return this;
+          }
+
+          /**
+           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+           * map. See {@link RegistrationCreateParams.CountryOptions.Si.Standard#extraParams} for
+           * the field documentation.
+           */
+          public Builder putAllExtraParam(Map<String, Object> map) {
+            if (this.extraParams == null) {
+              this.extraParams = new HashMap<>();
+            }
+            this.extraParams.putAll(map);
+            return this;
+          }
+
+          /**
+           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
+           */
+          public Builder setPlaceOfSupplyScheme(
+              RegistrationCreateParams.CountryOptions.Si.Standard.PlaceOfSupplyScheme
+                  placeOfSupplyScheme) {
+            this.placeOfSupplyScheme = placeOfSupplyScheme;
+            return this;
+          }
+        }
+
+        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
+          @SerializedName("small_seller")
+          SMALL_SELLER("small_seller"),
+
+          @SerializedName("standard")
+          STANDARD("standard");
+
+          @Getter(onMethod_ = {@Override})
+          private final String value;
+
+          PlaceOfSupplyScheme(String value) {
+            this.value = value;
+          }
+        }
+      }
+
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("simplified")
-        SIMPLIFIED("simplified");
+        @SerializedName("ioss")
+        IOSS("ioss"),
+
+        @SerializedName("oss_non_union")
+        OSS_NON_UNION("oss_non_union"),
+
+        @SerializedName("oss_union")
+        OSS_UNION("oss_union"),
+
+        @SerializedName("standard")
+        STANDARD("standard");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -8542,7 +10483,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Se {
+    public static class Sk {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -8560,7 +10501,7 @@ public static class Se {
       @SerializedName("type")
       Type type;
 
-      private Se(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Sk(Map<String, Object> extraParams, Standard standard, Type type) {
         this.extraParams = extraParams;
         this.standard = standard;
         this.type = type;
@@ -8578,15 +10519,15 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Se build() {
-          return new RegistrationCreateParams.CountryOptions.Se(
+        public RegistrationCreateParams.CountryOptions.Sk build() {
+          return new RegistrationCreateParams.CountryOptions.Sk(
               this.extraParams, this.standard, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Se#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sk#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -8600,7 +10541,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Se#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sk#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8612,13 +10553,13 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Se.Standard standard) {
+        public Builder setStandard(RegistrationCreateParams.CountryOptions.Sk.Standard standard) {
           this.standard = standard;
           return this;
         }
 
         /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Se.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Sk.Type type) {
           this.type = type;
           return this;
         }
@@ -8657,15 +10598,15 @@ public static class Builder {
           private PlaceOfSupplyScheme placeOfSupplyScheme;
 
           /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Se.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Se.Standard(
+          public RegistrationCreateParams.CountryOptions.Sk.Standard build() {
+            return new RegistrationCreateParams.CountryOptions.Sk.Standard(
                 this.extraParams, this.placeOfSupplyScheme);
           }
 
           /**
            * Add a key/value pair to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Se.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Sk.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putExtraParam(String key, Object value) {
@@ -8679,7 +10620,7 @@ public Builder putExtraParam(String key, Object value) {
           /**
            * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
            * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Se.Standard#extraParams} for
+           * map. See {@link RegistrationCreateParams.CountryOptions.Sk.Standard#extraParams} for
            * the field documentation.
            */
           public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8694,7 +10635,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
            * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
            */
           public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Se.Standard.PlaceOfSupplyScheme
+              RegistrationCreateParams.CountryOptions.Sk.Standard.PlaceOfSupplyScheme
                   placeOfSupplyScheme) {
             this.placeOfSupplyScheme = placeOfSupplyScheme;
             return this;
@@ -8740,7 +10681,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Sg {
+    public static class Sn {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -8754,7 +10695,7 @@ public static class Sg {
       @SerializedName("type")
       Type type;
 
-      private Sg(Map<String, Object> extraParams, Type type) {
+      private Sn(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -8769,14 +10710,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Sg build() {
-          return new RegistrationCreateParams.CountryOptions.Sg(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Sn build() {
+          return new RegistrationCreateParams.CountryOptions.Sn(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Sg#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sn#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -8790,7 +10731,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Sg#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sn#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8802,7 +10743,89 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Sg.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Sn.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Sr {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Sr(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Sr build() {
+          return new RegistrationCreateParams.CountryOptions.Sr(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sr#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Sr#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Sr.Type type) {
           this.type = type;
           return this;
         }
@@ -8822,7 +10845,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Si {
+    public static class Th {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -8832,17 +10855,12 @@ public static class Si {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Si(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Th(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -8853,20 +10871,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Si build() {
-          return new RegistrationCreateParams.CountryOptions.Si(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Th build() {
+          return new RegistrationCreateParams.CountryOptions.Th(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Si#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Th#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -8880,7 +10895,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Si#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Th#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -8891,124 +10906,16 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Si.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Si.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Th.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Si.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Si.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Si.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Si.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Si.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
-
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
-        }
-      }
-
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -9020,7 +10927,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Sk {
+    public static class Tj {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -9030,17 +10937,12 @@ public static class Sk {
       @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
       Map<String, Object> extraParams;
 
-      /** Options for the standard registration. */
-      @SerializedName("standard")
-      Standard standard;
-
-      /** <strong>Required.</strong> Type of registration to be created in an EU country. */
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
       @SerializedName("type")
       Type type;
 
-      private Sk(Map<String, Object> extraParams, Standard standard, Type type) {
+      private Tj(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
-        this.standard = standard;
         this.type = type;
       }
 
@@ -9051,20 +10953,17 @@ public static Builder builder() {
       public static class Builder {
         private Map<String, Object> extraParams;
 
-        private Standard standard;
-
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Sk build() {
-          return new RegistrationCreateParams.CountryOptions.Sk(
-              this.extraParams, this.standard, this.type);
+        public RegistrationCreateParams.CountryOptions.Tj build() {
+          return new RegistrationCreateParams.CountryOptions.Tj(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Sk#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Tj#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -9078,7 +10977,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Sk#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Tj#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -9089,124 +10988,16 @@ public Builder putAllExtraParam(Map<String, Object> map) {
           return this;
         }
 
-        /** Options for the standard registration. */
-        public Builder setStandard(RegistrationCreateParams.CountryOptions.Sk.Standard standard) {
-          this.standard = standard;
-          return this;
-        }
-
-        /** <strong>Required.</strong> Type of registration to be created in an EU country. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Sk.Type type) {
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Tj.Type type) {
           this.type = type;
           return this;
         }
       }
 
-      @Getter
-      public static class Standard {
-        /**
-         * Map of extra parameters for custom features not available in this client library. The
-         * content in this map is not serialized under this field's {@code @SerializedName} value.
-         * Instead, each key/value pair is serialized as if the key is a root-level field
-         * (serialized) name in this param object. Effectively, this map is flattened to its parent
-         * instance.
-         */
-        @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
-        Map<String, Object> extraParams;
-
-        /**
-         * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-         */
-        @SerializedName("place_of_supply_scheme")
-        PlaceOfSupplyScheme placeOfSupplyScheme;
-
-        private Standard(Map<String, Object> extraParams, PlaceOfSupplyScheme placeOfSupplyScheme) {
-          this.extraParams = extraParams;
-          this.placeOfSupplyScheme = placeOfSupplyScheme;
-        }
-
-        public static Builder builder() {
-          return new Builder();
-        }
-
-        public static class Builder {
-          private Map<String, Object> extraParams;
-
-          private PlaceOfSupplyScheme placeOfSupplyScheme;
-
-          /** Finalize and obtain parameter instance from this builder. */
-          public RegistrationCreateParams.CountryOptions.Sk.Standard build() {
-            return new RegistrationCreateParams.CountryOptions.Sk.Standard(
-                this.extraParams, this.placeOfSupplyScheme);
-          }
-
-          /**
-           * Add a key/value pair to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Sk.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putExtraParam(String key, Object value) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.put(key, value);
-            return this;
-          }
-
-          /**
-           * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
-           * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-           * map. See {@link RegistrationCreateParams.CountryOptions.Sk.Standard#extraParams} for
-           * the field documentation.
-           */
-          public Builder putAllExtraParam(Map<String, Object> map) {
-            if (this.extraParams == null) {
-              this.extraParams = new HashMap<>();
-            }
-            this.extraParams.putAll(map);
-            return this;
-          }
-
-          /**
-           * <strong>Required.</strong> Place of supply scheme used in an EU standard registration.
-           */
-          public Builder setPlaceOfSupplyScheme(
-              RegistrationCreateParams.CountryOptions.Sk.Standard.PlaceOfSupplyScheme
-                  placeOfSupplyScheme) {
-            this.placeOfSupplyScheme = placeOfSupplyScheme;
-            return this;
-          }
-        }
-
-        public enum PlaceOfSupplyScheme implements ApiRequestParams.EnumParam {
-          @SerializedName("small_seller")
-          SMALL_SELLER("small_seller"),
-
-          @SerializedName("standard")
-          STANDARD("standard");
-
-          @Getter(onMethod_ = {@Override})
-          private final String value;
-
-          PlaceOfSupplyScheme(String value) {
-            this.value = value;
-          }
-        }
-      }
-
       public enum Type implements ApiRequestParams.EnumParam {
-        @SerializedName("ioss")
-        IOSS("ioss"),
-
-        @SerializedName("oss_non_union")
-        OSS_NON_UNION("oss_non_union"),
-
-        @SerializedName("oss_union")
-        OSS_UNION("oss_union"),
-
-        @SerializedName("standard")
-        STANDARD("standard");
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
 
         @Getter(onMethod_ = {@Override})
         private final String value;
@@ -9218,7 +11009,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Th {
+    public static class Tr {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -9232,7 +11023,7 @@ public static class Th {
       @SerializedName("type")
       Type type;
 
-      private Th(Map<String, Object> extraParams, Type type) {
+      private Tr(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -9247,14 +11038,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Th build() {
-          return new RegistrationCreateParams.CountryOptions.Th(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Tr build() {
+          return new RegistrationCreateParams.CountryOptions.Tr(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Th#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Tr#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -9268,7 +11059,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Th#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Tr#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -9280,7 +11071,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Th.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Tr.Type type) {
           this.type = type;
           return this;
         }
@@ -9300,7 +11091,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Tr {
+    public static class Tz {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -9314,7 +11105,7 @@ public static class Tr {
       @SerializedName("type")
       Type type;
 
-      private Tr(Map<String, Object> extraParams, Type type) {
+      private Tz(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -9329,14 +11120,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Tr build() {
-          return new RegistrationCreateParams.CountryOptions.Tr(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Tz build() {
+          return new RegistrationCreateParams.CountryOptions.Tz(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Tr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Tz#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -9350,7 +11141,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Tr#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Tz#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -9362,7 +11153,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Tr.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Tz.Type type) {
           this.type = type;
           return this;
         }
@@ -9382,7 +11173,7 @@ public enum Type implements ApiRequestParams.EnumParam {
     }
 
     @Getter
-    public static class Tz {
+    public static class Ug {
       /**
        * Map of extra parameters for custom features not available in this client library. The
        * content in this map is not serialized under this field's {@code @SerializedName} value.
@@ -9396,7 +11187,7 @@ public static class Tz {
       @SerializedName("type")
       Type type;
 
-      private Tz(Map<String, Object> extraParams, Type type) {
+      private Ug(Map<String, Object> extraParams, Type type) {
         this.extraParams = extraParams;
         this.type = type;
       }
@@ -9411,14 +11202,14 @@ public static class Builder {
         private Type type;
 
         /** Finalize and obtain parameter instance from this builder. */
-        public RegistrationCreateParams.CountryOptions.Tz build() {
-          return new RegistrationCreateParams.CountryOptions.Tz(this.extraParams, this.type);
+        public RegistrationCreateParams.CountryOptions.Ug build() {
+          return new RegistrationCreateParams.CountryOptions.Ug(this.extraParams, this.type);
         }
 
         /**
          * Add a key/value pair to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Tz#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ug#extraParams} for the field
          * documentation.
          */
         public Builder putExtraParam(String key, Object value) {
@@ -9432,7 +11223,7 @@ public Builder putExtraParam(String key, Object value) {
         /**
          * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
          * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
-         * map. See {@link RegistrationCreateParams.CountryOptions.Tz#extraParams} for the field
+         * map. See {@link RegistrationCreateParams.CountryOptions.Ug#extraParams} for the field
          * documentation.
          */
         public Builder putAllExtraParam(Map<String, Object> map) {
@@ -9444,7 +11235,7 @@ public Builder putAllExtraParam(Map<String, Object> map) {
         }
 
         /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
-        public Builder setType(RegistrationCreateParams.CountryOptions.Tz.Type type) {
+        public Builder setType(RegistrationCreateParams.CountryOptions.Ug.Type type) {
           this.type = type;
           return this;
         }
@@ -10014,6 +11805,88 @@ public enum Type implements ApiRequestParams.EnumParam {
       }
     }
 
+    @Getter
+    public static class Uy {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Uy(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Uy build() {
+          return new RegistrationCreateParams.CountryOptions.Uy(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Uy#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Uy#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Uy.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
     @Getter
     public static class Uz {
       /**
@@ -10259,6 +12132,170 @@ public enum Type implements ApiRequestParams.EnumParam {
         }
       }
     }
+
+    @Getter
+    public static class Zm {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Zm(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Zm build() {
+          return new RegistrationCreateParams.CountryOptions.Zm(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Zm#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Zm#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Zm.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("simplified")
+        SIMPLIFIED("simplified");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
+
+    @Getter
+    public static class Zw {
+      /**
+       * Map of extra parameters for custom features not available in this client library. The
+       * content in this map is not serialized under this field's {@code @SerializedName} value.
+       * Instead, each key/value pair is serialized as if the key is a root-level field (serialized)
+       * name in this param object. Effectively, this map is flattened to its parent instance.
+       */
+      @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY)
+      Map<String, Object> extraParams;
+
+      /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+      @SerializedName("type")
+      Type type;
+
+      private Zw(Map<String, Object> extraParams, Type type) {
+        this.extraParams = extraParams;
+        this.type = type;
+      }
+
+      public static Builder builder() {
+        return new Builder();
+      }
+
+      public static class Builder {
+        private Map<String, Object> extraParams;
+
+        private Type type;
+
+        /** Finalize and obtain parameter instance from this builder. */
+        public RegistrationCreateParams.CountryOptions.Zw build() {
+          return new RegistrationCreateParams.CountryOptions.Zw(this.extraParams, this.type);
+        }
+
+        /**
+         * Add a key/value pair to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Zw#extraParams} for the field
+         * documentation.
+         */
+        public Builder putExtraParam(String key, Object value) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.put(key, value);
+          return this;
+        }
+
+        /**
+         * Add all map key/value pairs to `extraParams` map. A map is initialized for the first
+         * `put/putAll` call, and subsequent calls add additional key/value pairs to the original
+         * map. See {@link RegistrationCreateParams.CountryOptions.Zw#extraParams} for the field
+         * documentation.
+         */
+        public Builder putAllExtraParam(Map<String, Object> map) {
+          if (this.extraParams == null) {
+            this.extraParams = new HashMap<>();
+          }
+          this.extraParams.putAll(map);
+          return this;
+        }
+
+        /** <strong>Required.</strong> Type of registration to be created in {@code country}. */
+        public Builder setType(RegistrationCreateParams.CountryOptions.Zw.Type type) {
+          this.type = type;
+          return this;
+        }
+      }
+
+      public enum Type implements ApiRequestParams.EnumParam {
+        @SerializedName("standard")
+        STANDARD("standard");
+
+        @Getter(onMethod_ = {@Override})
+        private final String value;
+
+        Type(String value) {
+          this.value = value;
+        }
+      }
+    }
   }
 
   public enum ActiveFrom implements ApiRequestParams.EnumParam {