diff --git a/src/wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php b/src/wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php
index 47491e7774..1eb7d468d7 100644
--- a/src/wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php
+++ b/src/wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php
@@ -111,15 +111,21 @@ class WP_REST_Themes_Controller extends WP_REST_Controller {
 			$formats                           = array_merge( array( 'standard' ), $formats );
 			$data['theme_supports']['formats'] = $formats;
 
-			$data['theme_supports']['post-thumbnails']   = false;
-			$data['theme_supports']['responsive-embeds'] = (bool) get_theme_support( 'responsive-embeds' );
-			$post_thumbnails                             = get_theme_support( 'post-thumbnails' );
+			$data['theme_supports']['post-thumbnails']      = false;
+			$data['theme_supports']['responsive-embeds']    = (bool) get_theme_support( 'responsive-embeds' );
+			$data['theme_supports']['editor-color-palette'] = false;
+			$post_thumbnails                                = get_theme_support( 'post-thumbnails' );
+			$editor_color_palette                           = get_theme_support( 'editor-color-palette' );
 
 			if ( $post_thumbnails ) {
 				// $post_thumbnails can contain a nested array of post types.
 				// e.g. array( array( 'post', 'page' ) ).
 				$data['theme_supports']['post-thumbnails'] = is_array( $post_thumbnails ) ? $post_thumbnails[0] : true;
 			}
+
+			if ( is_array( $editor_color_palette ) ) {
+				$data['theme_supports']['editor-color-palette'] = $editor_color_palette[0];
+			}
 		}
 
 		$data = $this->add_additional_fields_to_object( $data, $request );
@@ -176,6 +182,20 @@ class WP_REST_Themes_Controller extends WP_REST_Controller {
 							'type'        => 'bool',
 							'readonly'    => true,
 						),
+						'editor-color-palette' => array(
+							'description' => __( 'Whether the theme supports a custom color scheme.' ),
+							'type'        => array( 'array', 'bool' ),
+							'items'       => [
+								'type'       => 'object',
+								'properties' => array(
+									'name'  => 'string',
+									'slug'  => 'string',
+									'color' => 'string,'
+								),
+								'required'   => [ 'name', 'slug', 'color' ],
+							],
+							'readonly'    => true,
+						),
 					),
 				),
 			),
diff --git a/tests/phpunit/tests/rest-api/rest-themes-controller.php b/tests/phpunit/tests/rest-api/rest-themes-controller.php
index 520dbed9d0..eca8178e3c 100644
--- a/tests/phpunit/tests/rest-api/rest-themes-controller.php
+++ b/tests/phpunit/tests/rest-api/rest-themes-controller.php
@@ -189,10 +189,11 @@ class WP_Test_REST_Themes_Controller extends WP_Test_REST_Controller_Testcase {
 		$this->assertEquals( 1, count( $properties ) );
 		$this->assertArrayHasKey( 'theme_supports', $properties );
 
-		$this->assertEquals( 3, count( $properties['theme_supports']['properties'] ) );
+		$this->assertEquals( 4, count( $properties['theme_supports']['properties'] ) );
 		$this->assertArrayHasKey( 'formats', $properties['theme_supports']['properties'] );
 		$this->assertArrayHasKey( 'post-thumbnails', $properties['theme_supports']['properties'] );
 		$this->assertArrayHasKey( 'responsive-embeds', $properties['theme_supports']['properties'] );
+		$this->assertArrayHasKey( 'editor-color-palette', $properties['theme_supports']['properties'] );
 	}
 
 	/**
@@ -295,6 +296,41 @@ class WP_Test_REST_Themes_Controller extends WP_Test_REST_Controller_Testcase {
 		$this->assertEquals( array( 'post' ), $result[0]['theme_supports']['post-thumbnails'] );
 	}
 
+	/**
+	 * Test when a theme doesn't support a custom color palette.
+	 *
+	 * @ticket TBD
+	 */
+	public function test_theme_supports_editor_color_palette_false() {
+		remove_theme_support( 'editor-color-palette' );
+		$response = self::perform_active_theme_request();
+
+		$result = $response->get_data();
+		$this->assertTrue( isset( $result[0]['theme_supports'] ) );
+		$this->assertTrue( isset( $result[0]['theme_supports']['editor-color-palette'] ) );
+		$this->assertFalse( $result[0]['theme_supports']['editor-color-palette'] );
+	}
+
+	/**
+	 * Test when a theme doesn't support a custom color palette.
+	 *
+	 * @ticket TBD
+	 */
+	public function test_theme_supports_editor_color_palette_array() {
+		remove_theme_support( 'editor-color-palette' );
+		$wordpress_blue = array(
+			'name'  => 'WordPress Blue',
+			'slug'  => 'wordpress-blue',
+			'color' => '#0073AA',
+		);
+		add_theme_support( 'editor-color-palette', array( $wordpress_blue ) );
+		$response = self::perform_active_theme_request();
+
+		$result = $response->get_data();
+		$this->assertTrue( isset( $result[0]['theme_supports'] ) );
+		$this->assertEquals( array( $wordpress_blue), $result[0]['theme_supports']['editor-color-palette'] );
+	}
+
 	/**
 	 * It should be possible to register custom fields to the endpoint.
 	 *
