# Java client library 3.14.0 changelog ## CreditMemosApi * Added a new parameter `shouldIncludeAcknowledged` to the method `updateCreditMemoInvokeSyncStatus` and its related methods. This parameter allows fetching notifications marked as acknowledged along with unacknowledged ones. ## CustomObjectRecordsApi * The method signatures for getAllRecordsForCustomObjectType, getAllRecordsForCustomObjectTypeWithHttpInfo, getAllRecordsForCustomObjectTypeAsync, and getAllRecordsForCustomObjectTypeValidateBeforeCall have changed. The parameter `ids` has been changed from a String to a `List`. ## DebitMemosApi * Added a new parameter `shouldIncludeAcknowledged` to the method `updateDebitMemoInvokeSyncStatus`. This allows fetching notifications marked as acknowledged along with unacknowledged ones. ## HostedPagesApi * Added `createHostedPage` method to create a new hosted payment page with customizable configurations. * Introduced CreateHostedPageApi class for building and executing createHostedPage requests with optional parameters. ## InvoicesApi * Added a new parameter `shouldIncludeAcknowledged` to the method `updateInvoiceInvokeSyncStatus`. This allows fetching notifications marked as acknowledged along with unacknowledged ones. ## ObjectQueriesApi * Added new API methods for querying CommitmentSchedules, CommitmentTransactions, and CommitmentTransaction by key with filters, expands, and sort capabilities. * Introduced new expand capabilities for querying commitments, including account, commitmentschedules, commitmentschedules.commitmentperiods, commitmentassociatedaccounts, commitmentassociateditems, and commitmentassociateditems.account. ## PaymentSchedulesApi * Added `deletePaymentSchedule` method to delete a payment schedule by payment schedule key. * Added `deletePaymentScheduleItem` method to delete a payment schedule item by ID. ## PaymentsApi * Added `bulkUpsertPaymentProfilesApi` method to support bulk creation or update of payment profiles. * Introduced BulkUpsertPaymentProfilesApi class to facilitate building and executing bulk upsert payment profiles requests. ## AccountSummaryResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the AccountSummaryResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## AssociationRule * The AssociationRule class has been removed entirely, which will break any code that depends on it. ## BillingDocumentQueryResponseElement * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the BillingDocumentQueryResponseElement class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## BillingDocumentStatus * Added a new status `SPLIT` to the BillingDocumentStatus enum, allowing developers to handle billing documents that have been split. ## CancelAuthorizationResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CancelAuthorizationResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## CancelSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CancelSubscriptionResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## CommitmentBaseAttributes * Removed the `associationRules` field and its related methods from the CommitmentBaseAttributes class. This change will require developers to update their code if they were using this field. ## CommitmentInput * Removed the `associationRules` field and its associated methods, which may require developers to update their code if they were using this field. * Changed `periodAlignmentOption` from a required field to an optional field, which may affect validation logic in existing implementations. ## CommitmentScheduleInput * Default value for `amountBase` set to `AmountBaseEnum.COMMITMENTPERIOD`. * Default value for `periodType` set to `PeriodTypeEnum.MONTH`. ## CommitmentScheduleOutput * Default value set for `amountBase` as `AmountBaseEnum.COMMITMENTPERIOD`. * Default value set for `periodType` as `PeriodTypeEnum.MONTH`. ## CreateAccountingCodeResponse * Added new fields: `processId`, `requestId`, and `reasons` to the CreateAccountingCodeResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. * Added validation for the new fields in JSON parsing. ## CreateAccountingPeriodResponse * The field `id` has been moved and is no longer the first field in the class. This may affect code that relies on the order of fields. * The `id` field is no longer initialized with a default value. * Added new field `processId` to track the process handling the operation. * Added new field `requestId` to provide a unique identifier for the request. * Added new field `reasons` to capture a list of reasons for failure, utilizing the new `FailedReason` class. ## CreateBillingDocumentFilesDeletionJobResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture reasons for failure, if any. ## CreateBillingPreviewResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CreateBillingPreviewResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## CreateInvoiceCollectResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CreateInvoiceCollectResponse class. * Introduced validation for new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## CreateJournalEntryResponse * Added new fields: `processId`, `requestId`, and `reasons` to the CreateJournalEntryResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. ## CreateJournalRunResponse * Added new field `processId` to track the ID of the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failed reasons. ## CreateMassUpdateResponse * Added new field `processId` to identify the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture failed reasons with validation logic. ## CreateOrderRatePlanUpdate * Added support for chargeOverrides, allowing developers to specify charges to be added or modified in the rate plan. * Introduced chargeRemovals, enabling developers to specify charges to be removed from the bundle rate plan. ## CreateOrderUpdateProduct * Added support for chargeOverrides, allowing developers to specify charges to be added or modified in the rate plan. * Added support for chargeRemovals, enabling developers to specify charges to be removed from the bundle rate plan. ## CreatePaymentMethodDecryptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CreatePaymentMethodDecryptionResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## CreatePaymentPredebitNotifyResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CreatePaymentPredebitNotifyResponse class. * Introduced methods to manipulate the new fields: `processId`, `requestId`, `reasons`, and `success`. ## CreatePaymentRunRequest * Added a new field `advancedFilter` to the CreatePaymentRunRequest class, allowing for advanced filtering of invoices when `useCustomPaymentMethods` is enabled. ## CreatePaymentSchedulesResponse * Added new fields: `processId`, `requestId`, and `reasons` to the CreatePaymentSchedulesResponse class. ## CreateSequenceSetsResponse * Added new fields: `processId`, `requestId`, and `reasons` to the CreateSequenceSetsResponse class. ## CreateSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CreateSubscriptionResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## CreateUpdateStoredCredentialProfileResponse * Added new fields: `processId`, `requestId`, `reasons` to the CreateUpdateStoredCredentialProfileResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`, including methods to add and retrieve `reasons`. ## CreditMemosResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the CreditMemosResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## DecryptRSASignatureResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the DecryptRSASignatureResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. * Added validation for the new fields in JSON parsing. ## DeleteOrderAsyncResponse * Renamed `jobId` to `processId`. This change requires developers to update their code to use `processId` instead of `jobId`. * Added `requestId` field to uniquely identify requests. * Added `reasons` field to provide a list of reasons for failure, using the `FailedReason` class. ## DeleteSubscriptionResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failed reasons. ## ExpandedCommitment * Added new fields: `startDate`, `endDate`, `totalAmount`, `accountId`, `periodAlignmentOption`, `specificPeriodAlignmentDate`, `account`, `commitmentSchedules`, `commitmentAssociatedAccounts`, and `commitmentAssociatedItems`. * Introduced methods to manipulate new fields: `startDate`, `endDate`, `totalAmount`, `accountId`, `periodAlignmentOption`, `specificPeriodAlignmentDate`, `account`, `commitmentSchedules`, `commitmentAssociatedAccounts`, and `commitmentAssociatedItems`. * Added validation for new fields to ensure correct JSON data types. ## ExpandedCommitmentPeriod * Added new fields: `status`, `commitmentNumber`, `scheduleId`, `scheduleNumber`, `commitmentType`, `commitmentPriority`, `accountId`, `isProrated`, `billedTotalSpending`, `account`, and `commitmentTransactions`. * Introduced methods to handle new fields: `status`, `commitmentNumber`, `scheduleId`, `scheduleNumber`, `commitmentType`, `commitmentPriority`, `accountId`, `isProrated`, `billedTotalSpending`, `account`, and `commitmentTransactions`. ## ExpandedCreditMemoItem * Removed fields `invoiceSchedule` and `invoiceScheduleItem` from the ExpandedCreditMemoItem class. ## ExpandedInvoiceItem * Removed fields and associated methods for `invoiceSchedule` and `invoiceScheduleItem`. This change will require developers to update their code if they were using these fields. ## ExpandedPrepaidBalance * The ExpandedPrepaidBalance class has been removed entirely, which will break any code that relies on this class. ## ExpandedRatePlanCharge * Added new Boolean field `isUnbilled` to the ExpandedRatePlanCharge class. * Added new Boolean field `isAllocationEligible` to the ExpandedRatePlanCharge class. ## ExpandedSubscription * Added a new field `soldToContact` of type ExpandedContact to the ExpandedSubscription class. ## ExpandedValidityPeriodSummary * The class ExpandedValidityPeriodSummary has been removed, which will break any code relying on this class. ## GetAccountingCodeResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetAccountingCodeResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetAccountingCodesResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetAccountingCodesResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetAccountingPeriodResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetAccountingPeriodResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetAccountingPeriodsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetAccountingPeriodsResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetAsyncOrderJobResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetAsyncOrderJobResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. * Added validation for the new fields in JSON parsing. ## GetBillingDocumentFilesDeletionJobResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetBillingDocumentFilesDeletionJobResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. ## GetBillingPreviewRunResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetBillingPreviewRunResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetBulkPdfGenerationJobResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetBulkPdfGenerationJobResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetCalloutHistoryVOsType * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetCalloutHistoryVOsType class. * Introduced methods to manipulate the new fields: `processId`, `requestId`, `reasons`, and `success`. * Validation logic added for new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetCommitmentOutput * Removed the `associationRules` field and its associated methods from the GetCommitmentOutput class. ## GetCreditMemoItemPartsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetCreditMemoItemPartsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetCreditMemoPartsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetCreditMemoPartsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetCreditMemoPdfStatusBatchResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetCreditMemoPdfStatusBatchResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`, including adding items to the reasons list. ## GetCustomExchangeRatesType * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetCustomExchangeRatesType class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetDataLabelingJobResponse * Changed type of `progress` from GetDataLabelingJobResponseProgress to GetDataLabelingJobResponseAllOfProgress. * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetDataLabelingJobResponse class. ## GetDataLabelingJobResponseProgress * The entire class GetDataLabelingJobResponseProgress has been removed, which will cause compatibility issues for any code relying on this class. ## GetDebitMemoApplicationPartsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetDebitMemoApplicationPartsResponse class. * Introduced methods to manipulate the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetDebitMemoPdfStatusBatchResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetDebitMemoPdfStatusBatchResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. ## GetEmailHistoryVOsType * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetEmailHistoryVOsType class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetInvoiceApplicationPartsRequest * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetInvoiceApplicationPartsRequest class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetInvoicePdfStatusBatchResponse * Added `processId` and `requestId` fields to track the process and request identifiers. * Introduced `reasons` field to capture a list of failure reasons. ## GetJournalEntriesInJournalRunResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to GetJournalEntriesInJournalRunResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetJournalEntryDetailResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetJournalEntryDetailResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetJournalRunResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetJournalRunResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## GetMassUpdateResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetMassUpdateResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetPaymentItemPartResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetPaymentItemPartResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. ## GetPaymentItemPartsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetPaymentItemPartsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetPaymentPartResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetPaymentPartResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. * Added validation for the new fields in JSON parsing. ## GetPaymentPartsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetPaymentPartsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetPaymentRunDataArrayResponse * Added `processId` field to track the process handling the operation. * Added `requestId` field for unique request identification. * Added `reasons` field to capture failure reasons with validation for JSON structure. ## GetPaymentRunSummaryResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetPaymentRunSummaryResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetPaymentRunsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetPaymentRunsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetPaymentScheduleStatisticResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetPaymentScheduleStatisticResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetPaymentsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetPaymentsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetProductRatePlanResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetProductRatePlanResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetProductRatePlansByExternalIdResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetProductRatePlansByExternalIdResponse class. ## GetProductRatePlansByProductResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetProductRatePlansByProductResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetProductsResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetProductsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. * Added validation for the new fields in JSON parsing. ## GetRefundItemPartsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetRefundItemPartsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetRefundPartsResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetRefundPartsResponse class. ## GetRefundsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetRefundsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetSequenceSetsResponse * Added new fields: `processId`, `requestId`, and `reasons` to the GetSequenceSetsResponse class. ## GetSubscriptionRatePlan * Added new field `productRatePlanType` to the GetSubscriptionRatePlan model. * Added new field `originalRatePlanId` to the GetSubscriptionRatePlan model. ## GetSubscriptionRatePlanChargesWithAllSegments * Added new Boolean field `isLastSegment` to indicate if the charge segment is the last segment. * Added new Boolean field `optional` to indicate if the charge is optional in a bundle rate plan. * Introduced `StatusEnum` with possible values `removeDirectly` and `deleteWithRatePlan` to represent the status of the charge. ## GetSubscriptionsResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the GetSubscriptionsResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## GetTaxationItemsResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failure reasons using the `FailedReason` model. ## GetUsageRateDetailRequest * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failure reasons. ## GetUsagesByAccountResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failure reasons. ## HostedPagesResponse * Added new fields: `processId`, `requestId`, and `reasons` to the HostedPagesResponse class. ## InvoiceSchedule * Added a new field `organizationLabel` to the InvoiceSchedule class, allowing developers to set and retrieve an organization label associated with an invoice schedule. ## InvoiceScheduleItem * Added a new field `organizationLabel` to the InvoiceScheduleItem class, allowing developers to set and retrieve an organization label for invoice schedule items. ## InvoiceScheduleResponse * Added a new field `organizationLabel` to the InvoiceScheduleResponse class. ## OrderActionUpdateProduct * Added support for chargeRemovals, allowing developers to specify charges to be removed from the bundle rate plan. * Introduced chargeOverrides, enabling developers to add or modify charges in the rate plan. ## PaymentGatewaysResponse * Added new fields: `processId`, `requestId`, and `reasons` to the PaymentGatewaysResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. * Added validation for the new fields in JSON parsing. ## PaymentMethodUpdaterInstancesResponse * Added new fields: `processId`, `requestId`, and `reasons` to the PaymentMethodUpdaterInstancesResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## PaymentRun * Added `advancedFilter` field to the PaymentRun class, allowing for advanced filtering of invoices when `useCustomPaymentMethods` is enabled. ## PaymentRunResponse * Added a new field `advancedFilter` to the PaymentRunResponse class, which allows specifying an advanced filter for selecting invoices when `useCustomPaymentMethods` is enabled. ## PreviewOrderRatePlanUpdate * Added support for chargeOverrides, allowing developers to specify charges to be added or modified in the rate plan. * Introduced chargeRemovals, enabling developers to specify charges to be removed from the bundle rate plan. ## PreviewSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the PreviewSubscriptionResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## PutRevproAccCodeResponse * Added new fields: `processId`, `requestId`, and `reasons` to the PutRevproAccCodeResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`, including methods to add items to the reasons list. ## QueryDailyConsumptionSummarysResponse * The class QueryDailyConsumptionSummarysResponse has been removed entirely from the SDK. ## QueryInvoiceSchedulesResponse * The class QueryInvoiceSchedulesResponse has been removed, which will break any code relying on this class. ## QueryValidityPeriodSummarysResponse * The class QueryValidityPeriodSummarysResponse has been removed, which will break any code relying on this class. ## RSASignatureResponse * Added new fields: `processId`, `requestId`, and `reasons` to the RSASignatureResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`, including methods to add items to the reasons list. ## RatePlanChargeSegment * Added new Boolean field `isLastSegment` to indicate if the charge segment is the last segment. * Added new Boolean field `optional` to specify if a charge is optional in a bundle rate plan. * Introduced `StatusEnum` with possible values `removeDirectly` and `deleteWithRatePlan` to represent the status of the charge. ## RatePlanChargeSegmentInfo * Added new Boolean field `isLastSegment` to indicate if the charge segment is the last segment. * Added new Boolean field `optional` to specify if the charge is optional in a bundle rate plan. * Introduced `StatusEnum` with possible values `removeDirectly` and `deleteWithRatePlan` to represent the status of the charge. ## RatePlanUpdate * Added support for chargeRemovals, allowing developers to specify charges to be removed from the bundle rate plan. * Introduced chargeOverrides, enabling developers to add or modify charges in the rate plan. ## RegenerateRevRecEventsResponse * Added a new field `requestId` to uniquely identify requests. * Introduced a new field `reasons` which is a list of `FailedReason` objects to provide detailed failure reasons. ## RegenerateTransactionObjectResponse * Added `requestId` field to uniquely identify requests. * Added `reasons` field to provide detailed failure reasons. ## RenewSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the RenewSubscriptionResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## ResumeSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the ResumeSubscriptionResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. ## RetryPaymentScheduleItemResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failure reasons. ## StoredCredentialProfilesResponse * Added new fields: `processId`, `requestId`, and `reasons` to the StoredCredentialProfilesResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. ## SubmitDataLabelingJobResponse * Added new fields: `processId`, `requestId`, and `reasons` to the SubmitDataLabelingJobResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`, including methods to add and retrieve reasons. ## SubscriptionRatePlan * Added new field `productRatePlanType` to SubscriptionRatePlan. * Added new field `originalRatePlanId` to SubscriptionRatePlan. ## SuspendSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the SuspendSubscriptionResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## UpdatePaymentRunRequest * Added `advancedFilter` field to the UpdatePaymentRunRequest class, allowing for advanced filtering of invoices when `useCustomPaymentMethods` is enabled. ## UpdateSequenceSetResponse * Added new fields: `processId`, `requestId`, and `reasons` to the UpdateSequenceSetResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, and `reasons`. ## UpdateSubscriptionResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the UpdateSubscriptionResponse class. * Introduced validation for the new fields `processId`, `requestId`, and `reasons` in JSON parsing. ## UploadFileResponse * The field `fileId` has been moved and is no longer the first field in the class. This may affect code that relies on the order of fields. * The constructor and methods related to `fileId` have been moved, which may affect instantiation and method chaining. * Added new field `processId` with associated methods for handling process identification. * Added new field `requestId` with associated methods for handling request identification. * Added new field `reasons` with associated methods for handling failure reasons, including validation logic for JSON input. ## UploadUsageFileResponse * Added new fields: `processId`, `requestId`, `reasons`, and `success` to the UploadUsageFileResponse class. * Introduced methods to handle the new fields: `processId`, `requestId`, `reasons`, and `success`. * Added validation for the new fields in JSON parsing. ## UpsertCommitmentInput * Removed import of AssociationRule, which may affect any code relying on this import. ## UpsertCreateCommitmentInput * Removed the `associationRules` field and its associated methods, which may require developers to update their code if they were using this field. * Changed `periodAlignmentOption` from a required field to an optional field, which may affect validation logic in existing implementations. ## UpsertCreateCommitmentScheduleInput * Default value for `amountBase` set to `COMMITMENTPERIOD`. * Default value for `periodType` set to `MONTH`. ## VerifyPaymentMethodResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Introduced `reasons` field to capture a list of failure reasons. ## WriteOffInvoiceResponse * Added new field `processId` to track the process handling the operation. * Added new field `requestId` for unique request identification. * Added new field `reasons` to capture a list of failed reasons. ## sdk/ZuoraClient (Quickstart API client) * For all "Create Request" classes, such as OrderCreateRequest, made the following updates: * Changed the type of the `customFields` field from `HashMap` to `HashMap`. * Changed the type of the returned custom field values from `HashMap` to `HashMap`. Sample code (before this update): ```java HashMap customFields = new HashMap<>(); customFields.put("DateField__c", "2023-01-12"); customFields.put("PicklistField__c", "option1"); OrderCreateRequest createRequest = new OrderCreateRequest() .customFields(customFields) Order ret = zuoraClient.orders().createOrder(createRequest); Map cf = ret.getCustomFields(); ``` Sample code (after this update): ```java HashMap customFields = new HashMap<>(); customFields.put("IntegerField__c", 123); customFields.put("NumberField__c", 123.321); customFields.put("BooleanField__c", true); customFields.put("DateField__c", "2023-01-12"); customFields.put("PicklistField__c", "option1"); OrderCreateRequest createRequest = new OrderCreateRequest() .customFields(customFields) Order ret = zuoraClient.orders().createOrder(createRequest); Map cf = ret.getCustomFields(); ```