Skip to main content
The const keyword restricts an instance to a single, specific value.

Syntax

The value of const may be of any type, including null.
{
  "const": value
}

Validation Rules

An instance validates successfully if its value is equal to the value specified in the const keyword. Equality is determined using the rules defined in the JSON Schema Core specification.

Relationship to enum

Using const is functionally equivalent to using enum with a single-element array:
{"const": "value"}
is equivalent to:
{"enum": ["value"]}

Examples

String Constant

{
  "const": "United States"
}
Valid instance:
"United States"
Invalid instances:
"united states"
"USA"
"US"

Numeric Constant

{
  "const": 42
}
Valid instance:
42
Invalid instances:
"42"
42.0
43

Boolean Constant

{
  "const": true
}
Valid instance:
true
Invalid instances:
false
"true"
1

Null Constant

{
  "const": null
}
Valid instance:
null
Invalid instances:
""
0
false

Object Constant

{
  "const": {
    "version": "1.0.0",
    "protocol": "https"
  }
}
Valid instance:
{
  "version": "1.0.0",
  "protocol": "https"
}
Invalid instances:
{"version": "1.0.0"}
{"version": "1.0.0", "protocol": "https", "extra": true}

Array Constant

{
  "const": [1, 2, 3]
}
Valid instance:
[1, 2, 3]
Invalid instances:
[1, 2]
[1, 2, 3, 4]
[3, 2, 1]

API Version

{
  "type": "object",
  "properties": {
    "apiVersion": {
      "const": "v2"
    },
    "data": {
      "type": "object"
    }
  },
  "required": ["apiVersion"]
}
This ensures all instances must use API version “v2”.

Use Cases

  • Enforcing specific API versions
  • Requiring exact configuration values
  • Discriminating between schema variants
  • Defining literal values in conditional schemas
  • Ensuring backwards compatibility by requiring specific field values

Build docs developers (and LLMs) love