Microsoft Power Apps Tables API

CRUD operations against Dataverse tables (entities).

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/power-apps-tables-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

power-apps-tables-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Microsoft Dataverse Web API (Power Apps) System Tables API
  description: 'The Microsoft Dataverse Web API is a RESTful, OData v4 interface used by

    Power Apps and Dynamics 365 to interact with Dataverse data. This

    definition captures a representative subset of common operations

    (WhoAmI, table CRUD on accounts, $batch). The Web API base URL is

    organization-specific.

    Derived from https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview.

    '
  version: '9.2'
  contact:
    name: Microsoft Power Apps
    url: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/webapi/overview
servers:
- url: https://{organization}.crm.dynamics.com/api/data/v9.2
  description: Dataverse Web API endpoint for a specific organization
  variables:
    organization:
      default: org
      description: Your Dataverse organization subdomain
security:
- OAuth2: []
tags:
- name: Tables
  description: CRUD operations against Dataverse tables (entities).
paths:
  /accounts:
    get:
      tags:
      - Tables
      summary: Retrieve accounts
      description: Returns a collection of account records. Supports OData query options ($select, $filter, $top, $orderby).
      operationId: listAccounts
      parameters:
      - name: $select
        in: query
        schema:
          type: string
      - name: $filter
        in: query
        schema:
          type: string
      - name: $top
        in: query
        schema:
          type: integer
      - name: $orderby
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Account collection
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.context':
                    type: string
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Account'
    post:
      tags:
      - Tables
      summary: Create an account
      operationId: createAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
      responses:
        '204':
          description: Account created; OData-EntityId header returns the new record URI.
  /accounts({accountid}):
    parameters:
    - $ref: '#/components/parameters/AccountId'
    get:
      tags:
      - Tables
      summary: Retrieve an account by id
      operationId: getAccount
      responses:
        '200':
          description: The account record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
    patch:
      tags:
      - Tables
      summary: Update an account
      operationId: updateAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Account'
      responses:
        '204':
          description: Account updated
    delete:
      tags:
      - Tables
      summary: Delete an account
      operationId: deleteAccount
      responses:
        '204':
          description: Account deleted
components:
  schemas:
    Account:
      type: object
      properties:
        accountid:
          type: string
          format: uuid
        name:
          type: string
        telephone1:
          type: string
        emailaddress1:
          type: string
        websiteurl:
          type: string
          format: uri
        revenue:
          type: number
        createdon:
          type: string
          format: date-time
        modifiedon:
          type: string
          format: date-time
  parameters:
    AccountId:
      name: accountid
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: Primary key (GUID) of the account record.
  securitySchemes:
    OAuth2:
      type: oauth2
      description: 'Authentication uses Microsoft Entra ID (Azure AD) OAuth 2.0. Acquire a

        bearer token with the audience set to the Dataverse organization URL,

        for example https://{organization}.crm.dynamics.com/.default.

        '
      flows:
        authorizationCode:
          authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            https://{organization}.crm.dynamics.com/user_impersonation: Access Dataverse as the signed-in user
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
          scopes:
            https://{organization}.crm.dynamics.com/.default: Application access to Dataverse