'POST', 'callback' => [__CLASS__, 'subscribe'], 'permission_callback' => '__return_true', 'args' => [ 'email' => [ 'required' => true, 'type' => 'string', 'validate_callback' => function($param) { return is_email($param); }, ], ], ]); register_rest_route(self::API_NAMESPACE, '/newsletter/subscribers', [ 'methods' => 'GET', 'callback' => [__CLASS__, 'get_subscribers'], 'permission_callback' => function() { return current_user_can('manage_options'); }, ]); register_rest_route(self::API_NAMESPACE, '/newsletter/subscribers/(?P[^/]+)', [ 'methods' => 'DELETE', 'callback' => [__CLASS__, 'delete_subscriber'], 'permission_callback' => function() { return current_user_can('manage_options'); }, ]); register_rest_route(self::API_NAMESPACE, '/newsletter/template/(?P