WordPress REST API Multisite

I have been looking for a way to access multisite data trough WP API, but it seems very hard to find. One and only the best reference i get is from git the_glue but need some update since it not updated.

Below is my version or u can get form my git 

<?php
/*
* Plugin Name: WordPress REST API Multisite
* Plugin URI: 
* Description: 
* Version: 1.0
* Author: Ghazali Tajuddin
* Author URI: http://www.ghazalitajuddin.com
* License: MIT
* */


class WPMUrestAPI{

    function __construct() {
        add_action( 'rest_api_init', array( $this, 'call2' ));
    }
    

    public function call2() {
    // Here we are registering our route for a collection of products and creation of products.
    
        register_rest_route( 'all/sites', '/list', 
            array(
                
                // By using this constant we ensure that when the WP_REST_Server changes, our readable endpoints will work as intended.
                
                'methods'  => WP_REST_Server::READABLE,
                
                // Here we register our callback. The callback is fired when this endpoint is matched by the WP_REST_Server class.
                
                'callback' => array($this,'get_sites123'),
            )
         );
    }

   public function prefix_get_endpoint_phrase() {
        // rest_ensure_response() wraps the data we want to return into a WP_REST_Response, and ensures it will be properly returned.
        //return rest_ensure_response( 'Hello World, this is the WordPress REST API' );
        return 'Hello World, this is the WordPress REST API';
    }

    public function get_sites123() {
            
            if ( function_exists( 'get_sites' )  ) {
            $sites = get_sites( 
                [
                    'public'  => 1,
                    //'number'  => 500,
                    'orderby' => 'registered',
                    'order'   => 'DESC',
                ]
            );

            $sites_details = array();

            foreach ($sites as $site) {
                $sites_details[] = $site->blog_id;
            }

            return $sites_details;
 
    }
}

  

}


 $power = new WPMUrestAPI();

Other reference

  • https://github.com/epfl-lts2/json-rest-api-multisites
  • https://github.com/remkade/multisite-json-api
  • https://wordpress.org/support/topic/wp_get_sites-is-now-get_sites/