REST API Raising a credit with a price

I can raise a credit with the REST API using /RMACreditAdd
The credit isn’t linked to an order.

“This method creates an RMA Credit record from the RMA Number and Line passed in.
The RMA Credit is stored in the InvcHead and InvcDtl tables. Once the invoice is
created, the user has the option of updating the header and invoice line information.
It is expected that the A/R Invoice business object will be called to handle
the update of the header and/or line.”

https://server01.mycompany.com/EpicorERPTest/api/v1/Erp.BO.RMAProcSvc/RMACreditAdd

{
“iRMANum”: 21,
“iRMALine”: 3,
“iCorrection”: false,
“ds”: {
“SerialNumberSearch”: [],
“InvcDtl”: [],
“LegalNumGenOpts”: [],
“RMADtl”: [],
“RMADtlAttch”: [],
“RMAHead”: [],
“RMAHeadAttch”: [],
“RMARcpt”: [],
“SelectedSerialNumbers”: [],
“SNFormat”: []
}
}

I’ve tried updating the price using Erp.BO.ARInvoiceSvc/Update but get the message back.
Row has been modified by another user and couldn’t be updated. Does anyone have any examples on how to send or update the price on a credit note ?

I’ve been looking at the tracelog when editing the invoice price in Epicor ERP directly and it seems to be calling /UpdateMaster on Erp.BO.ARInvoiceSvc. When I try and replicate this in swagger I am getting 200 response, internal server error and nothing updates.

    {
  "ds": {
    "InvcHead": [],
    "CentralCollectionPayment": [],
    "InvcDtl": [{
"Company":"UK",
"UnitPrice":"3.00000",
"DocUnitPrice":"3.00000",
"DocDspUnitPrice":"3.00000",
"DspDocExtPrice":"3.00",
"DspDocLineTotal":"3.000",
"DspExtPrice":"3.00",
"DspLineTotal":"3.000",
"DspUnitPrice":"3.00000",
"RowMod":"U",
"LineType":"PART"
}],
    "InvcDtlAttch": [],
    "InvcChrg": [],
    "InvcDeferredRev": [],
    "InvcDtlRASch": [],
    "InvcMisc": [],
    "InvcTax": [],
    "InvcDtlTGLC": [],
    "InvcSched": [],
    "MXInvcHeadFiscalText": [],
    "MXInvcRef": [],
    "HedTaxSum": [],
    "LegalNumGenOpts": [],
    "TaxConnectStatus": [
{
"ETCOffline":true,
"RowMod":"U"
}],
    "ExtensionTables": []
  },
  "cGroupID": "RMACRREQ",
  "cTableName": "InvcDtl",
  "runCheckAmortSched": false,
  "runChkLtrOfCredit": false,
  "genAmortSched": false,
  "lRASchedExists": false,
  "ipInvoiceNum": 10061,
  "ipInvoiceLine": 25,
  "cARLOCID": "",
  "suppressUserPrompts": false,
  "dTotalCharges": "-868.000",
  "lGetDefaultAccount": false,
"grpTotalInvAmt":"0",
"opGenMessage": "",
"opLtrCrdMsg": "",
"lUpdateRan": false
}

Could also be OnChangeofLineUnitPrice

https://server.company.com/epicorerptest/api/v1/Erp.BO.ARInvoiceSvc/OnChangeofLineUnitPrice
{
“InvoiceNum”:100061,
“InvoiceLine”: 25,
“NewUnitPrice”:40.00,
“ds”: {
“InvcDtl”: [{
“RowMod”:“U”,
“UD_SysRevID”:“MHgwMDAwMDAwMDE0Rjk3Qjc5”
}],
}
}

{
“HttpStatus”: 400,
“ReasonPhrase”: “REST API Exception”,
“ErrorMessage”: “InvcDtl not found.”,
“ErrorType”: “Ice.BLException”,
“ErrorDetails”: [
{
“Message”: “InvcDtl not found.”,
“Type”: “Error”,
“Table”: “ttInvcDtl”,
“Field”: “RowMod”,
“Program”: “Erp.Services.BO.ARInvoice.dll”,
“Method”: “OnChangeofLineUnitPrice”,
“ColumnNumber”: 17,
“LineNumber”: 23948
}
],
“CorrelationId”: "fa4bd979-6fb2