Index: /automaize-event-calendar/trunk/automaize-event-calendar.php
===================================================================
--- /automaize-event-calendar/trunk/automaize-event-calendar.php	(revision 3772659)
+++ /automaize-event-calendar/trunk/automaize-event-calendar.php	(revision 3772660)
@@ -3,5 +3,5 @@
  * Plugin Name: Automaize Event Calendar
  * Description: Displays upcoming events in a responsive tile grid with recurring event support and optional WooCommerce integration.
- * Version:     1.6.2
+ * Version:     1.6.3
  * Author:      Automaize
  * Author URI:  https://automaize.app
@@ -18,5 +18,5 @@
 }
 
-define( 'AMZEC_VERSION', '1.6.2' );
+define( 'AMZEC_VERSION', '1.6.3' );
 define( 'AMZEC_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
 define( 'AMZEC_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
Index: /automaize-event-calendar/trunk/includes/class-aec-rest.php
===================================================================
--- /automaize-event-calendar/trunk/includes/class-aec-rest.php	(revision 3772659)
+++ /automaize-event-calendar/trunk/includes/class-aec-rest.php	(revision 3772660)
@@ -198,4 +198,21 @@
 		register_rest_route(
 			self::NAMESPACE_,
+			'/staff/settings',
+			array(
+				array(
+					'methods'             => WP_REST_Server::READABLE,
+					'callback'            => array( __CLASS__, 'get_staff_settings' ),
+					'permission_callback' => array( __CLASS__, 'check_api_key' ),
+				),
+				array(
+					'methods'             => WP_REST_Server::EDITABLE,
+					'callback'            => array( __CLASS__, 'update_staff_settings' ),
+					'permission_callback' => array( __CLASS__, 'check_api_key' ),
+				),
+			)
+		);
+
+		register_rest_route(
+			self::NAMESPACE_,
 			'/staff/media',
 			array(
@@ -586,4 +603,32 @@
 
 		return rest_ensure_response( array( 'success' => true ) );
+	}
+
+	/**
+	 * GET /staff/settings - the subset of Events > Einstellungen that the
+	 * app also lets staff change directly (currently: "Anzahl Events" /
+	 * "Sichtbarkeit in die Zukunft"). Everything else on that settings page
+	 * (API key, accent color, button text) stays wp-admin-only.
+	 *
+	 * @return WP_REST_Response
+	 */
+	public static function get_staff_settings() {
+		$opts = AMZEC_Settings::get_options();
+		return rest_ensure_response(
+			array(
+				'default_count'       => (int) $opts['default_count'],
+				'default_future_days' => (int) $opts['default_future_days'],
+			)
+		);
+	}
+
+	/**
+	 * PUT /staff/settings { default_count?, default_future_days? }
+	 *
+	 * @param WP_REST_Request $request Request.
+	 * @return WP_REST_Response
+	 */
+	public static function update_staff_settings( WP_REST_Request $request ) {
+		return rest_ensure_response( AMZEC_Settings::update_display_defaults( $request->get_params() ) );
 	}
 
Index: /automaize-event-calendar/trunk/includes/class-aec-settings.php
===================================================================
--- /automaize-event-calendar/trunk/includes/class-aec-settings.php	(revision 3772659)
+++ /automaize-event-calendar/trunk/includes/class-aec-settings.php	(revision 3772660)
@@ -279,4 +279,32 @@
 
 	/**
+	 * Updates just default_count/default_future_days, leaving every other
+	 * option (api_key, primary_color, ...) untouched - used by the staff
+	 * REST route so the app can offer these two without a way to overwrite
+	 * the rest of this option via a partial payload.
+	 *
+	 * @param array $data { default_count?, default_future_days? }
+	 * @return array{default_count:int, default_future_days:int}
+	 */
+	public static function update_display_defaults( array $data ) {
+		$current = get_option( self::OPTION_KEY, array() );
+
+		if ( isset( $data['default_count'] ) ) {
+			$current['default_count'] = max( 1, min( 100, absint( $data['default_count'] ) ) );
+		}
+		if ( isset( $data['default_future_days'] ) ) {
+			$current['default_future_days'] = absint( $data['default_future_days'] );
+		}
+
+		update_option( self::OPTION_KEY, $current );
+
+		$opts = self::get_options();
+		return array(
+			'default_count'       => (int) $opts['default_count'],
+			'default_future_days' => (int) $opts['default_future_days'],
+		);
+	}
+
+	/**
 	 * Returns the merged options with defaults.
 	 */
Index: /automaize-event-calendar/trunk/readme.txt
===================================================================
--- /automaize-event-calendar/trunk/readme.txt	(revision 3772659)
+++ /automaize-event-calendar/trunk/readme.txt	(revision 3772660)
@@ -5,5 +5,5 @@
 Tested up to:      7.0
 Requires PHP:      7.4
-Stable tag:        1.6.2
+Stable tag:        1.6.3
 License:           GPL-2.0-or-later
 License URI:       https://www.gnu.org/licenses/gpl-2.0.html
@@ -79,4 +79,7 @@
 == Changelog ==
 
+= 1.6.3 =
+* New: `GET`/`PUT /amzec/v1/staff/settings` exposes "Anzahl Events" and "Sichtbarkeit in die Zukunft" (from Events > Einstellungen) to the app, so staff can change how many events show without a trip to wp-admin.
+
 = 1.6.2 =
 * Fix: `GET /amzec/v1/events` (used by the website's homepage) ignored the "Anzahl Events" setting under Events > Einstellungen when the caller didn't pass its own `count` - it silently fell back to a hardcoded 12 instead. It now falls back to the configured setting, same as the `[amzec_events]` shortcode already did.
