Skip to content

Error catalog

HTTP-facing errors use { code, message, data? } inside Nest's response shape. With SdI18nExceptionFilter, message and validation issue messages are translated from the built-in English/Vietnamese catalogs plus application overrides.

CodeTypical statusMeaning
core.validation.failed400One or more Zod sources failed
core.validation.uuid400Invalid UUID preset
core.validation.page-number.min400Page number is below zero
core.validation.page-size.min400Page size is below one
core.validation.page-size.max400Page size exceeds 200
core.permission.forbidden403Required permission is absent
core.permission.internal-secret-missing403Internal secret header is missing
core.permission.internal-secret-mismatch403Internal secret does not match any active key
core.permission.internal-secret-provider-missing500Internal guard has no secret provider
core.context.verified-principal-missing401A verified principal is required
core.context.verified-principal-invalid401Principal mapping did not yield trusted identity
core.context.identity-conflict401JWT and trusted-gateway identity conflict
core.repository.invalid-uuid400Repository mutation/detail ID is invalid
core.repository.invalid-field-name400Filter field syntax is unsafe
core.repository.invalid-sort-field400Sort field syntax is unsafe
core.repository.column-not-found400Resolved entity column does not exist
core.repository.relation-not-found400Requested relation does not exist
core.repository.relation-not-found-in400Nested relation is invalid
core.repository.column-not-found-in400Nested relation column is invalid
core.repository.not-found404Scoped mutation/resource did not match exactly
core.file.empty400Multipart controller received no file
core.file.invalid-meta400Upload metadata failed bounds/type validation
core.file.invalid-upload400Size, MIME, extension, signature, or name validation failed
core.file.upload-failed400Persistence/storage/activation failed without leaking internals
core.file.not-found404Missing, malformed, unauthorized, or cross-scope file
core.file.remote-disabled400Remote clone is not explicitly enabled
core.file.remote-fetch-failed400Hardened remote fetch rejected or failed
core.file.temporary-cleanup-required400Temporary uploads lack positive cleanup retention
core.file.delete-failed400Object deletion remains durably pending
core.file.cleanup-failed400Maintenance purge did not finish
core.history.not-found404History read is missing or unauthorized
core.cache.invalid-redis-key-prefixstartupRedis prefix is blank or contains glob metacharacters

Typed operational errors

Some fail-closed conditions are typed errors rather than localized HTTP codes: tenancy errors (MissingTenancyContextError, MissingTenancyScopeError, InvalidTenancyScopeError, TenancyScopeMutationError, UnauthorizedTenancyBypassError), transaction misuse (InactiveMutationTransactionError), job identity/timing/lease errors, history scope/snapshot-limit errors, and invalid Redis prefix. Convert them at an application boundary only when you can preserve the non-enumerating security semantics.

Released under the MIT License.