# Common Helper: BusinessException Domain exception type with catalog of business error codes (`ExceptionEnum`). ## Error Codes | Code | Value | Message | |------|-------|---------| | NoEmailFound | 10 | No such email found | | EmailExists | 20 | Email already exists | | WrongPassword | 30 | Passwords do not match | | PasswordLengthIncorrect | 32 | Password should be at least 12 characters (validator threshold is 12 in `RegisterUserValidator`; the description text on the enum still reads "12 characters") | | EmailLengthIncorrect | 35 | Email is empty or invalid | | WrongEmail | 37 | (no description) | | UserDisabled | 38 | User account is disabled | | NoFileProvided | 60 | No file provided | > **Retired numeric codes — DO NOT REUSE**: > - `40` (HardwareIdMismatch) and `45` (BadHardware) — removed by AZ-197 (cycle 1, 2026-05-13). Older clients may still surface "Hardware mismatch" UX strings keyed on these integers. > - `50` (WrongResourceName) — removed in cycle 2 (2026-05-14) along with the `GetResourceRequest` validator (its only consumer) and the `POST /resources/get/{dataFolder?}` endpoint. ## Consumers | Component | Usage | |-----------|-------| | User Management | Throws for auth/validation errors | | Resource Management | Throws for missing files | | Admin API | BusinessExceptionHandler catches and serializes | | Request Validators | Reference error codes in `.WithErrorCode()` |