title: REST - PUT (updating) resource state
body: <p>I've been pondering this for a while now but can't wrap it around my head.
  Say I have a tasking system exposed through REST. Tasks have their own life cycle e.g.: </p>
  
  <pre><code>CREATED -&gt; ACTIVE   -&gt;  PROCESSING -&gt; CLOSED
     |          |               |
     |          |--&gt;ESCALATED--&gt;|
     |
      --&gt; DISMISSED
  </code></pre>
  
  <p>Now with <strong>POST</strong> I create the task by providing all the information in the body payload.</p>
  
  <p>But now I only need to change the state of the task and maybe add a comment. So in all theory <strong>PUT</strong> is the way to go - it is updating a resource. But here is the thing:</p>
  
  <p><strong>PUT:</strong> <em>/tasks/{taskId}?action=activate</em>
  Seems legit URI however the action already has a request param that can be used to change the state of a resource - what about the <strong>PUT</strong> payload ? Is it intuitive for the user of this endpoint to send requests with 0 length message ?</p>
  
  <p>UPDATE:</p>
  
  <p>Sorry for my bad English as well. What I mean - is it a good practice to change the state of a resource by <strong>PUT</strong> request <strong>ONLY</strong> using URI parameter, without BODY (Content-Lenght:0) hence the URI: /tasks/32/<strong>?action=CLOSED</strong> to change "Task" state from <strong>PROCESSING</strong> to <strong>CLOSED</strong>.</p>
  
  <p>If this is a bad practice approach - what approach is considered better practice ?</p>