title: Consequences of POST not being idempotent (RESTful API)
body: <p>I am wondering if my current approach makes sense or if there is a better way to do it.</p>
  <p>I have multiple situations where I want to create new objects and let the server assign an ID to those objects. Sending a POST request appears to be the most appropriate way to do that.
  However since POST is not idempotent the request may get lost and sending it again may create a second object. Also requests being lost might be quite common since the API is often accessed through mobile networks.</p>
  <p>As a result I decided to split the whole thing into a two-step process:</p>
  <ol>
  <li><p>First sending a POST request to create a new object which returns the URI of the new object in the Location header.</p>
  </li>
  <li><p>Secondly performing an idempotent PUT request to the supplied Location to populate the new object with data. If a new object is not populated within 24 hours the server may delete it through some kind of batch job.</p>
  </li>
  </ol>
  <p>Does that sound reasonable or is there a better approach?</p>