The company ID is just to properly build out the request URL and works the same on GET requests without issue. I understand the idea of passing a unique identifier other than the eTag but unfortunately there is no other ID / GUID for the record. Here is an example of the Job Tasks response:
{
"@odata.etag": "W/\"JzQ0O3JaQjNzZFo0eGUyVVppV1lBdFg1QUpIOTRmS2g2NUE1UVlHYm82LzJ3czg9MTswMDsn\"",
"Job_No": "J00001",
"Job_Task_No": "010.00",
"Predecessor": "",
"Description": "Receive Permit Deposit",
"Description_2": "Permitting - Yes",
"Duration": "1D",
"Job_Completed": false,
"Global_Dimension_3_Code": "",
"Job_Task_Type": "Posting",
"Totaling": "",
"Job_Posting_Group": "JOBS",
"WIP_Total": "Total",
"WIP_Method": "COST VALUE",
"Start_Date": "2021-06-02",
"End_Date": "2021-06-02",
"Schedule_Total_Cost": 41.6,
"Schedule_Total_Price": 0,
"Usage_Total_Cost": 0,
"Usage_Total_Price": 0,
"Contract_Total_Cost": 41.6,
"Contract_Total_Price": 0,
"Contract_Invoiced_Cost": 0,
"Contract_Invoiced_Price": 0,
"Remaining_Total_Cost": 41.6,
"Remaining_Total_Price": 0,
"EAC_Total_Cost": 41.6,
"EAC_Total_Price": 0,
"Global_Dimension_1_Code": "FINANCE",
"Global_Dimension_2_Code": "",
"Outstanding_Orders": 0,
"Amt_Rcd_Not_Invoiced": 0,
"Planning_Date_Filter": "",
"Posting_Date_Filter": ""
}
I have also tried leaving the If-Match value in the header to * and instead using oData filter to select the record by the eTag but receive the same 405 response.