# Dotnet Webapi

Guides creation and modification of ASP.NET Core Web API endpoints with correct HTTP...

- Repository: https://github.com/dotnet/skills (5787 stars)
- Category: Design
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add dotnet/skills --skill dotnet-webapi -g -a claude-code -y`
Codex: `npx skills add dotnet/skills --skill dotnet-webapi -g -a codex -y`
Cursor: `npx skills add dotnet/skills --skill dotnet-webapi -g -a cursor -y`
Gemini CLI: `npx skills add dotnet/skills --skill dotnet-webapi -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add dotnet/skills`

## Description

Guides creation and modification of ASP.NET Core Web API endpoints with correct HTTP semantics, OpenAPI metadata, and error handling. USE FOR: adding new API endpoints (controllers or minimal APIs), wiring up OpenAPI/Swagger, creating .http test files, setting up global error handling middleware. DO NOT USE FOR: general C# coding style, EF Core data access or query optimization (use optimizing-ef-core-queries), frontend/Blazor work, gRPC services, or SignalR hubs.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# ASP.NET Core Web API

Produce well-structured ASP.NET Core Web API endpoints with proper HTTP
semantics, OpenAPI documentation, and error handling.

## When to Use

Use this skill when working on ASP.NET Core HTTP APIs, including:

- adding or modifying Web API endpoints implemented with controllers or minimal APIs;
- wiring up OpenAPI/Swagger metadata and endpoint documentation;
- defining request/response DTOs and consistent HTTP status code behavior;
- adding `.http` files or similar request-based API testing artifacts;
- configuring centralized API error handling middleware or exception mapping.

## When Not to Use

Do not use this skill for:

- general C# coding style or non-API refactoring;
- EF Core data modeling or query optimization work; use `optimizing-ef-core-queries`;
- frontend, Razor, or Blazor UI changes;
- gRPC services;
- SignalR hubs or real-time messaging flows.

## Inputs / prerequisites

Before applying this skill, gather the project context needed to match the
existing API style and wiring:

- the ASP.NET Core entry point, typically `Program.cs`;
- any existing controllers, especially classes inheriting `ControllerBase` or
  using `[ApiController]`;
- any existing minimal API registrations such as `app.MapGet`, `app.MapPost`,
  `app.MapPut`, or `app.MapDelete`;
- related DTO, model, validation, and error-handling types already used by the project;
- available build, run, and test commands so changes can be verified.

If the user asks for a new endpoint, inspect the current project structure first
so the implementation follows the established conventions rather than mixing styles.
## Workflow

### Step 1: Determine the API style

Scan the project for existing endpoint patterns before writing any code.

The rest: https://github.com/dotnet/skills/blob/HEAD/plugins/dotnet-aspnetcore/skills/dotnet-webapi/SKILL.md
