Dataverse API, Dataverse SDK, and Power Platform API sound like similar names. However, they solve different problems.
Lets understand each option using simple scenarios. Lets start with the options available for Microsoft Dataverse.
Understand the Dataverse SDK and Web API
- Dataverse stores business data in tables. Accounts, contacts, cases, and custom tables are common examples.
- We can work with this data using the Dataverse SDK for .NET or the Dataverse Web API.
Dataverse SDK for .NET
- The Dataverse SDK provides .NET classes for working with Dataverse data and table definitions.
- The
Microsoft.PowerPlatform.Dataverse.ClientNuGet package provides theServiceClientclass. It implements theIOrganizationServiceinterface used by Dataverse. - Use the Dataverse SDK when:
- Your application is built with .NET.
- You want .NET classes for Dataverse requests and responses.
- You need to create, retrieve, update, or delete Dataverse rows.
- You need to run Dataverse messages or custom APIs.
- You are building a Dataverse plug-in or custom workflow activity.
Note: Dataverse plug-ins use the SDK for .NET. They normally access Dataverse through
IOrganizationService.
Dataverse Web API
- The Dataverse Web API provides the same Dataverse operations through HTTP requests. It follows the OData version 4 standard.
- The Web API uses an environment address such as
https://yourorg.crm.dynamics.com/api/data/v9.2/. - Applications send authenticated HTTP requests to this address. The common request types are:
GETretrieves rows.POSTcreates rows or calls actions.PATCHupdates rows.DELETEdeletes rows.
Use the Dataverse Web API when:
- Your application is not built with .NET.
- You prefer direct HTTP requests.
- You are building an integration using JavaScript, Python, Java, or another language.
- You do not need the .NET classes provided by the Dataverse SDK.
Now we know how to work with data inside Dataverse. Next, lets look at operations outside a single Dataverse database.
Understand the Power Platform API
- The Power Platform API manages supported Power Platform resources. It is mainly used for administration, inventory, and governance scenarios.
- Its base address is
https://api.powerplatform.com. - The API groups operations into areas such as:
- Environment management.
- Power Apps.
- Power Automate.
- Copilot Studio.
- Licensing.
- Connections and connectors.
- For example, the Environment Management area can return environments available to the signed-in user.
- Use the Power Platform API when:
- You need a list of Power Platform environments.
- You need to inventory Power Apps or cloud flows.
- You need supported governance or licensing operations.
- You need a documented Copilot Studio administration operation.
- The operation is listed in the Power Platform API reference.
Important: The Power Platform API does not provide every operation available in the maker or admin portals. Check the API reference before designing the integration.
Now lets look at the available options for using the Power Platform API from an application.
Use the Power Platform API from an Application
- Microsoft provides the
Microsoft.PowerPlatform.ManagementNuGet package. - The package provides .NET classes for supported Power Platform management operations. A C# console application can use it to list environments and access other documented resources.
- The application requires a Microsoft Entra app registration. Add the required Power Platform API permissions to that registration.
- For example, listing environments requires the
EnvironmentManagement.Environments.Readdelegated permission. - The signed-in user must also have permission to view the environments.
Use the REST API directly
- The management SDK is a .NET wrapper for Power Platform API requests. Applications can also call the REST endpoints directly.
- The application first obtains an access token from Microsoft Entra ID. The token must target
https://api.powerplatform.com/.default. - The application then sends that token with each Power Platform API request.
Now we have seen the application options. Lets map them to common project requirements.
Choose the Correct Option
Use the Dataverse SDK for .NET
- Choose the Dataverse SDK when a .NET application needs to work with Dataverse data.
- Example scenarios include:
- Create an Account row.
- Update a Case row.
- Query a custom table.
- Call a Dataverse custom API.
- Build a Dataverse plug-in.
Use the Dataverse Web API
- Choose the Dataverse Web API when an application needs Dataverse data through HTTP.
- Example scenarios include:
- Query Dataverse from JavaScript.
- Create Dataverse rows from Python.
- Connect an external system without using the .NET SDK.
- Use OData query options to filter returned rows.
Use the Power Platform API
- Choose the Power Platform API when the requirement is about the wider Power Platform service.
- Example scenarios include:
- List environments available to a user.
- List cloud flows in an environment.
- Read supported Power Apps information.
- Read tenant inventory information.
- Perform a supported Copilot Studio administration action.
Refer to the following Microsoft documentation:
- Use the Dataverse SDK for .NET
- Use the Dataverse Web API
- Get started with the Power Platform API
- Authenticate with the Power Platform API
- Power Platform API reference
- Power Platform Management SDK
Hope this distinction helps you select the correct API 🙂



Leave a Reply