adds atomic profile update function

Yes, I added request because I don't know the old-school http-only way of sending a POST with a JSON body :-P
If you expect a POST here, then it'd be best to verify that you're actually getting a POST.