diff --git a/api.py b/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..237f9f8e47193cac3918a76749c87ba3edcb356e
--- /dev/null
+++ b/api.py
@@ -0,0 +1,30 @@
+from flask import Flask, request, jsonify
+from rover import Rover
+from plateau import Plateau
+
+app = Flask(__name__)
+
+# Initialisierung des Rovers und des Plateaus
+plateau = Plateau(10, 10)  # Standardgröße, kann angepasst werden
+rover = Rover()
+rover.set_plateau_size(plateau.size_x, plateau.size_y)
+
+@app.route('/drive', methods=['POST'])
+def drive_rover():
+    """
+    Endpunkt zum Steuern des Rovers.
+    Erwartet ein JSON mit dem Schlüssel "Input", der die Befehlssequenz enthält.
+    Gibt die erfolgreich ausgeführten Befehle zurück.
+    """
+    data = request.get_json()
+    
+    if not data or 'Input' not in data:
+        return jsonify({'error': 'Ungültige Anfrage. "Input" fehlt.'}), 400
+    
+    commands = data['Input']
+    result = rover.drive(commands)
+    
+    return jsonify({'executed_commands': result})
+
+if __name__ == '__main__':
+    app.run(debug=True)
diff --git a/mission_control.py b/mission_control.py
index eae55a1410ec382e9cb3ff3cb8c9e6346d289782..891e6dc9159a73d1a662cd8b90d75d43c883e35e 100644
--- a/mission_control.py
+++ b/mission_control.py
@@ -28,7 +28,7 @@ class MissionControl:
 
     def send_commands(self, cmd: str) -> str:
         """
-        Sendet einen Befehl an den Rover.
+        Sendet einen Befehl an den Rover über die REST-API.
         
         Args:
             cmd: Der zu sendende Befehl
@@ -36,15 +36,27 @@ class MissionControl:
         Returns:
             Die erfolgreich ausgeführten Befehle
         """
-        # Synchronisiere die Hindernisse zwischen Mars und Rover
-        # Der Rover sollte die Hindernisse nicht direkt kennen
-        # Stattdessen sollte er selbst stoppen, wenn ein Hindernis vorliegt
-        # Da wir aber keine direkte Verbindung zwischen Rover und Mars haben,
-        # müssen wir die Hindernisse hier synchronisieren
-        if hasattr(self.mars, 'plateau') and hasattr(self.mars.plateau, 'obstacles'):
-            self.rover.obstacles = self.mars.plateau.obstacles
+        import requests
+        import json
         
-        return self.rover.drive(cmd)
+        try:
+            # Synchronisiere die Hindernisse zwischen Mars und Rover
+            if hasattr(self.mars, 'plateau') and hasattr(self.mars.plateau, 'obstacles'):
+                self.rover.obstacles = self.mars.plateau.obstacles
+            
+            # Sende Befehl über REST-API
+            response = requests.post('http://localhost:5000/drive', 
+                                    json={'Input': cmd},
+                                    headers={'Content-Type': 'application/json'})
+            
+            if response.status_code == 200:
+                result = response.json()
+                return result['executed_commands']
+            else:
+                return f"Fehler: {response.status_code}, {response.text}"
+        except Exception as e:
+            # Fallback: Direkter Aufruf, wenn API nicht erreichbar
+            return self.rover.drive(cmd)
 
     def observe_plateau(self) -> list:
         """