diff --git src/wp-includes/rest-api.php src/wp-includes/rest-api.php
index 870bc6443c..fe111c92e6 100644
--- src/wp-includes/rest-api.php
+++ src/wp-includes/rest-api.php
@@ -1908,6 +1908,7 @@ function rest_get_allowed_schema_keywords() {
 		'uniqueItems',
 		'anyOf',
 		'oneOf',
+		'const',
 	);
 }
 
@@ -2160,6 +2161,13 @@ function rest_validate_value_from_schema( $value, $args, $param = '' ) {
 		}
 	}
 
+	if ( ! empty( $args['const'] ) ) {
+		if ( $value !== $args['const'] ) {
+			/* translators: 1: Parameter, 2: The valid value. */
+			return new WP_Error( 'rest_invalid_param', sprintf( __( '%1$s is not const %2$s.' ), $param, $args['const'] ) );
+		}
+	}
+
 	if ( in_array( $args['type'], array( 'integer', 'number' ), true ) ) {
 		if ( ! is_numeric( $value ) ) {
 			return new WP_Error(
diff --git tests/phpunit/tests/rest-api/rest-schema-validation.php tests/phpunit/tests/rest-api/rest-schema-validation.php
index f33990ae59..c9cf4be7ed 100644
--- tests/phpunit/tests/rest-api/rest-schema-validation.php
+++ tests/phpunit/tests/rest-api/rest-schema-validation.php
@@ -62,6 +62,32 @@ class WP_Test_REST_Schema_Validation extends WP_UnitTestCase {
 		$this->assertWPError( rest_validate_value_from_schema( 1123, $schema ) );
 	}
 
+	/**
+	 * @ticket 51757
+	 */
+	public function test_const() {
+		$schema  = array(
+			'type'  => 'string',
+			'const' => 'ananas',
+		);
+		$valid   = 'ananas';
+		$invalid = 'pineapple';
+
+		$this->assertTrue( rest_validate_value_from_schema( $valid, $schema ) );
+		$this->assertWPError( rest_validate_value_from_schema( $invalid, $schema ) );
+
+		// By definition, const is functionally equivalent to an enum with a single value.
+		// However, they produce different error messages, so the invalid isn't tested.
+		$enum_schema = array(
+			'type'  => 'string',
+			'enum' => array( 'ananas' ),
+		);
+		$this->assertSame(
+			rest_validate_value_from_schema( $valid, $schema ),
+			rest_validate_value_from_schema( $valid, $enum_schema )
+		);
+	}
+
 	public function test_format_email() {
 		$schema = array(
 			'type'   => 'string',
