I'm trying to update a DiscountRule, but I'm getting an invalid patch error

I’m having trouble with
I’m trying to update a Discount Rule on a control panel page, with the goal of changing the scope of one catalog to another (SPI/Wix Stores), but I’m getting an error: “Invalid patch in the discounts.values field.”

Working in
Wix Editor, Dev Mode, Wix Ecommerce (wix-ecom/Velo)

Error

Code

// backend
import { Permissions, webMethod } from "wix-web-module";
import {discountRules} from 'wix-ecom-backend';
import { elevate } from "wix-auth";
const elevatedUpdateDiscountRule = elevate(discountRules.updateDiscountRule);
export const updateDiscountRule = webMethod(
    Permissions.Anyone,
    async (id, discountRule) => {
        try {
            const result = await elevatedUpdateDiscountRule(
                id,
                discountRule
            );
            return result;
        } catch (error) {
            console.error(error);
        }
    },
);

// page code
[...]
import { updateDiscountRule } from...

let valueDiscountAmount;
let valueDiscountType;
let valueCatalogAppId;
let valueRevisionCurrent;
let valueDiscountName;

$w.onReady(async function () {   
    const _id = session.getItem("discountId"); 
    const discount = await getDiscountRule(_id);
    const catalogAppId = discount.discounts.values[0].specificItemsInfo.scopes[0].catalogItemFilter.catalogAppId;
    [...]
    $w('#dropdown4').value = catalogAppId == '215238eb-22a5-4c36-9e7b-e7c08025e04e' ? 'ALL PRODUCTS' : 'CUSTOMCATALOGAPP';
    valueDiscountType = discount.discounts.values[0].discountType;
    valueRevisionCurrent = discount.revision;
    valueDiscountName = discount.name;
    if (valueDiscountType === "PERCENTAGE") {
        valueDiscountAmount = discount.discounts.values[0].percentage;
    }
    if (valueDiscountType === "FIXED_PRICE") {
        valueDiscountAmount = discount.discounts.values[0].fixedPrice;
    }
    if (valueDiscountType === "FIXED_AMOUNT") {
        valueDiscountAmount = discount.discounts.values[0].fixedAmount;
    }
    $w('#mainActionButton').onClick(async () => {
        updateCurrent(_id);
    });
[...]
});
function updateCurrentDiscount(id) {
[...]
valueCatalogAppId = $w('#dashboardInput3').value;
    const scopeIdDiscountCurrent = valueCatalogAppId == '215238eb-22a5-4c36-9e7b-e7c08025e04e' ? `all_${valueCatalogAppId}` :  `specific_${valueCatalogAppId}`;
        const discountRule = {
          name: valueDiscountName,
          revision: valueRevisionCurrent
          discounts: {
              values: [{
                  discountType: valueDiscountType
                  ...(valueDiscountType === "PERCENTAGE" && { percentage: Number(valueDiscountAmount) }),
                  ...(valueDiscountType === "FIXED_AMOUNT" && { fixedAmount: String(valueDiscountAmount) }),
                  ...(valueDiscountType === "FIXED_PRICE" && { fixedPrice: String(valueDiscountAmount) }),
                  targetType: "SPECIFIC_ITEMS",
                  specificItemsInfo: {
                      scopes: [{
                          type: "CATALOG_ITEM",
                          _id: scopeIdDiscountCurrent,
                          catalogItemFilter: {
                              catalogAppId: valueCatalogAppId,
                              catalogItemIds: []
                          }
                      }]
                  }
              }]
          }
      };
     const response = await updateDiscountRule(id, discountRule);
     console.log(response);
}