Let's say that we have the following REST call:
GET api/companies/5
(get company with id 5)
If company '5' doesn't exist, we would typically return a 404 Not Found
response.
But now, let's take this call:
GET api/companies/5/invoices/10
(get invoice 10 from company 5)
Now, if company '5' doesn't exist, do we still return a 404 Not Found
? Or should a 404 only be returned if the outer most resource can not be found (invoice 10, in this case).
Would Bad Request
perhaps be a better option?