I'm new to this - so forgive me if this is a silly suggestion;
Instead of a PUT just to update the existing config attributes, can you also use PUT to create a new config set?
Then use a PUT to make that the new config current ( a 'committ')
Maybe define a GET to retrieve past, current, and new config sets that have been PUT? (So you can rollback to one of them)
If this is silly - please let me know why.