Starting Management API version 1.6.1, you can use API call show logs and filter for date and Operation field for value Publish and get the Session ID from there. After that, use the API call revert-to-revision which was introduced in API version 1.6 to revert to that specific session.
# Query logs for operator Publish
# mgmt_cli -r true show logs new-query.type "audit" new-query.time-frame "yesterday" new-query.filter "operation:\"Publish\"" --format json | jq '.logs[] | { "Time": .time, "Publisher": .administrator, "Changes": .fieldschanges, "Session UID": .session_uid }'
# What are those changes for the Session UID
# mgmt_cli -r true show logs new-query.type "audit" new-query.time-frame "yesterday" new-query.filter "4a052f08-b4fa-44af-bd85-c273b7c18425" --format json | jq '.logs[] | {"Time": .time, "Subject":.subject, "Type": .objecttype, "Object": .objectname, "Operation": .operation, "Changes": .fieldschanges, "Description": .calc_desc}'
# Revert database to Session UID
# mgmt_cli -r true revert-to-revision to-session "29c3c03e-ae9d-4878-a02c-d16075219bf5" --format json
This will revert the database to the revision.
Kind regards,
Arturas Zalenekas