title: HTTP status code for "no data available" from an external datasource
body: <p><strong>Scenario:</strong></p>
  
  <p>A <code>POST</code> request is sent to process an order that will result in data retrieval from an external datasource.</p>
  
  <p>There are three possible results:</p>
  
  <ol>
  <li>The datasource returned data for the request</li>
  <li>No data was available for the request (this is viewed as an error)</li>
  <li>The datasource couldn't be accessed (may be down for maintenance)</li>
  </ol>
  
  <p>An obvious response for <em>1</em> is <code>200: OK</code> or <code>201: Created</code> (an entity is created from this request).</p>
  
  <p>What status codes would be appropriate for <em>2</em> and <em>3</em>?</p>
  
  <p>Status codes I have considered:</p>
  
  <ul>
  <li><code>503: Service Unavailable</code> when datasource is down</li>
  <li><code>500: Internal Server Error</code> when datasource is down</li>
  <li><code>502: Bad Gateway</code> when "no data available"</li>
  <li><code>404: Not Found</code> when "no data available"</li>
  <li><code>403: Forbidden</code> when "no data available"</li>
  <li><code>412: Precondition Failed</code> when "no data available"</li>
  </ul>