I am designing an API for survey delivery. Every once in a while, a client will poll the survey and check if there is a survey available for that user.
If the survey exists, I will return it (200 OK).
But if there is no survey scheduled at the moment, is returning a 404 appropriate?
It is true that the resource doesn't exist, but at the same time, 404 is "client error", and it feels wrong to return it, since no error has occurred. The response is meant to say "No survey at the moment. Check again later". What would be an appropriate response code?