title: Rest philosophy for updating and getting records
body: <p>In my app I'm displaying <strong>Race</strong> objects that essentially have three states: <strong>pending</strong>, <strong>inProgress</strong> and <strong>completed</strong>. I want to display all <strong>Races</strong> that are currently <strong>pending</strong> or <strong>inProgress</strong>, but not the ones that are <strong>completed</strong>. To do this, I want to create a RESTful API for getting these resources from my server, but I'm not sure what the best (i.e. most RESTful) approach would be.</p>
  
  <p>The issue is that when someone opens or refreshes the app, I need to two things:</p>
  
  <ol>
  <li>Perform a GET on all the <strong>Races</strong> that are currently displayed in the client to update their status.</li>
  <li>GET all of the new <strong>pending</strong> or <strong>inProgress Races</strong> that have been created since the client last updated</li>
  </ol>
  
  <p>I've come up with a few different solutions, though I don't know which, if any, would be best:</p>
  
  <ol>
  <li>Simply delete the old <strong>Race</strong> records on the client and always GET all new records</li>
  <li>Perform 2 separate GET operations, the first which updates all the old records, and the second where I GET all the new <strong>pending</strong> / <strong>inProgress Races</strong></li>
  <li>Perform a single GET operation where I specify the <strong>created</strong> date of the last client record, and GET all records that are newer.</li>
  </ol>
  
  <p>To me, this seems like a pretty common scenario but I haven't been able to find a specific answer to this type of problem. I'd like to see what SO thinks :)</p>
  
  <p>Thanks in advance for your help!</p>