title: How to make multiple REST requests transactional/atomic?
body: <p>I have a following situation.<br>
  I have a REST client, that acts as a facade towards 3 other REST clients. (I'm programming in Java, using Spring Boot)</p>
  
  <p>One of the responsibilites of the client includes doing CRUD operations on users.<br>
  Now, all 3 other systems which expose their own REST APIs have some sort of user management.</p>
  
  <p>When I receive a request to, for example, create user, I have to create them on those 3 systems via their REST APIs and persist in my database.</p>
  
  <p>Now, in best case scenario, I just call their APIs, insert the user in my DB and everything is great.</p>
  
  <p>However, consider the scenario where the creation of users suceeds on only 1 external service. Do I retry the operation on all others? Do I try to delete the user on ones it suceeded?</p>
  
  <p>What is the correct way to do this?</p>