Error Format
Most JSON routes use the same error envelope:
{
"error": "Unauthorized",
"code": "unauthorized"
}Known error codes visible in the shared API error helpers include:
unauthorizedforbiddeninvalid_requestuser_not_founduser_not_studentuser_not_employercompany_not_foundcompany_already_existsnot_in_companyjob_not_foundjob_deletedjob_limit_reachedapplication_not_foundreview_not_foundeducation_level_not_foundregion_not_foundjob_type_not_foundinvalid_image_uploadimage_too_largeinternal_server_error
POST /api/jobs/{id}/apply is the exception in this docs set: it redirects instead of returning a JSON error body.