Start here. This is the direct spoken answer to practice first.
Why this question matters
Error responses are part of the security surface. They need to help legitimate clients without helping attackers map private data.
I would return consistent, structured errors with safe messages. Validation errors can explain which submitted fields are invalid. Authentication failures should be generic enough to avoid revealing whether an account exists or why a token failed. Server errors should not return stack traces, SQL details, secrets, or internal exception messages.