---
title: "4 Steps to Automatically Generate API Documentation for ASP.NET Core Projects"
published_at: "2019-05-27T11:00:39+00:00"
modified_at: "2022-10-03T05:51:09+00:00"
url: "https://www.syncfusion.com/blogs/post/automatically-generate-api-docs-for-asp-net-core"
excerpt: "Have you ever wondered whether generating API documentation automatically is possible while writing the code? Yes, this is possible. For developers, writing documentation is a painful part of the process. Swagger, also known as OpenAPI, solves this problem by generating..."
taxonomy_category:
  - ".NET Core"
  - "ASP.NET Core"
taxonomy_post_tag:
  - "API"
  - "ASP.NET Core"
---

# 4 Steps to Automatically Generate API Documentation for ASP.NET Core Projects

[Bharat Dwarkani](https://www.syncfusion.com/blogs/author/bharatdwarkanim)

![Extract API Swagger](https://www.syncfusion.com/blogs/wp-content/uploads/2019/05/Extract-API-Swagger.jpg)


Have you ever wondered whether generating API documentation automatically is possible while writing the code? Yes, this is possible. For developers, writing documentation is a painful part of the process. [Swagger](https://swagger.io/)
, also known as [OpenAPI](https://www.openapis.org/)
, solves this problem by generating useful documentation and help pages for web APIs. It not only generates read-only help pages but ones that are interactive as well, which can even be used for testing APIs.

I will walk you through the steps needed to use document generation capability for your API. We’ll be using the **Swashbuckle** NuGet package to add document generation ability to our ASP.Net Core project.

First, we install a NuGet package in our project. The NuGet package used here is [Swashbuckle.AspNetCore](https://www.nuget.org/packages/Swashbuckle.AspNetCore)
.

In Visual Studio, go to **Tools -> NuGet Package Manager -> Manage Nuget Packages for Solution**. Search for the package named ** Swashbuckle.AspNetCore** and install it in your project.

![Installing Swashbuckle.AspNetCore NuGet package](https://blog.syncfusion.com/wp-content/uploads/2019/05/Installing-Swashbuckle.AspNetCore-nuget-package-1.png)

*Installing Swashbuckle.AspNetCore NuGet package*

The next few steps will show you how to configure Swagger by adding a few lines of code in your project **Startup.cs** file.

**Step 1:** Include the Swagger namespace.

![Including Swagger namespace](https://blog.syncfusion.com/wp-content/uploads/2019/05/Including-swagger-namespace-1.png)

*Including Swagger namespace*

**Step 2:** Then, register the Swagger service in the ** ConfigureServices** method.

![Configuring Swagger service](https://blog.syncfusion.com/wp-content/uploads/2019/05/Configuring-Swagger-service-1.png)

*Configuring Swagger service*

**Step 3:** Enable Swagger middleware in the ** Configure** method to configure [Swagger UI](https://swagger.io/tools/swagger-ui/)
. That’s it, the configuration is now over.

![Configuring Swagger UI](https://blog.syncfusion.com/wp-content/uploads/2019/05/Configuring-Swagger-UI-1.png)

*Configuring Swagger UI*

**Step 4:** Now run your API in a browser and navigate to your API base URL. In my case, it is localhost:44314. You will see an interactive docs page for your API up and running in no time without you writing even a single line for the document.

![The swagger wizard](https://blog.syncfusion.com/wp-content/uploads/2019/05/Swagger-Wizard-1.png)Check out this working sample project [here](https://github.com/SyncfusionExamples/api-docs-swagger-sample)
.

## Conclusion

So, get started and add docs to your existing API following these simple steps. Using this, you can even create version-based docs for your API. Also, be sure to add authorization to your API docs to prevent outsiders from misusing them.

Additional reference: [https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.2](https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.2)
