…HTTP is a high level application protocol and its errors are supposed to be around access to resources…
I’ve had fellow developers fight me on this point, in much the same way as your parent post.
“If you return a 404 for a record not found, how will I know I have the right endpoint?”
You’ll know you have the right endpoint because I advertised it—in Open API, in docs, etc.
“But, if /users/123
returns a 404, does that mean that the endpoint can’t be found or the record can’t be found?”
Doesn’t matter. That resource doesn’t exist. So, act appropriately.
Bingo!