---
title: "value. diagnostics"
description: "Owner: the catalog spec (defs/catalog.ts). The status is the code's own; the exit comes from its category (CATEGORIES). A warning or info code never sets the status or the exit."
order: 48
---

# `value.*` diagnostics

Owner: the catalog spec (`defs/catalog.ts`). The status is the code's own; the exit comes from its category (`CATEGORIES`). A warning or info code never sets the status or the exit.

| Code | Category | Severity | Status | Exit | Retry | Fix | Args |
|---|---|---|---|---|---|---|---|
| <a id="value.currency_mismatch"></a>`value.currency_mismatch` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.currency_missing"></a>`value.currency_missing` | type | error | 400 | 2 | no | — | `prop` |
| <a id="value.currency_source_invalid"></a>`value.currency_source_invalid` | type | error | 400 | 2 | no | — | `prop`, `fromProp` |
| <a id="value.currency_unknown"></a>`value.currency_unknown` | type | error | 400 | 2 | no | — | `prop`, `code` |
| <a id="value.date_invalid"></a>`value.date_invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.dst_gap"></a>`value.dst_gap` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected`, `before`, `after` |
| <a id="value.email_invalid"></a>`value.email_invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.enum_code_duplicate"></a>`value.enum_code_duplicate` | schema | error | 400 | 2 | no | — | `prop`, `code` |
| <a id="value.enum_domain_unknown"></a>`value.enum_domain_unknown` | reference | error | 400 | 2 | no | yes | `prop`, `enum`, `near` |
| <a id="value.enum_empty"></a>`value.enum_empty` | schema | error | 400 | 2 | no | — | `prop` |
| <a id="value.enum_unknown"></a>`value.enum_unknown` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.file_unknown"></a>`value.file_unknown` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.instant_needs_time"></a>`value.instant_needs_time` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.invalid"></a>`value.invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.json_shape"></a>`value.json_shape` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.json_shape_invalid"></a>`value.json_shape_invalid` | schema | error | 400 | 2 | no | — | `prop`, `path`, `why` |
| <a id="value.json_untyped"></a>`value.json_untyped` | type | warning | — | 2 | no | — | `prop` |
| <a id="value.not_integer"></a>`value.not_integer` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.out_of_range"></a>`value.out_of_range` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.phone_invalid"></a>`value.phone_invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.required"></a>`value.required` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.scale_exceeded"></a>`value.scale_exceeded` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.scale_out_of_range"></a>`value.scale_out_of_range` | type | error | 400 | 2 | no | — | `prop`, `scale` |
| <a id="value.set_duplicate"></a>`value.set_duplicate` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.text_invalid"></a>`value.text_invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `char` |
| <a id="value.time_invalid"></a>`value.time_invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.too_long"></a>`value.too_long` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
| <a id="value.unit_unknown"></a>`value.unit_unknown` | type | error | 400 | 2 | no | yes | `prop?`, `unit`, `near` |
| <a id="value.url_invalid"></a>`value.url_invalid` | input | error | 400 | 2 | no | — | `prop`, `got`, `expected` |
