# master-addons/3.1.2/inc/admin/widget-builder/rest-api-init.php

Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder &amp; Template Kits, version 3.1.2. 37 lines.

- Page: https://pluginprobe.com/plugins/master-addons/3.1.2/code/inc/admin/widget-builder/rest-api-init.php
- Raw: https://pluginprobe.com/plugins/master-addons/3.1.2/raw/inc/admin/widget-builder/rest-api-init.php
- Modified: 2026-03-08T11:32:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/master-addons/3.1.2/code/inc/admin/widget-builder/rest-api-init.php#L10-L20`.

```php
<?php
/**
 * Initialize REST API Controller
 *
 * @package MasterAddons
 * @subpackage WidgetBuilder
 */

namespace MasterAddons\Inc\Admin\WidgetBuilder;

if (!defined('ABSPATH')) {
    exit;
}

/**
 * Register REST API routes
 */
\add_action('rest_api_init', function() {
    $controller = new REST_Controller();
    $controller->register_routes();
});

/**
 * Flush rewrite rules on plugin activation or when routes change
 * This ensures REST API endpoints are properly registered
 */
\add_action('admin_init', function() {
    // Check if we need to flush rewrite rules
    $version_option = 'jltma_rest_api_version';
    $current_version = '1.0.1'; // Increment this when REST routes change

    if (get_option($version_option) !== $current_version) {
        flush_rewrite_rules();
        update_option($version_option, $current_version);
    }
});

```
