diff --git wp-includes/rest-api/class-wp-rest-response.php wp-includes/rest-api/class-wp-rest-response.php
index 65ae872..85488ca 100644
--- wp-includes/rest-api/class-wp-rest-response.php
+++ wp-includes/rest-api/class-wp-rest-response.php
@@ -136,7 +136,7 @@ class WP_REST_Response extends WP_HTTP_Response {
 	 * @return array List of links.
 	 */
 	public function get_links() {
-		return $this->links;
+		return $this->get_compact_response_links( $this->links );
 	}
 
 	/**
@@ -302,4 +302,53 @@ class WP_REST_Response extends WP_HTTP_Response {
 		$additional = apply_filters( 'rest_response_link_curies', array() );
 		return array_merge( $curies, $additional );
 	}
+
+	/**
+	 * Retrieves the CURIEs (compact URIs) used for relations.
+	 *
+	 * Adds the CURIE link and maps the full URIs to the CURIE form.
+	 *
+	 * @since 4.5.0
+	 * @access public
+	 *
+	 * @param array $links Links to map CURIEs to.
+	 * @return array Map of link relation to list of link hashes.
+	 */
+	public function get_compact_response_links( $links ) {
+		if ( empty( $links ) ) {
+			return array();
+		}
+
+		$curies = $this->get_curies();
+		$used_curies = array();
+
+		foreach ( $links as $rel => $items ) {
+
+			// Convert $rel URIs to their compact versions if they exist.
+			foreach ( $curies as $curie ) {
+				$href_prefix = substr( $curie['href'], 0, strpos( $curie['href'], '{rel}' ) );
+				if ( strpos( $rel, $href_prefix ) !== 0 ) {
+					continue;
+				}
+
+				// Relation now changes from '$uri' to '$curie:$relation'
+				$rel_regex = str_replace( '\{rel\}', '(.+)', preg_quote( $curie['href'], '!' ) );
+				preg_match( '!' . $rel_regex . '!', $rel, $matches );
+				if ( $matches ) {
+					$new_rel = $curie['name'] . ':' . $matches[1];
+					$used_curies[ $curie['name'] ] = $curie;
+					$links[ $new_rel ] = $items;
+					unset( $links[ $rel ] );
+					break;
+				}
+			}
+		}
+
+		// Push the curies onto the start of the links array.
+		if ( $used_curies ) {
+			$links = array_merge( array( 'curies' => array_values( $used_curies ) ), $links );
+		}
+
+		return $links;
+	}
 }
diff --git wp-includes/rest-api/class-wp-rest-server.php wp-includes/rest-api/class-wp-rest-server.php
index 7a45906..313a8d9 100644
--- wp-includes/rest-api/class-wp-rest-server.php
+++ wp-includes/rest-api/class-wp-rest-server.php
@@ -421,7 +421,7 @@ class WP_REST_Server {
 	 */
 	public function response_to_data( $response, $embed ) {
 		$data  = $response->get_data();
-		$links = $this->get_compact_response_links( $response );
+		$links = self::get_response_links( $response );
 
 		if ( ! empty( $links ) ) {
 			// Convert links to part of the data.
@@ -461,6 +461,11 @@ class WP_REST_Server {
 		// Convert links to part of the data.
 		$data = array();
 		foreach ( $links as $rel => $items ) {
+			if ( 'curies' === $rel ) {
+				$data[ $rel ] = $items;
+				continue;
+			}
+
 			$data[ $rel ] = array();
 
 			foreach ( $items as $item ) {
@@ -474,59 +479,6 @@ class WP_REST_Server {
 	}
 
 	/**
-	 * Retrieves the CURIEs (compact URIs) used for relations.
-	 *
-	 * Extracts the links from a response into a structured hash, suitable for
-	 * direct output.
-	 *
-	 * @since 4.5.0
-	 * @access public
-	 * @static
-	 *
-	 * @param WP_REST_Response $response Response to extract links from.
-	 * @return array Map of link relation to list of link hashes.
-	 */
-	public static function get_compact_response_links( $response ) {
-		$links = self::get_response_links( $response );
-
-		if ( empty( $links ) ) {
-			return array();
-		}
-
-		$curies = $response->get_curies();
-		$used_curies = array();
-
-		foreach ( $links as $rel => $items ) {
-
-			// Convert $rel URIs to their compact versions if they exist.
-			foreach ( $curies as $curie ) {
-				$href_prefix = substr( $curie['href'], 0, strpos( $curie['href'], '{rel}' ) );
-				if ( strpos( $rel, $href_prefix ) !== 0 ) {
-					continue;
-				}
-
-				// Relation now changes from '$uri' to '$curie:$relation'
-				$rel_regex = str_replace( '\{rel\}', '(.+)', preg_quote( $curie['href'], '!' ) );
-				preg_match( '!' . $rel_regex . '!', $rel, $matches );
-				if ( $matches ) {
-					$new_rel = $curie['name'] . ':' . $matches[1];
-					$used_curies[ $curie['name'] ] = $curie;
-					$links[ $new_rel ] = $items;
-					unset( $links[ $rel ] );
-					break;
-				}
-			}
-		}
-
-		// Push the curies onto the start of the links array.
-		if ( $used_curies ) {
-			$links['curies'] = array_values( $used_curies );
-		}
-
-		return $links;
-	}
-
-	/**
 	 * Embeds the links from the data into the request.
 	 *
 	 * @since 4.4.0
