---
uid: web-api/index
title: "ASP.NET Web API | Microsoft Docs"
author: rick-anderson
description: "Download ASP.NET MVC 4 and build HTTP services that reach a broad range of clients."
ms.author: riande
ms.date: 01/17/2012
ms.assetid: f571ca7a-c06b-400d-8051-f62f9f0bcc9b
msc.legacyurl: /web-api
msc.type: categoryindex
---
ASP.NET Web API
====================
- [Guidance](overview/index.md)

    - [Getting Started](overview/getting-started-with-aspnet-web-api/index.md)

        - [Getting Started with Web API 2 (C#)](overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api.md)
        - [Action Results in Web API 2](overview/getting-started-with-aspnet-web-api/action-results.md)
        - [Using Web API with ASP.NET Web Forms](overview/getting-started-with-aspnet-web-api/using-web-api-with-aspnet-web-forms.md)
        - [Creating Web API Help Pages](overview/getting-started-with-aspnet-web-api/creating-api-help-pages.md)
        - [Hands On Lab: Build a Single Page Application (SPA) with ASP.NET Web API and Angular.js](overview/getting-started-with-aspnet-web-api/build-a-single-page-application-spa-with-aspnet-web-api-and-angularjs.md)
    - [Routing](overview/web-api-routing-and-actions/index.md)

        - [Routing in Web API](overview/web-api-routing-and-actions/routing-in-aspnet-web-api.md)
        - [Routing and Action Selection in Web API](overview/web-api-routing-and-actions/routing-and-action-selection.md)
        - [Attribute Routing in Web API 2](overview/web-api-routing-and-actions/attribute-routing-in-web-api-2.md)
        - [Create a REST API with Attribute Routing in Web API 2](overview/web-api-routing-and-actions/create-a-rest-api-with-attribute-routing.md)
    - [Working with Data](overview/data/index.md)

        - [Using Web API 2 with Entity Framework 6](overview/data/using-web-api-with-entity-framework/index.md)

            - [Create the Project](overview/data/using-web-api-with-entity-framework/part-1.md)
            - [Add Models and Controllers](overview/data/using-web-api-with-entity-framework/part-2.md)
            - [Seed the Database](overview/data/using-web-api-with-entity-framework/part-3.md)
            - [Handling Entity Relations](overview/data/using-web-api-with-entity-framework/part-4.md)
            - [Create Data Transfer Objects (DTOs)](overview/data/using-web-api-with-entity-framework/part-5.md)
            - [Create the JavaScript Client](overview/data/using-web-api-with-entity-framework/part-6.md)
            - [Create the View (UI)](overview/data/using-web-api-with-entity-framework/part-7.md)
            - [Display Item Details](overview/data/using-web-api-with-entity-framework/part-8.md)
            - [Add a New Item to the Database](overview/data/using-web-api-with-entity-framework/part-9.md)
            - [Publish the App to Azure Websites](overview/data/using-web-api-with-entity-framework/part-10.md)
    - [Mobile Clients](overview/mobile-clients/index.md)

        - [Calling Web API from a Windows Phone 8 Application (C#)](overview/mobile-clients/calling-web-api-from-a-windows-phone-8-application.md)
    - [OData](overview/odata-support-in-aspnet-web-api/index.md)

        - [OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/index.md)

            - [Create an OData v4 Endpoint](overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-endpoint.md)
            - [Create an OData v4 Client App (C#)](overview/odata-support-in-aspnet-web-api/odata-v4/create-an-odata-v4-client-app.md)
            - [Entity Relations in OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/entity-relations-in-odata-v4.md)
            - [Actions and Functions in OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/odata-actions-and-functions.md)
            - [Containment in OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/odata-containment-in-web-api-22.md)
            - [Create a Singleton in OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/using-a-singleton-in-an-odata-endpoint-in-web-api-22.md)
            - [Open Types in OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/use-open-types-in-odata-v4.md)
            - [Complex Type Inheritance in OData v4](overview/odata-support-in-aspnet-web-api/odata-v4/complex-type-inheritance-in-odata-v4.md)
        - [OData v3](overview/odata-support-in-aspnet-web-api/odata-v3/index.md)

            - [Creating an OData v3 Endpoint](overview/odata-support-in-aspnet-web-api/odata-v3/creating-an-odata-endpoint.md)
            - [Supporting Entity Relations in OData v3](overview/odata-support-in-aspnet-web-api/odata-v3/working-with-entity-relations.md)
            - [OData Actions in Web API 2](overview/odata-support-in-aspnet-web-api/odata-v3/odata-actions.md)
            - [Calling an OData Service From a .NET Client (C#)](overview/odata-support-in-aspnet-web-api/odata-v3/calling-an-odata-service-from-a-net-client.md)
        - [Supporting OData Query Options in Web API 2](overview/odata-support-in-aspnet-web-api/supporting-odata-query-options.md)
        - [Using $select, $expand, and $value in Web API 2 OData](overview/odata-support-in-aspnet-web-api/using-select-expand-and-value.md)
        - [Routing Conventions in Web API 2 OData](overview/odata-support-in-aspnet-web-api/odata-routing-conventions.md)
        - [Security Guidance for Web API 2 OData](overview/odata-support-in-aspnet-web-api/odata-security-guidance.md)
    - [Serialization and Model Binding](overview/formats-and-model-binding/index.md)

        - [Media Formatters in Web API 2](overview/formats-and-model-binding/media-formatters.md)
        - [JSON and XML Serialization in Web API](overview/formats-and-model-binding/json-and-xml-serialization.md)
        - [BSON Support in Web API 2.1](overview/formats-and-model-binding/bson-support-in-web-api-21.md)
        - [Content Negotiation in Web API](overview/formats-and-model-binding/content-negotiation.md)
        - [Model Validation in Web API](overview/formats-and-model-binding/model-validation-in-aspnet-web-api.md)
        - [Parameter Binding in Web API](overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api.md)
    - [Error Handling](overview/error-handling/index.md)

        - [Exception Handling in Web API](overview/error-handling/exception-handling.md)
        - [Global Error Handling in Web API 2](overview/error-handling/web-api-global-error-handling.md)
    - [Testing and Debugging](overview/testing-and-debugging/index.md)

        - [Tracing in Web API 2](overview/testing-and-debugging/tracing-in-aspnet-web-api.md)
        - [Unit Testing Web API 2](overview/testing-and-debugging/unit-testing-with-aspnet-web-api.md)
        - [Unit Testing Controllers in ASP.NET Web API 2](overview/testing-and-debugging/unit-testing-controllers-in-web-api.md)
        - [Mocking Entity Framework when Unit Testing Web API 2](overview/testing-and-debugging/mocking-entity-framework-when-unit-testing-aspnet-web-api-2.md)
        - [Troubleshooting HTTP 405 Errors after Publishing Web API 2 Applications](overview/testing-and-debugging/troubleshooting-http-405-errors-after-publishing-web-api-applications.md)
    - [Security, Authentication, and Authorization](overview/security/index.md)

        - [Authentication and Authorization in Web API](overview/security/authentication-and-authorization-in-aspnet-web-api.md)
        - [Secure a Web API with Individual Accounts in Web API 2.2](overview/security/individual-accounts-in-web-api.md)
        - [External Authentication Services with Web API (C#)](overview/security/external-authentication-services.md)
        - [Preventing Cross-Site Request Forgery (CSRF) Attacks in Web API](overview/security/preventing-cross-site-request-forgery-csrf-attacks.md)
        - [Enabling Cross-Origin Requests in Web API 2](overview/security/enabling-cross-origin-requests-in-web-api.md)
        - [Authentication Filters in Web API 2](overview/security/authentication-filters.md)
        - [Basic Authentication in Web API](overview/security/basic-authentication.md)
        - [Forms Authentication in Web API](overview/security/forms-authentication.md)
        - [Integrated Windows Authentication](overview/security/integrated-windows-authentication.md)
        - [Working with SSL](overview/security/working-with-ssl-in-web-api.md)
    - [Deployment and Hosting](overview/hosting-aspnet-web-api/index.md)

        - [Use OWIN to Self-Host Web API 2](overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api.md)
        - [Host Web API 2 in an Azure Worker Role](overview/hosting-aspnet-web-api/host-aspnet-web-api-in-an-azure-worker-role.md)
    - [Advanced Topics](overview/advanced/index.md)

        - [Configuring Web API 2](overview/advanced/configuring-aspnet-web-api.md)
        - [Dependency Injection in Web API 2](overview/advanced/dependency-injection.md)
        - [Calling a Web API From a .NET Client (C#)](overview/advanced/calling-a-web-api-from-a-net-client.md)
        - [HTTP Message Handlers in Web API](overview/advanced/http-message-handlers.md)
        - [HttpClient Message Handlers in Web API](overview/advanced/httpclient-message-handlers.md)
        - [Sending HTML Form Data in Web API: Form-urlencoded Data](overview/advanced/sending-html-form-data-part-1.md)
        - [Sending HTML Form Data in Web API: File Upload and Multipart MIME](overview/advanced/sending-html-form-data-part-2.md)
        - [HTTP Cookies in ASP.NET Web API](overview/advanced/http-cookies.md)
    - [Releases](overview/releases/index.md)

        - [What's New in Web API OData 5.3](overview/releases/whats-new-in-aspnet-web-api-odata-53.md)
        - [What's New in ASP.NET Web API 2.2](overview/releases/whats-new-in-aspnet-web-api-22.md)
        - [What's New in ASP.NET Web API 2.1](overview/releases/whats-new-in-aspnet-web-api-21.md)
    - [Older Versions](overview/older-versions/index.md)

        - [Enabling CRUD Operations in Web API 1](overview/older-versions/creating-a-web-api-that-supports-crud-operations.md)
        - [Using ASP.NET Web API 1 with Entity Framework 5](overview/older-versions/using-web-api-1-with-entity-framework-5/index.md)

            - [Overview and Creating the Project](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-1.md)
            - [Creating the Domain Models](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-2.md)
            - [Creating an Admin Controller](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-3.md)
            - [Adding an Admin View](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-4.md)
            - [Creating a Dynamic UI with Knockout.js](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-5.md)
            - [Creating Product and Order Controllers](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-6.md)
            - [Creating the Main Page](overview/older-versions/using-web-api-1-with-entity-framework-5/using-web-api-with-entity-framework-part-7.md)
        - [Self-Host Web API 1 (C#)](overview/older-versions/self-host-a-web-api.md)
        - [Build RESTful API's with ASP.NET Web API](overview/older-versions/build-restful-apis-with-aspnet-web-api.md)
- [Videos](videos/index.md)

    - [Overview and Getting Started](videos/getting-started/index.md)

        - [ASP.NET Web API](videos/getting-started/aspnet-web-api.md)
        - [ASP.NET Web API, Part 1: Your First Web API](videos/getting-started/your-first-web-api.md)
        - [ASP.NET Web API, Part 2: Getting Data](videos/getting-started/getting-data.md)
        - [ASP.NET Web API, Part 3: Delete and Update](videos/getting-started/delete-and-update.md)
        - [ASP.NET Web API, Part 4: Paging and Querying](videos/getting-started/paging-and-querying.md)
        - [ASP.NET Web API, Part 5: Custom Validation](videos/getting-started/custom-validation.md)
        - [ASP.NET Web API, Part 6: Authorization](videos/getting-started/authorization.md)
- [Web API Samples List](samples-list.md)