If you're on MAS, this was something that was enhanced in the framework. I can't remember if it was added in 8.11 or 9.0 but a new non-persistent attribute (STATUSIFACEDATE) was added to various objects that can be provided to control the date. This is the approach I'd recommend using if you're able.
On earlier versions you can create an OSIN automation script that implements the changeStatus event (IBM Maximo Autoscripting Guide – Object structure scripting).
Or you can use the webmethods that have been implemented to enable backdating. For example, WO has a webmethod that you can use to change the status. You'll need to get the HREF of the record and make a POST request like:
/maximo/oslc/os/mxapiwodetail/_QkVERk9SRC8xMDAx?action=wsmethod:changeStatus
With a body of date, memo, and status like:
{status: "WMATL", date: "2025-07-01T14:14:17-04:00", memo: ""}
------------------------------
Steven Shull
Naviam
------------------------------