Extending REST API responses

You can modify the response data via the rest_prepare_{$this->post_type} filter, like so for a custom post type test_cpt (registered with hierarchical and show_in_rest set to true):

add_filter( 'rest_prepare_test_cpt', 'rest_prepare_test_cpt' );
function rest_prepare_test_cpt( WP_REST_Response $response ) {
    $data = $response->get_data();

    if ( ! empty( $data['parent'] ) ) {
        if ( ! $parent_post = get_post( $data['parent'] ) ) {
            return $response;
        }

        // Include only some post data.
        $data['parent_data'] = [
            'title'   => get_the_title( $parent_post ),   // or just $parent_post->post_title
            'excerpt' => get_the_excerpt( $parent_post ), // or just $parent_post->post_excerpt
            'link'    => get_permalink( $parent_post ),
        ];

        // Or include the whole data..
        // $data['parent_data'] = $parent_post;             // object
        // $data['parent_data'] = $parent_post->to_array(); // array

        $response->set_data( $data );
    }

    return $response;
}

WP_REST_Response extends WP_HTTP_Response which defines the get_data() and set_data() methods.

Note that the code may not work if you set a different rest_controller_class when you register the post type. (The default controller class is WP_REST_Posts_Controller which fires the filter used above)