OpenAPI is the framework of choice for documenting APIs

OpenAPI support in ASP.NET Core API apps
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/openapi/overview?view=aspnetcore-9.0
Generate OpenAPI documents at build-time
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/openapi/aspnetcore-openapi?view=aspnetcore-9.0&tabs=visual-studio%2Cvisual-studio-code#generate-openapi-documents-at-build-time
The project file property to set the directory where the OpenAPI should be saved is “OpenApiDocumentsDirectory” and it is documented here:
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/openapi/aspnetcore-openapi?view=aspnetcore-9.0&tabs=visual-studio%2Cvisual-studio-code#modifying-the-output-directory-of-the-generated-open-api-file
This section contains a summary of how C# types and attributes map to OpenAPI schemas.
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/openapi/include-metadata?view=aspnetcore-9.0&tabs=minimal-apis#include-openapi-metadata-for-data-types
We talked about the OpenAPI specification — the latest version is here:
https://spec.openapis.org/oas/v3.1.1.html
I also briefly touched on the Overlay specification — that is here:
https://spec.openapis.org/overlay/v1.0.0.html
and the Arazzo Specification — that is here:
https://spec.openapis.org/arazzo/v1.0.1.html
The Roadmap for ASP.NET Core features in .NET 10 is here:
https://github.com/dotnet/aspnetcore/issues/59443