Minimal APIs sind ein in ASP.NET Core 6 (November 2021) eingeführter Programmierstil zur Implementierung von HTTP-APIs, der ohne Controller-Klassen und ohne klassisches MVC-Routing auskommt. Endpunkte werden direkt im Startup-Code mit Aufrufen wie app.MapGet('/users/{id}', ...) deklariert; Parameter werden per Konvention aus Route, Query-String, Header oder Body gebunden, Validierung und Serialisierung erfolgen über das übliche ASP.NET-Core-Stack.
Eingesetzt werden Minimal APIs vor allem für kleine Microservices, Cloud-Functions-ähnliche Container, REST-Endpunkte mit überschaubarer Domäne, Backend-for-Frontend-Komponenten und Beispiel- bzw. Lehrcode. In Verbindung mit der Minimal Hosting Model genügen wenige Zeilen, um eine vollständige Webanwendung mit Routing, Logging, Konfiguration und DI zu starten — ein bewusst gesetzter Gegenentwurf zur ‚Ceremony' klassischer Controller-basierter ASP.NET-Projekte.
Der Einsatzzweck und das gelöste Problem liegen in der Senkung der Einstiegshürde und der Reduktion von Boilerplate-Code. Klassisches ASP.NET MVC verlangt Controller-Klassen, Konstruktor-Injection und ein eigenes Routing-Modell; für triviale APIs ist das ein hoher Overhead. Minimal APIs erlauben eine fast skriptartige Definition von Endpunkten und sind damit insbesondere für Container- und Serverless-Workloads attraktiv, in denen schneller Start und kompaktes Deployment wichtig sind. Über Map-Group-Methoden, Filter (ab .NET 7) und OpenAPI-Integration nähert sich der Funktionsumfang inzwischen dem von klassischem MVC an.
Historisch wurden Minimal APIs unter dem Eindruck der Erfolge sehr leichtgewichtiger Frameworks wie Express.js (Node), Flask (Python) oder Sinatra (Ruby) konzipiert. Mit ASP.NET Core 6 wurden sie produktiv freigegeben, mit .NET 7 um Endpoint-Filter und bessere Validierung erweitert, mit .NET 8 um Form-Binding, AsParameters und Verbesserungen für Native AOT.
Eingeführt wurden Minimal APIs vom ASP.NET-Team rund um David Fowler und Damian Edwards. David Fowler hat in mehreren Vorträgen erklärt, dass das ‚Hello World in sechs Zeilen'-Beispiel von Minimal APIs gezielt entworfen wurde, um in Vergleichen mit anderen Plattformen optisch mithalten zu können — die berühmten Folien, auf denen ein Minimal-API-Beispiel direkt neben einem Express.js-Snippet steht, sind heute in fast jeder ASP.NET-Core-Einführung präsent.