The API enforces the same business rules as the application’s user interface, therefore you would have to reopen a timesheet before making changes to it. You can use the API to reopen and then modify a timesheet. Here's the coding that needs to be done on the API to modify a timesheet that has already been submitted and approved:

[
{
"Action": "Edit",
"Type": "Replicon.TimeSheet.Domain.Timesheet",
"Identity": "125",
"Operations":[
{
"__operation": "Reopen",
"Comment": "Gotta make a fix."
}
] }
]