If you are doing GET
requests on this resource, and at some points there is no data available and others there is, I don't think 202
or 204
is right.
202
really means that the request has been received and may be processed successfully later, and 204
can be interpreted as 'the request was successful but there's no response bodyor
don't change the UI state` if you're building more of a hypertext-style application.
In your description, it sounds more like you're doing a GET request to retrieve the current state, but it's not always available. It's hard to know based on your question why that might be the case, but to me it sounds like you don't want to communicate the state of the resource is actually empty, but more-so that technical issues prevent you from returning the true state back to the user.
It also sounds like there was nothing wrong with the actual request, so this makes 4xx responses inappropriate.
This to me makes me feel that a more appropriate response is 503 or 502. In either case it suggests that the service is temporarily incapable of returning a response, but in either case it might tell a client that it could try again later to see if things improved. 503
in particular has a Retry-After
header, indicating to the client that it should try again after a specified amount of time.