Microsoft Dynamics 365 · Capability

Microsoft Dynamics 365 Dataverse Web API

RESTful web service implementing OData v4.0 for interacting with data in Microsoft Dataverse, the underlying data platform for Dynamics 365 and Power Platform applications. This specification covers core CRM entities including accounts, contacts, and opportunities.

Run with Naftiko MicrosoftDynamics365API

What You Can Do

GET
Listaccounts — Microsoft Dynamics 365 List accounts
/accounts
POST
Createaccount — Microsoft Dynamics 365 Create an account
/accounts
GET
Getaccount — Microsoft Dynamics 365 Retrieve an account
/accounts({accountid})
PATCH
Updateaccount — Microsoft Dynamics 365 Update an account
/accounts({accountid})
DELETE
Deleteaccount — Microsoft Dynamics 365 Delete an account
/accounts({accountid})
GET
Listcontacts — Microsoft Dynamics 365 List contacts
/contacts
POST
Createcontact — Microsoft Dynamics 365 Create a contact
/contacts
GET
Getcontact — Microsoft Dynamics 365 Retrieve a contact
/contacts({contactid})
PATCH
Updatecontact — Microsoft Dynamics 365 Update a contact
/contacts({contactid})
DELETE
Deletecontact — Microsoft Dynamics 365 Delete a contact
/contacts({contactid})
GET
Listopportunities — Microsoft Dynamics 365 List opportunities
/opportunities
POST
Createopportunity — Microsoft Dynamics 365 Create an opportunity
/opportunities
GET
Getopportunity — Microsoft Dynamics 365 Retrieve an opportunity
/opportunities({opportunityid})
PATCH
Updateopportunity — Microsoft Dynamics 365 Update an opportunity
/opportunities({opportunityid})
DELETE
Deleteopportunity — Microsoft Dynamics 365 Delete an opportunity
/opportunities({opportunityid})

MCP Tools

listaccounts

Microsoft Dynamics 365 List accounts

read-only idempotent
createaccount

Microsoft Dynamics 365 Create an account

getaccount

Microsoft Dynamics 365 Retrieve an account

read-only idempotent
updateaccount

Microsoft Dynamics 365 Update an account

deleteaccount

Microsoft Dynamics 365 Delete an account

idempotent
listcontacts

Microsoft Dynamics 365 List contacts

read-only idempotent
createcontact

Microsoft Dynamics 365 Create a contact

getcontact

Microsoft Dynamics 365 Retrieve a contact

read-only idempotent
updatecontact

Microsoft Dynamics 365 Update a contact

deletecontact

Microsoft Dynamics 365 Delete a contact

idempotent
listopportunities

Microsoft Dynamics 365 List opportunities

read-only idempotent
createopportunity

Microsoft Dynamics 365 Create an opportunity

getopportunity

Microsoft Dynamics 365 Retrieve an opportunity

read-only idempotent
updateopportunity

Microsoft Dynamics 365 Update an opportunity

deleteopportunity

Microsoft Dynamics 365 Delete an opportunity

idempotent

Capability Spec

microsoft-dynamics-365-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Dynamics 365 Dataverse Web API
  description: RESTful web service implementing OData v4.0 for interacting with data in Microsoft Dataverse, the underlying
    data platform for Dynamics 365 and Power Platform applications. This specification covers core CRM entities including
    accounts, contacts, and opportunities.
  tags:
  - Microsoft
  - Dynamics
  - '365'
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: microsoft-dynamics-365
    baseUri: https://yourorg.api.crm.dynamics.com/api/data/v9.2
    description: Microsoft Dynamics 365 Dataverse Web API HTTP API.
    authentication:
      type: bearer
      token: '{{MICROSOFT_DYNAMICS_365_TOKEN}}'
    resources:
    - name: accounts
      path: /accounts
      operations:
      - name: listaccounts
        method: GET
        description: Microsoft Dynamics 365 List accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createaccount
        method: POST
        description: Microsoft Dynamics 365 Create an account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: accounts-accountid
      path: /accounts({accountid})
      operations:
      - name: getaccount
        method: GET
        description: Microsoft Dynamics 365 Retrieve an account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateaccount
        method: PATCH
        description: Microsoft Dynamics 365 Update an account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteaccount
        method: DELETE
        description: Microsoft Dynamics 365 Delete an account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts
      path: /contacts
      operations:
      - name: listcontacts
        method: GET
        description: Microsoft Dynamics 365 List contacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcontact
        method: POST
        description: Microsoft Dynamics 365 Create a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: contacts-contactid
      path: /contacts({contactid})
      operations:
      - name: getcontact
        method: GET
        description: Microsoft Dynamics 365 Retrieve a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecontact
        method: PATCH
        description: Microsoft Dynamics 365 Update a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecontact
        method: DELETE
        description: Microsoft Dynamics 365 Delete a contact
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: opportunities
      path: /opportunities
      operations:
      - name: listopportunities
        method: GET
        description: Microsoft Dynamics 365 List opportunities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createopportunity
        method: POST
        description: Microsoft Dynamics 365 Create an opportunity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: opportunities-opportunityid
      path: /opportunities({opportunityid})
      operations:
      - name: getopportunity
        method: GET
        description: Microsoft Dynamics 365 Retrieve an opportunity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateopportunity
        method: PATCH
        description: Microsoft Dynamics 365 Update an opportunity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleteopportunity
        method: DELETE
        description: Microsoft Dynamics 365 Delete an opportunity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: microsoft-dynamics-365-rest
    description: REST adapter for Microsoft Dynamics 365 Dataverse Web API.
    resources:
    - path: /accounts
      name: listaccounts
      operations:
      - method: GET
        name: listaccounts
        description: Microsoft Dynamics 365 List accounts
        call: microsoft-dynamics-365.listaccounts
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts
      name: createaccount
      operations:
      - method: POST
        name: createaccount
        description: Microsoft Dynamics 365 Create an account
        call: microsoft-dynamics-365.createaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts({accountid})
      name: getaccount
      operations:
      - method: GET
        name: getaccount
        description: Microsoft Dynamics 365 Retrieve an account
        call: microsoft-dynamics-365.getaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts({accountid})
      name: updateaccount
      operations:
      - method: PATCH
        name: updateaccount
        description: Microsoft Dynamics 365 Update an account
        call: microsoft-dynamics-365.updateaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /accounts({accountid})
      name: deleteaccount
      operations:
      - method: DELETE
        name: deleteaccount
        description: Microsoft Dynamics 365 Delete an account
        call: microsoft-dynamics-365.deleteaccount
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts
      name: listcontacts
      operations:
      - method: GET
        name: listcontacts
        description: Microsoft Dynamics 365 List contacts
        call: microsoft-dynamics-365.listcontacts
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts
      name: createcontact
      operations:
      - method: POST
        name: createcontact
        description: Microsoft Dynamics 365 Create a contact
        call: microsoft-dynamics-365.createcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts({contactid})
      name: getcontact
      operations:
      - method: GET
        name: getcontact
        description: Microsoft Dynamics 365 Retrieve a contact
        call: microsoft-dynamics-365.getcontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts({contactid})
      name: updatecontact
      operations:
      - method: PATCH
        name: updatecontact
        description: Microsoft Dynamics 365 Update a contact
        call: microsoft-dynamics-365.updatecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /contacts({contactid})
      name: deletecontact
      operations:
      - method: DELETE
        name: deletecontact
        description: Microsoft Dynamics 365 Delete a contact
        call: microsoft-dynamics-365.deletecontact
        outputParameters:
        - type: object
          mapping: $.
    - path: /opportunities
      name: listopportunities
      operations:
      - method: GET
        name: listopportunities
        description: Microsoft Dynamics 365 List opportunities
        call: microsoft-dynamics-365.listopportunities
        outputParameters:
        - type: object
          mapping: $.
    - path: /opportunities
      name: createopportunity
      operations:
      - method: POST
        name: createopportunity
        description: Microsoft Dynamics 365 Create an opportunity
        call: microsoft-dynamics-365.createopportunity
        outputParameters:
        - type: object
          mapping: $.
    - path: /opportunities({opportunityid})
      name: getopportunity
      operations:
      - method: GET
        name: getopportunity
        description: Microsoft Dynamics 365 Retrieve an opportunity
        call: microsoft-dynamics-365.getopportunity
        outputParameters:
        - type: object
          mapping: $.
    - path: /opportunities({opportunityid})
      name: updateopportunity
      operations:
      - method: PATCH
        name: updateopportunity
        description: Microsoft Dynamics 365 Update an opportunity
        call: microsoft-dynamics-365.updateopportunity
        outputParameters:
        - type: object
          mapping: $.
    - path: /opportunities({opportunityid})
      name: deleteopportunity
      operations:
      - method: DELETE
        name: deleteopportunity
        description: Microsoft Dynamics 365 Delete an opportunity
        call: microsoft-dynamics-365.deleteopportunity
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: microsoft-dynamics-365-mcp
    transport: http
    description: MCP adapter for Microsoft Dynamics 365 Dataverse Web API for AI agent use.
    tools:
    - name: listaccounts
      description: Microsoft Dynamics 365 List accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics-365.listaccounts
      outputParameters:
      - type: object
        mapping: $.
    - name: createaccount
      description: Microsoft Dynamics 365 Create an account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics-365.createaccount
      outputParameters:
      - type: object
        mapping: $.
    - name: getaccount
      description: Microsoft Dynamics 365 Retrieve an account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics-365.getaccount
      outputParameters:
      - type: object
        mapping: $.
    - name: updateaccount
      description: Microsoft Dynamics 365 Update an account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics-365.updateaccount
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteaccount
      description: Microsoft Dynamics 365 Delete an account
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microsoft-dynamics-365.deleteaccount
      outputParameters:
      - type: object
        mapping: $.
    - name: listcontacts
      description: Microsoft Dynamics 365 List contacts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics-365.listcontacts
      outputParameters:
      - type: object
        mapping: $.
    - name: createcontact
      description: Microsoft Dynamics 365 Create a contact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics-365.createcontact
      outputParameters:
      - type: object
        mapping: $.
    - name: getcontact
      description: Microsoft Dynamics 365 Retrieve a contact
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics-365.getcontact
      outputParameters:
      - type: object
        mapping: $.
    - name: updatecontact
      description: Microsoft Dynamics 365 Update a contact
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics-365.updatecontact
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecontact
      description: Microsoft Dynamics 365 Delete a contact
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microsoft-dynamics-365.deletecontact
      outputParameters:
      - type: object
        mapping: $.
    - name: listopportunities
      description: Microsoft Dynamics 365 List opportunities
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics-365.listopportunities
      outputParameters:
      - type: object
        mapping: $.
    - name: createopportunity
      description: Microsoft Dynamics 365 Create an opportunity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics-365.createopportunity
      outputParameters:
      - type: object
        mapping: $.
    - name: getopportunity
      description: Microsoft Dynamics 365 Retrieve an opportunity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics-365.getopportunity
      outputParameters:
      - type: object
        mapping: $.
    - name: updateopportunity
      description: Microsoft Dynamics 365 Update an opportunity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics-365.updateopportunity
      outputParameters:
      - type: object
        mapping: $.
    - name: deleteopportunity
      description: Microsoft Dynamics 365 Delete an opportunity
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microsoft-dynamics-365.deleteopportunity
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    MICROSOFT_DYNAMICS_365_TOKEN: MICROSOFT_DYNAMICS_365_TOKEN