dotnet-minimal-api
ASP.NET Core minimal API - endpoint mechanics
This skill owns the shape of a minimal API endpoint: where it is registered, what it returns, how parameters bind, and how a cross-cutting concern hangs off it. It stops at the endpoint boundary. The pipeline-wide concerns - OpenAPI document generation, validation library choice, resilience, observability, response caching - live in dotnet-web-backend. The failure-to-ProblemDetails contract is dotnet-error-handling. The docs UI is dotnet-openapi. Auth configuration is dotnet-authentication. The controller-based counterpart - the same HTTP service sliced into classes - is dotnet-mvc-controllers. Floor is .NET 8 / C# 12; anything newer is marked optional.
Where endpoints live
Program.cs is for wiring, not for routes. Each feature or resource owns one registration extension method that maps its group:
public static class TodoEndpoints
{
public static IEndpointRouteBuilder MapTodoEndpoints(this IEndpointRouteBuilder app)
{
var group = app.MapGroup("/api/v1/todos")
.WithTags("Todos")
.RequireAuthorization()
.AddEndpointFilter<ValidationFilter<CreateTodoRequest>>();