# Python client library 3.12.0 changelog ## __init__ * Removed ExpandedBundle model import. * Removed QueryBundlesResponse model import. * Added BillingPreviewRunFilter model import. * Added CommitmentPeriodOutput model import. * Added CommitmentPeriodStatus model import. * Added CommitmentStatus model import. * Added CreateCreditCardReferenceCardholderInfo model import. * Added GetCommitmentOutput model import. * Added RecurringCalculatedPricingOverride model import. ## contact_snapshots_api * Removed `page` and `page_size` parameters from the ContactSnapshotsApi class. This change may require developers to update their code if they were using pagination functionality. ## invoices_api * Added `cancel_e_invoice_by_invoice_key` method to cancel E-Invoice for a given billing document. * Added `cancel_e_invoice_by_invoice_key_with_http_info` method to cancel E-Invoice for a given billing document with HTTP info. ## object_queries_api * Removed methods related to querying bundles: `query_bundle_by_key`, `query_bundle_by_key_with_http_info`, `query_bundles`, and `query_bundles_with_http_info`. ## regenerate_api * Removed `page` and `page_size` parameters from the RegenerateApi class, which may affect pagination functionality in existing implementations. ## account_credit_card_holder * The `card_holder_name` field is now mandatory. It was previously optional but now requires a minimum length of 1. ## account_data * Added field validators for `communication_profile_id` and `sequence_set_id` to enforce a regular expression pattern, ensuring they match a 32-character hexadecimal string. ## account_e_invoice_profile * Changed type of `business_name` from Optional[StrictStr] to Annotated[str, Field(min_length=1, strict=True, max_length=255)], making it a required field with constraints. * Added constraints to `business_number`, `business_number_scheme_id`, `endpoint_id`, `endpoint_scheme_id`, and `tax_register_number` fields using Annotated with Field, which may affect validation and require updates to input data. ## add_subscription_component * Removed `amended_by_order_on`, `original_order_date`, and `specific_list_price_base` fields from the AddSubscriptionComponent model. * Changed `description` field to use Annotated type with strict and max_length constraints. * Changed `number` field to use Annotated type with strict and max_length constraints. * Changed `number_of_periods` field to use Annotated type with strict and minimum value constraints. * Changed `product_rate_plan_charge_id` field to use Annotated type with strict constraint. * Added a field validator for `product_rate_plan_charge_id` to enforce a regular expression pattern. ## add_subscription_rate_plan * The `product_rate_plan_id` field now uses `Annotated[str, Field(strict=True)]`, which enforces stricter type checking. This may require developers to ensure that the input for this field is strictly a string. * A new field validator `product_rate_plan_id_validate_regular_expression` has been added to enforce that `product_rate_plan_id` must match the regular expression /^[0-9a-fA-F]{32}$/. This change requires developers to ensure that the `product_rate_plan_id` adheres to this format. ## bill_run_filter * Added strict validation for `account_id` and `subscription_id` fields using regular expressions to ensure they match a 32-character hexadecimal format. ## bill_run_schedule * Added validation for `weekly_on_day` field to ensure the list has a minimum length of 1 and a maximum length of 7. ## billing_adjustment_exclusion * The `delivery_date` field is now mandatory. Previously, it was optional. Developers must ensure that this field is provided when creating or updating a BillingAdjustmentExclusion object. ## billing_document_item_source_type * Added a new enum value `COMMITMENT` to the BillingDocumentItemSourceType class. ## billing_options * Changed the type of `credit_memo_reason_code` from `Optional[StrictStr]` to `Optional[Annotated[str, Field(strict=True, max_length=25)]]`. This change enforces stricter validation on the `credit_memo_reason_code` field, which may require developers to ensure that the value does not exceed 25 characters. ## bulk_pdf_generation_job_request * Added a minimum length constraint of 1 to the `file_name` field, ensuring that the file name cannot be empty. ## change_subscription_rate_plan * Introduced strict validation for `new_product_rate_plan_id`, `product_rate_plan_id`, and `rate_plan_id` fields using regular expressions to ensure they match a 32-character hexadecimal format. ## charge_model * Added a new charge model type `CALCULATED` to the ChargeModel enum. ## charge_override_pricing * Added support for RecurringCalculatedPricingOverride in ChargeOverridePricing model. ## charge_type * Added a new charge type `OTHERS` to the ChargeType enum. ## charge_update * Removed the `is_dimensional_price` field from the ChargeUpdate model, which may affect any code relying on this field. * Changed `negotiated_price_table` from a Dict to a List of Dicts, which may require updates to code handling this field. ## commitment_input * Added `eligible_account_conditions` and `eligible_charge_conditions` fields to the CommitmentInput model. * Introduced `exclude_item_booking_from_revenue_accounting` field to the CommitmentInput model. ## commitment_output_periods_inner * The `start_date` and `end_date` fields have changed from `Optional[StrictStr]` to `Optional[date]`. This requires developers to update their code to handle date objects instead of strings. ## common_revenue_attributes * Removed `accounting_code` property from the CommonRevenueAttributes class. * Added `exclude_item_booking_from_revenue_accounting` property to the CommonRevenueAttributes class. ## common_taxation_attributes * Introduced the use of Annotated type for the `tax_code` field with strict validation and a maximum length of 100 characters. ## contact * Increased maximum length for `city` from 40 to 100 characters. * Increased maximum length for `county` from 32 to 100 characters. * Increased maximum length for `state` from 40 to 100 characters. * Increased maximum length for `tax_region` from 32 to 100 characters. ## contact_info * Increased max_length for `city`, `county`, `state`, and `tax_region` fields, which may affect validation logic. * Renamed `custom_fields` to `custom_fields_data`, which requires updates to any code referencing this field. * Added min_length constraint of 1 for `first_name` and `last_name` fields, ensuring these fields cannot be empty. ## contact_response * Increased maximum length for `city` from 40 to 100 characters. * Increased maximum length for `county` from 32 to 100 characters. * Increased maximum length for `state` from 40 to 100 characters. * Increased maximum length for `tax_region` from 32 to 100 characters. ## create_account_contact * Changed data type annotations for several fields to use Annotated with strict and max_length constraints, which may require developers to update their code to ensure compatibility with these stricter validations. ## create_account_credit_card_holder_info * Replaced StrictStr with Annotated[str, Field(strict=True, max_length=X)] for all string fields, which may affect validation behavior. ## create_account_request * The `name` field now requires a minimum length of 1 character. Previously, there was no minimum length enforced. ## create_account_subscription * Changed `initial_term` from Optional[StrictInt] to Optional[Annotated[int, Field(strict=True, ge=1)]], enforcing a minimum value of 1. * Changed `renewal_term` from Optional[StrictInt] to Optional[Annotated[int, Field(strict=True, ge=0)]], enforcing a minimum value of 0. * Changed `notes` from Optional[StrictStr] to Optional[Annotated[str, Field(strict=True, max_length=500)]], enforcing a maximum length of 500 characters. * Changed `subscription_number` from Optional[StrictStr] to Optional[Annotated[str, Field(strict=True, max_length=100)]], enforcing a maximum length of 100 characters. ## create_accounting_code_request * The `name` field now requires a minimum length of 1 character. Previously, there was no minimum length constraint. ## create_becs_payment_method * The `account_number` and `branch_code` fields now require a minimum length of 1 and strict type checking. ## create_becsnz_payment_method * The types for `account_number`, `bank_code`, and `branch_code` have been changed from `StrictStr` to `Annotated[str, Field(min_length=1, strict=True)]`. This change enforces a minimum length of 1 and strict type checking, which may require developers to ensure these fields are not empty and are strictly strings. ## create_betalingsservice_payment_method * Changed type annotations for `identity_number`, `bank_code`, and `account_number` from `StrictStr` to `Annotated[str, Field(min_length=1, strict=True)]`. This may require developers to ensure these fields are not empty and adhere to stricter validation. ## create_billing_preview_run_request * Added a new optional `filters` field to the CreateBillingPreviewRunRequest model, allowing developers to apply up to one filter to the billing preview run. ## create_cc_reference_transaction_payment_method * Renamed import from CreatePaymentMethodCardholderInfo to CreateCreditCardReferenceCardholderInfo, which may require updates to import statements in existing code. * Changed type of card_holder_info from CreatePaymentMethodCardholderInfo to CreateCreditCardReferenceCardholderInfo, which may affect how cardholder information is handled in the application. ## create_contact_request * Increased maximum length for `city`, `county`, `state`, and `tax_region` fields from 40, 32, 40, and 32 to 100 characters respectively. * Added minimum length constraint of 1 character for `first_name` and `last_name` fields. ## create_credit_memo_from_charge * The `charges` field is now mandatory. Previously, it was optional. Developers must ensure that this field is provided when creating a credit memo from charge. ## create_debit_memo_from_charge * The `charges` field is now mandatory. Previously, it was optional. * Added a validator for the `due_date` field to ensure it matches the `yyyy-mm-dd` format. ## create_debit_memo_from_charge_request * Added a new field validator `due_date_validate_regular_expression` to ensure `due_date` follows the format YYYY-MM-DD. ## create_discount_item * Changed type of several fields to Annotated[str, Field(strict=True, max_length=N)] with specific max_length constraints, which may require developers to ensure their input strings do not exceed these lengths. ## create_fulfillment * Removed StrictBool type from fields `exclude_item_billing_from_revenue_accounting` and `exclude_item_booking_from_revenue_accounting`. These fields have been completely removed. * Changed `fulfillment_date` from Optional to a required field. * Changed `order_line_item_id` from Optional to a required field with a minimum length of 32. * Added strict and max_length constraints to several string fields using Annotated, such as `carrier`, `description`, `external_id`, `fulfillment_location`, `fulfillment_system`, and `tracking_number`. ## create_fulfillment_item * Replaced StrictStr with Annotated for fields: description, item_identifier, fulfillment_id, fulfillment_external_id, and fulfillment_number. This introduces strict type checking and length constraints, which may require developers to update their code to ensure compliance with these constraints. ## create_invoice_item * Changed type of several fields to Annotated[str, Field(strict=True, max_length=N)] with specific max_length constraints, which may require developers to ensure that input data conforms to these new length restrictions. ## create_or_update_catalog_group_product_rate_plan * The `id` field now requires a non-empty string with strict validation and must match the regular expression /^[0-9a-fA-F]{32}$/. ## create_order_action * Introduced the use of Annotated from typing_extensions to enforce stricter validation on the change_reason field, including a maximum length of 255 characters. ## create_order_order_line_item * Changed data types for several fields to use Annotated with Field constraints, which may require updates to code that sets these fields. * Added strict validation for `bill_to` and `ship_to` fields using regular expressions, which may cause validation errors if existing values do not match the required format. * Introduced field length and strictness constraints on multiple fields, enhancing data validation. ## create_order_subscription * The `order_actions` field is now required. Previously, it was optional. * The `subscription_number` field now has a strict string type with a maximum length of 100 characters. ## create_pad_payment_method * Changed type annotations for `account_number`, `bank_code`, and `branch_code` to use `Annotated[str, Field(min_length=1, strict=True)]`, which enforces stricter validation. This may require developers to ensure these fields are not empty and adhere to stricter type checks. ## create_payment_method_bank_transfer_account_holder_info * The `account_holder_name` field is now required and must have a minimum length of 1. * The `account_holder_name`, `address_line1`, `address_line2`, `city`, `country`, `email`, `first_name`, `last_name`, `phone`, `state`, and `zip_code` fields now have strict string validation with specified maximum lengths. ## create_payment_method_cardholder_info * Replaced StrictStr with Annotated[str, Field(strict=True, max_length=N)] for all string fields, which may affect validation behavior. ## create_payment_method_updater_batch_request * The `updater_account_id` field now has a minimum length constraint of 1, which may require validation updates in existing code. ## get_payment_method_for_account_response * Renamed the following fields and updated their data types to be consistent with REST API fields: * `created_on`(datetime) to `created_date`(str) * `updated_on`(datetime) to `updated_date`(str) * `last_transaction_time`(datetime) to `last_transaction_date_time`(str) * `last_failed_sale_transaction_date`(datetime) to `last_failed_sale_transaction_date`(str) ## payment_method_response * Renamed the following fields and updated their data types to be consistent with REST API fields: * `created_on`(datetime) to `created_date`(str) * `updated_on`(datetime) to `updated_date`(str) * `last_transaction_time`(datetime) to `last_transaction_date_time`(str) * `last_failed_sale_transaction_date`(datetime) to `last_failed_sale_transaction_date`(str) ## create_payment_run_data * Introduced stricter validation for several fields using Annotated with strict=True and max_length constraints: account_id, account_number, comment, currency, document_id, payment_gateway_id, and payment_method_id. ## create_payment_run_data_item * The type for `document_item_id` and `tax_item_id` has been changed from `Optional[StrictStr]` to `Optional[Annotated[str, Field(strict=True, max_length=32)]]`. This enforces stricter validation with a maximum length of 32 characters, which may require developers to update their code to ensure compliance with these constraints. ## create_payment_schedule_items_request_items * The `description` field now uses `Annotated` with `strict=True` and a maximum length of 255 characters. This change enforces stricter validation on the `description` field, which may require developers to update their code to ensure descriptions meet these constraints. ## create_payment_schedule_request_items * The `amount` field is now required and no longer optional. * The `scheduled_date` field is now required and no longer optional. * The `description` field now supports a maximum length of 255 characters with strict validation using Annotated. ## create_product_rate_plan_charge_request * The type for `revenue_recognition_rule_name` has been changed from `RevenueRecognitionRuleName` to `StrictStr`. This change may require developers to update their code to ensure compatibility with the new type. ## create_rsa_signature_request * Added a minimum length constraint of 1 to the `uri` field, ensuring that it cannot be empty. ## create_sequence_set_request * The `name` field type has been changed from `StrictStr` to `Annotated[str, Field(min_length=1, strict=True, max_length=15)]`. This change enforces a minimum and maximum length for the `name` field, which may require developers to update their code to ensure compliance with these constraints. ## create_subscription_component * Removed `amended_by_order_on`, `original_order_date`, and `specific_list_price_base` fields from the CreateSubscriptionComponent model. * Changed `description` and `number` fields to use Annotated with strict and max_length constraints. * Added a regular expression validator for `product_rate_plan_charge_id` field, requiring it to match a 32-character hexadecimal pattern. * Introduced a field validator for `product_rate_plan_charge_id` to ensure it matches a specific regular expression pattern. ## create_subscription_rate_plan * Added a new field validator for `product_rate_plan_id` to ensure it matches a specific regular expression pattern. ## create_taxation_item * The `jurisdiction`, `location_code`, `name`, `tax_code`, `tax_code_description`, and `tax_rate_description` fields now use the Annotated type with strict and max_length constraints. This change may require developers to ensure that the values provided for these fields meet the new constraints. ## create_taxation_item_for_invoice_request * Changed `invoice_item_id`, `jurisdiction`, and `name` fields to use Annotated with min_length=1 and strict=True, which may require developers to ensure these fields are not empty and strictly typed as strings. * Added a field validator for `invoice_item_id` to enforce a regular expression pattern, ensuring it matches a 32-character hexadecimal string. ## credit_card * The `card_number` field is now required and must have a minimum length of 1. * The `card_type` field is now required. ## credit_memo_item * Added new fields `commitmentId` and `commitmentPeriodId` to the CreditMemoItem model. ## credit_memo_item_from_write_off_invoice * The `invoice_item_id` field is now required and no longer optional. * The `comment` field now has a strict length validation with a maximum of 255 characters. * Added regular expression validation for `service_end_date` and `service_start_date` fields to ensure they match the format YYYY-MM-DD. ## credit_memo_item_response * Added `commitmentId` and `commitmentPeriodId` fields to the CreditMemoItemResponse model. ## credit_memo_taxation_item_from_write_off_invoice * The `taxation_item_id` field is now required (StrictStr) instead of optional (Optional[StrictStr]). This change requires developers to provide a value for `taxation_item_id` when creating instances of CreditMemoTaxationItemFromWriteOffInvoice. ## custom_rates * The `currency` field type has changed from `StrictStr` to `Annotated[str, Field(strict=True, max_length=3)]`. This may require updates to code that interacts with this field to ensure it adheres to the new constraints. ## debit_memo_due_date * Added a new field validator for `due_date` to ensure it matches the regular expression pattern `\d{4}-\d{1,2}-\d{1,2}`. ## decrypt_rsa_signature_request * The `public_key` and `signature` fields now use `Annotated[str, Field(min_length=1, strict=True)]` instead of `StrictStr`. This change enforces a minimum length of 1 and strict type checking, which may require developers to ensure these fields are not empty and are strictly strings. ## document_id_list * The `doc_type` attribute is now required and no longer optional. Developers must provide a value for `doc_type` when creating instances of DocumentIdList. ## electronic_payment_options_with_delayed_capture_payment * Removed the use of Annotated type for `auth_transaction_id` and `gateway_order_id`, which may affect type validation and constraints. ## expanded_commitment * Added `eligibleAccountConditions` and `eligibleChargeConditions` fields to the ExpandedCommitment model. ## expanded_credit_memo_item * Added new fields `commitmentId` and `commitmentPeriodId` to the ExpandedCreditMemoItem model. ## expanded_invoice_item * Added new fields `commitmentId` and `commitmentPeriodId` to the ExpandedInvoiceItem model. ## expanded_rate_plan_charge * Added new optional fields: productCategory, productClass, productFamily, and productLine to the ExpandedRatePlanCharge model. ## expanded_usage * Added a new optional field `rated_amount` to the ExpandedUsage model, allowing developers to include rated amounts in their usage data. ## fulfillment * Removed StrictBool type from `exclude_item_billing_from_revenue_accounting` and `exclude_item_booking_from_revenue_accounting` fields. * Replaced StrictStr with Annotated[str, Field(strict=True, max_length=...)] for several fields, which may affect validation behavior. ## fulfillment_item * Replaced StrictStr with Annotated for fields: description, item_identifier, fulfillment_id, and fulfillment_external_id. This change enforces stricter validation rules, including max_length and min_length constraints, which may require developers to update their code to comply with these new constraints. ## get_accounting_period_response * Changed the type of `fiscal_year` from StrictStr to StrictInt, which may require developers to update their code to handle integer values instead of strings. * Added a description for `fiscal_quarter` field, providing more clarity on its purpose. ## get_billing_preview_run_response * Added a new optional field `filters` of type List[BillingPreviewRunFilter] to the GetBillingPreviewRunResponse model, allowing developers to access filters applied during the billing preview run. ## get_charge_override * The `is_dimensional_price` field has been removed from the GetChargeOverride model. This may affect any code that relies on this field. * The `negotiated_price_table` field has been changed from a dictionary to a list of dictionaries. This change allows for multiple negotiated price tables to be handled. ## get_fulfillment * Removed StrictBool type from `exclude_item_billing_from_revenue_accounting` and `exclude_item_booking_from_revenue_accounting` fields. * Replaced StrictStr with Annotated[str, Field(strict=True, max_length=...)] for several fields, enforcing stricter validation on `carrier`, `description`, `external_id`, `fulfillment_location`, `fulfillment_system`, `order_line_item_id`, and `tracking_number`. ## get_fulfillment_item * The `description` field now has a strict maximum length of 255 characters. * The `item_identifier` field now has a strict maximum length of 36 characters. * The `fulfillment_external_id` field now has a strict maximum length of 50 characters. ## get_product_rate_plan_charge_response * Changed the type of `revenue_recognition_rule_name` from `RevenueRecognitionRuleName` to `StrictStr`. This may require developers to update their code to handle the new type. ## get_subscription_rate_plan_charges_with_all_segments * Added `pricingAttributes` field for dynamic pricing, available when DynamicPricing permission is enabled. * Added `isDimensionalPrice` field to indicate dimensional pricing, available when DynamicPricing permission is enabled. * Added `isPriceNegotiated` field to indicate negotiated pricing, available when NegotiatedPriceTable permission is enabled. ## invoice_entity_prefix * The `prefix` field now requires a non-empty string with a maximum length of 16 characters and strict type enforcement. * The `start_number` field now requires a strict integer greater than or equal to 1. ## invoice_for_bulk_update * The `id` field is now mandatory (StrictStr) and no longer optional. Developers must ensure that this field is provided when updating an invoice. ## invoice_item * Added `commitment_id` and `commitment_period_id` fields to the InvoiceItem model. ## invoice_schedule_subscription * The `order_key` and `subscription_key` fields are now required and no longer accept None as a valid value. This change requires developers to provide non-null values for these fields when creating or updating an InvoiceScheduleSubscription instance. ## order * The `commitments` field in the Order model now uses `GetCommitmentOutput` instead of `UpsertCommitmentInput`. This change requires developers to update their code to handle the new data structure. ## order_create_account * Changed `additional_email_addresses` from Annotated[str, Field(strict=True, max_length=1200)] to StrictStr. * Changed `communication_profile_id` from StrictStr to Annotated[str, Field(strict=True)]. * Changed `currency` from StrictStr to Annotated[str, Field(min_length=3, strict=True, max_length=3)]. * Changed `customer_service_rep_name` from Annotated[str, Field(strict=True, max_length=50)] to StrictStr. * Changed `hpm_credit_card_payment_method_id` from StrictStr to Annotated[str, Field(strict=True)]. * Changed `invoice_template_id` from StrictStr to Annotated[str, Field(strict=True, max_length=32)]. * Changed `name` from Annotated[str, Field(strict=True, max_length=255)] to Annotated[str, Field(min_length=1, strict=True, max_length=255)]. * Changed `purchase_order_number` from Annotated[str, Field(strict=True, max_length=100)] to StrictStr. * Changed `sales_rep` from Annotated[str, Field(strict=True, max_length=50)] to StrictStr. * Changed `sequence_set_id` from StrictStr to Annotated[str, Field(strict=True, max_length=32)]. * Added field validators for `communication_profile_id` and `hpm_credit_card_payment_method_id` to enforce regular expression validation. ## order_create_account_contact * Increased max_length for `city`, `county`, `state`, and `tax_region` fields from 40, 32, 40, and 32 to 100 respectively. This change may affect validation logic if developers have hardcoded length checks. * Added min_length=1 constraint to `first_name` and `last_name` fields, which may require developers to ensure these fields are not empty. ## payment_data * The `auth_transaction_id` field now requires a non-empty string due to the addition of a minimum length constraint. * The `authorized_amount` field is no longer optional and must be provided. * The `authorized_currency` field is no longer optional and must be provided. ## payment_entity_prefix * Changed `prefix` from Optional[StrictStr] to Annotated[str, Field(min_length=1, strict=True, max_length=16)], enforcing stricter validation on the prefix field. * Changed `start_number` from Optional[StrictInt] to Annotated[int, Field(strict=True, ge=1)], enforcing stricter validation on the start_number field. ## payment_method_request_tokens * Introduced stricter validation for `token_id`, `second_token_id`, and `third_token_id` fields using Annotated with min_length and max_length constraints. ## payment_with_custom_rates * The `currency` field type has been changed from `StrictStr` to `Annotated[str, Field(strict=True, max_length=3)]`, which may require developers to update their code to ensure compatibility with the new type constraints. ## preview_account_info * The `currency` field now requires a minimum length of 3 characters, enforcing stricter validation on currency codes. ## preview_contact_info * Increased maximum length for `city`, `county`, `state`, and `tax_region` fields to 100 characters. * Added new fields `address1` and `address2` with a maximum length of 255 characters each. ## preview_existing_subscription_discount_details * Added `serviceStartDate` and `serviceEndDate` fields to the PreviewExistingSubscriptionDiscountDetails model. ## preview_options * The type of `preview_number_of_periods` has been changed from `Optional[StrictInt]` to `Optional[Annotated[int, Field(strict=True, ge=1)]]`. This enforces stricter validation, requiring the value to be an integer greater than or equal to 1. ## preview_order_order_action * The `change_reason` field now uses `Annotated[str, Field(strict=True, max_length=255)]`, which enforces stricter validation on the string length and strictness. This may require developers to ensure that any input for `change_reason` adheres to these constraints. ## preview_order_subscriptions * The `order_actions` field is now required and no longer optional. * The `subscription_number` field now uses `Annotated[str, Field(strict=True, max_length=100)]` instead of `Optional[StrictStr]`, enforcing stricter validation. ## preview_start_date * The `preview_start_date_policy` attribute is now mandatory and no longer optional. Developers must provide a value for `previewStartDatePolicy` when using the PreviewStartDate model. ## preview_subscription_account_info * Changed `bill_cycle_day` from StrictInt to Annotated[int, Field(le=31, strict=True, ge=0)], enforcing a range between 0 and 31. * Changed `currency` from StrictStr to Annotated[str, Field(min_length=3, strict=True, max_length=3)], enforcing a strict length of 3 characters. ## preview_subscription_bill_to_contact * Changed type of `city`, `country`, `county`, `state`, `tax_region`, and `zip_code` fields from Optional[StrictStr] to Optional[Annotated[str, Field(strict=True, max_length=...)]] which may require developers to ensure that these fields adhere to the new strictness and length constraints. ## preview_through_date * The `preview_thru_date_policy` attribute is now mandatory and no longer accepts None as a default value. Developers must provide a value for `previewThruDatePolicy`. ## product_rate_plan_charge * The type of `revenue_recognition_rule_name` has been changed from `RevenueRecognitionRuleName` to `StrictStr`. This may require developers to update their code to handle the new type. ## quantity_for_usage_charges * The `charge_id` field is now required and no longer optional. * The `quantity` field is now required and no longer optional. ## ramp_charge_request * The type for `charge_number` and `unique_token` has been changed from `Optional[StrictStr]` to `Optional[Annotated[str, Field(strict=True, max_length=50)]]`. This change enforces stricter validation on these fields, which may require developers to ensure that the values provided do not exceed 50 characters. ## ramp_interval_request * The `description` and `name` fields now use Annotated with strict=True and have maximum length constraints (500 for `description` and 150 for `name`). This change may require developers to update their code to ensure these constraints are met. ## rate_plan * Changed `product_rate_plan_id` from Optional[StrictStr] to Optional[Annotated[str, Field(strict=True)]], which may require developers to update their code to handle the new type. * Added a field validator for `product_rate_plan_id` to enforce a regular expression pattern, ensuring it matches a 32-character hexadecimal string. ## rate_plan_charge_segment * The alias for the field `is_price_negotiated` has been changed from `IsPriceNegotiated` to `isPriceNegotiated`. This may require updates in code where this alias is used. ## rate_plan_charge_segment_info * Renamed alias for `is_price_negotiated` from `IsPriceNegotiated` to `isPriceNegotiated`. This change may require updates to code that references this field by its alias. ## regenerate_booking_request * The `type` field now uses `Annotated[str, Field(min_length=1, strict=True)]` instead of `StrictStr`, enforcing a minimum length of 1 and strict type checking. ## remove_catalog_group_product_rate_plan * The `id` field now requires a non-empty string with a strict type and must match the regular expression /^[0-9a-fA-F]{32}$/. ## remove_subscription_rate_plan * Added a strict validation for the `rate_plan_id` field using a regular expression to ensure it matches a 32-character hexadecimal format. ## retry_payment_schedule_item * The `id` field is now required and no longer optional. Developers must provide a value for `id` when creating or updating a RetryPaymentScheduleItem. ## sign_up_tax_info * Added validation for `exempt_effective_date` and `exempt_expiration_date` fields to ensure they match the regular expression pattern `\d{4}-\d{1,2}-\d{1,2}`. ## submit_data_labeling_job_request * Changed the type of `object_type` from `StrictStr` to `Annotated[str, Field(min_length=1, strict=True)]`. This may require developers to ensure that the `object_type` field is not empty and adheres to stricter validation rules. ## subscription_data * The `start_date` field is now mandatory. Previously, it was optional. Developers must ensure that a `start_date` is provided when creating or updating a SubscriptionData instance. ## tax_info * Reduced the maximum length of `exempt_entity_use_code` from 64 to 32 characters, which may require developers to update their code if they rely on longer codes. * Added field validators for `exempt_effective_date` and `exempt_expiration_date` to ensure they match the regular expression pattern `\d{4}-\d{1,2}-\d{1,2}`. ## update_account_contact * Changed data type for fields such as address1, address2, city, country, county, fax, first_name, home_phone, last_name, mobile_phone, nickname, other_phone, personal_email, state, tax_region, work_email, work_phone, and zip_code to use Annotated with strict and max_length constraints. This may require developers to update their code to ensure compatibility with the new type constraints. ## update_accounting_period_request * Changed `fiscal_year` from Optional[StrictStr] to Optional[StrictInt], which may require developers to update their code to ensure the fiscal year is provided as an integer. ## update_catalog_group_request * The `remove` field type has been changed from a list of lists to a single list of RemoveCatalogGroupProductRatePlan objects. This change requires developers to update their code to accommodate the new structure. ## update_contact_request * Increased maximum length for `city` from 40 to 100 characters. * Increased maximum length for `county` from 32 to 100 characters. * Increased maximum length for `state` from 40 to 100 characters. * Increased maximum length for `tax_region` from 32 to 100 characters. ## update_credit_memo_with_id * The `id` field is now required (StrictStr) instead of optional (Optional[StrictStr]). This change requires developers to provide an `id` when using the UpdateCreditMemoWithId model. ## update_debit_memo_with_id * The `id` field is now mandatory (StrictStr) instead of optional (Optional[StrictStr]). This change requires developers to provide an `id` value when using the UpdateDebitMemoWithId model. ## update_discount_invoice_item * Removed `processingType` field from the model, which may require updates to code that relied on this field. * Introduced strict length validation for several fields using Annotated[str, Field(strict=True, max_length=N)], which may require developers to ensure input data adheres to these constraints. ## update_invoice_item * Changed the type of several fields to Annotated[str, Field(strict=True, max_length=N)], which may require developers to ensure that string lengths do not exceed specified limits. * Updated the `discount_items` and `tax_items` fields to include a maximum length constraint, which may require developers to adjust their data handling to comply with these limits. ## update_order_action_charge_trigger_date * The type for `charge_number` has been changed from `Optional[StrictStr]` to `Optional[Annotated[str, Field(strict=True, max_length=50)]]`. This change enforces a maximum length of 50 characters and strict type checking, which may require developers to update their code to comply with these constraints. ## update_rate_plan_charge * The `description` field now uses `Annotated` with `strict=True` and a maximum length of 500 characters, which may require updates to ensure compliance. * The `rate_plan_charge_id` field now uses `Annotated` with `strict=True` and a minimum length of 1, which may require updates to ensure compliance. * A new field validator for `rate_plan_charge_id` has been added to enforce a regular expression pattern, which may require updates to ensure compliance. ## update_subscription_rate_plan * Removed the `externally_managed_plan_id` field from the UpdateSubscriptionRatePlan model, which may affect code relying on this field. * Changed `rate_plan_id` to use Annotated[str, Field(strict=True)], which enforces stricter type checking and may require code updates. * Added a field validator for `rate_plan_id` to ensure it matches a specific regular expression pattern. ## update_subscription_rate_plan_custom_fields * The `rate_plan_id` field is now mandatory. Previously, it was optional. ## updater_payment_method_request_account_holder_info * Replaced StrictStr with Annotated[str, Field(strict=True, max_length=...)] for fields: address_line1, address_line2, city, country, email, phone, state, zip_code. This change enforces stricter validation with maximum length constraints, which may require developers to update their data handling to comply with these constraints. ## upsert_create_commitment_input * The `accounting_code` field has been removed from the properties list, which may affect any code relying on this field. * Added `eligible_account_conditions` and `eligible_charge_conditions` fields to the UpsertCreateCommitmentInput model. * Introduced `exclude_item_booking_from_revenue_accounting` field to the UpsertCreateCommitmentInput model. ## upsert_update_commitment_input * Added a new optional field `status` of type CommitmentStatus to the UpsertUpdateCommitmentInput model. ## upsert_update_commitment_period_input * The `end_date` field has been removed and replaced with a `status` field of type `CommitmentPeriodStatus`. This change requires developers to update their code to use the new `status` field instead of `end_date`.