How to specify delete in the Update API

I’m trying to delete a PartSub. I have traced the DMT and found that it calls PartImpl.Update. I’m trying to duplicate this in the API explorer (api/help/v1/methods/Erp.BO.PartSvc/index#!/Custom_methods/Update) but I’m running into difficulty. I tried providing { "parameters": { "ds": { "Part": ... , "PartSubs": ... } } } per what the example showed, but it complained about “ds” not being present:

{
  "HttpStatus": 400,
  "ReasonPhrase": "REST API Exception",
  "ErrorMessage": "Parameter ds is not found in the input object",
  "ErrorType": "Epicor.RESTApi.ErrorHandling.ApiException"
}

In the second example it shows { "ds": { "Part": ... , "PartSubs": ... } } where the outer parameter wrapper is missing, and this doesn’t produce any errors, but it also doesn’t do anything. Looking at the log file from the DMT trace, it appears that I need another object at the same level as “parameters”, as I see this XML:

  <paramDataSetChanges>
    <paramDataSet name="ds" useDataSetNbr="0">
      <deletedRow tableName="PartSubs" rowState="Deleted" rowNum="0" />
    </paramDataSet>
  </paramDataSetChanges>

How do I translate this into the REST API call so it deletes?

Addendum:
I also see this when trying to add PartSubs… I see both PartImpl.ChangePartSubsPartNum and PartImpl.Update where there is a <paramDataSetChanges> tag which indicates what is changing, but the REST API doesn’t seem to admit such a thing in the data being passed.

Is there a DeleteByID method? That may be simpler.