Use the Microsoft Dataverse Web API
Effective November 2020:
- Common Data Service has been renamed to Microsoft Dataverse. Learn more
- Some terminology in Microsoft Dataverse has been updated. For example, entity is now table and field is now column. Learn more
This article will be updated soon to reflect the latest terminology.
The Web API is one of two web services you can use to work with data and metadata in Dataverse. The other is the Organization Service.
The Dataverse Web API provides a development experience that can be used across a wide variety of programming languages, platforms, and devices. The Web API implements the OData (Open Data Protocol), version 4.0, an OASIS standard for building and consuming RESTful APIs over rich data sources. You can learn more about this protocol at https://www.odata.org/. Details about this standard are available at https://www.oasis-open.org/standards#odatav4.0.
Because the Web API is built on open standards, we don't provide assemblies for a specific developer experience. You can compose HTTP requests for specific operations or use third-party libraries to generate classes for whatever language or platform you want. You can find a list of libraries that support OData version 4.0 at https://www.odata.org/libraries/.
Web API and the Organization service
It is valuable to recognize that the organization service is what defines the platform. The Web API provides a RESTful programming experience but ultimately all data operations go through the underlying organization service. The organization service defines the supported operations as messages. Each message has a name. These names are bound to the events used in the event framework to evaluate what registered extensions should be initiated. More information: Event Framework
The Web API allows you to do all the same operations as the organization service but presents them in an RESTful style. OData v4 provides for named operations via functions or actions. Most messages available in the organization service are exposed as a corresponding named function or action. Those messages that correspond to CRUD operations are not available in the Web API because as a RESTful service they have implementations using GET, POST, PATCH, and DELETE HTTP methods, but within the platform the retrieve, create, update, and delete messages are invoked just as they are when the corresponding operations are performed using the .NET Framework assemblies.
Now that you have read an overview of the Web API, proceed to the Get started with Dataverse Web API topic to learn how to write your first C# program in Visual Studio that uses the Web API.
Work with data using code
OData - the best way to REST
OData Version 4.0 Part 1: Protocol Plus Errata 02
OData Version 4.0 Part 2: URL Conventions Plus Errata 02
OData Version 4.0 Part 3: Common Schema Definition Language (CSDL) Plus Errata 02