Microsoft Dynamics · Capability

Microsoft Dynamics 365 Business Central API

The Microsoft Dynamics 365 Business Central API (v2.0) provides a RESTful interface for integrating with Business Central. It exposes standard business entities such as customers, vendors, items, sales orders, purchase orders, journals, and general ledger entries. The API uses OData v4 conventions and requires Microsoft Entra ID (Azure AD) authentication.

Run with Naftiko MicrosoftDynamicsAPI

What You Can Do

GET
Listcompanies — Microsoft Dynamics List companies
/companies
GET
Listcustomers — Microsoft Dynamics List customers
/companies({companyId})/customers
POST
Createcustomer — Microsoft Dynamics Create a customer
/companies({companyId})/customers
GET
Getcustomer — Microsoft Dynamics Get a customer
/companies({companyId})/customers({customerId})
PATCH
Updatecustomer — Microsoft Dynamics Update a customer
/companies({companyId})/customers({customerId})
DELETE
Deletecustomer — Microsoft Dynamics Delete a customer
/companies({companyId})/customers({customerId})
GET
Listvendors — Microsoft Dynamics List vendors
/companies({companyId})/vendors
POST
Createvendor — Microsoft Dynamics Create a vendor
/companies({companyId})/vendors
GET
Listitems — Microsoft Dynamics List items
/companies({companyId})/items
POST
Createitem — Microsoft Dynamics Create an item
/companies({companyId})/items
GET
Listsalesorders — Microsoft Dynamics List sales orders
/companies({companyId})/salesOrders
POST
Createsalesorder — Microsoft Dynamics Create a sales order
/companies({companyId})/salesOrders
GET
Listsalesinvoices — Microsoft Dynamics List sales invoices
/companies({companyId})/salesInvoices
POST
Createsalesinvoice — Microsoft Dynamics Create a sales invoice
/companies({companyId})/salesInvoices
GET
Listpurchaseorders — Microsoft Dynamics List purchase orders
/companies({companyId})/purchaseOrders
POST
Createpurchaseorder — Microsoft Dynamics Create a purchase order
/companies({companyId})/purchaseOrders
GET
Listpurchaseinvoices — Microsoft Dynamics List purchase invoices
/companies({companyId})/purchaseInvoices
POST
Createpurchaseinvoice — Microsoft Dynamics Create a purchase invoice
/companies({companyId})/purchaseInvoices
GET
Listgeneralledgerentries — Microsoft Dynamics List general ledger entries
/companies({companyId})/generalLedgerEntries
GET
Listaccounts — Microsoft Dynamics List chart of accounts
/companies({companyId})/accounts
GET
Listjournals — Microsoft Dynamics List journals
/companies({companyId})/journals
POST
Createjournal — Microsoft Dynamics Create a journal
/companies({companyId})/journals
GET
Listemployees — Microsoft Dynamics List employees
/companies({companyId})/employees
POST
Createemployee — Microsoft Dynamics Create an employee
/companies({companyId})/employees

MCP Tools

listcompanies

Microsoft Dynamics List companies

read-only idempotent
listcustomers

Microsoft Dynamics List customers

read-only idempotent
createcustomer

Microsoft Dynamics Create a customer

getcustomer

Microsoft Dynamics Get a customer

read-only idempotent
updatecustomer

Microsoft Dynamics Update a customer

deletecustomer

Microsoft Dynamics Delete a customer

idempotent
listvendors

Microsoft Dynamics List vendors

read-only idempotent
createvendor

Microsoft Dynamics Create a vendor

listitems

Microsoft Dynamics List items

read-only idempotent
createitem

Microsoft Dynamics Create an item

listsalesorders

Microsoft Dynamics List sales orders

read-only idempotent
createsalesorder

Microsoft Dynamics Create a sales order

listsalesinvoices

Microsoft Dynamics List sales invoices

read-only idempotent
createsalesinvoice

Microsoft Dynamics Create a sales invoice

listpurchaseorders

Microsoft Dynamics List purchase orders

read-only idempotent
createpurchaseorder

Microsoft Dynamics Create a purchase order

listpurchaseinvoices

Microsoft Dynamics List purchase invoices

read-only idempotent
createpurchaseinvoice

Microsoft Dynamics Create a purchase invoice

listgeneralledgerentries

Microsoft Dynamics List general ledger entries

read-only idempotent
listaccounts

Microsoft Dynamics List chart of accounts

read-only idempotent
listjournals

Microsoft Dynamics List journals

read-only idempotent
createjournal

Microsoft Dynamics Create a journal

listemployees

Microsoft Dynamics List employees

read-only idempotent
createemployee

Microsoft Dynamics Create an employee

Capability Spec

microsoft-dynamics-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Microsoft Dynamics 365 Business Central API
  description: The Microsoft Dynamics 365 Business Central API (v2.0) provides a RESTful interface for integrating with Business
    Central. It exposes standard business entities such as customers, vendors, items, sales orders, purchase orders, journals,
    and general ledger entries. The API uses OData v4 conventions and requires Microsoft Entra ID (Azure AD) authentication.
  tags:
  - Microsoft
  - Dynamics
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: microsoft-dynamics
    baseUri: https://api.businesscentral.dynamics.com/v2.0/common/production/api/v2.0
    description: Microsoft Dynamics 365 Business Central API HTTP API.
    authentication:
      type: bearer
      token: '{{MICROSOFT_DYNAMICS_TOKEN}}'
    resources:
    - name: companies
      path: /companies
      operations:
      - name: listcompanies
        method: GET
        description: Microsoft Dynamics List companies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-customers
      path: /companies({companyId})/customers
      operations:
      - name: listcustomers
        method: GET
        description: Microsoft Dynamics List customers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcustomer
        method: POST
        description: Microsoft Dynamics Create a customer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-customers-customerid
      path: /companies({companyId})/customers({customerId})
      operations:
      - name: getcustomer
        method: GET
        description: Microsoft Dynamics Get a customer
        inputParameters:
        - name: customerId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecustomer
        method: PATCH
        description: Microsoft Dynamics Update a customer
        inputParameters:
        - name: customerId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deletecustomer
        method: DELETE
        description: Microsoft Dynamics Delete a customer
        inputParameters:
        - name: customerId
          in: path
          type: string
          required: true
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-vendors
      path: /companies({companyId})/vendors
      operations:
      - name: listvendors
        method: GET
        description: Microsoft Dynamics List vendors
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createvendor
        method: POST
        description: Microsoft Dynamics Create a vendor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-items
      path: /companies({companyId})/items
      operations:
      - name: listitems
        method: GET
        description: Microsoft Dynamics List items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createitem
        method: POST
        description: Microsoft Dynamics Create an item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-salesorders
      path: /companies({companyId})/salesOrders
      operations:
      - name: listsalesorders
        method: GET
        description: Microsoft Dynamics List sales orders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsalesorder
        method: POST
        description: Microsoft Dynamics Create a sales order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-salesinvoices
      path: /companies({companyId})/salesInvoices
      operations:
      - name: listsalesinvoices
        method: GET
        description: Microsoft Dynamics List sales invoices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createsalesinvoice
        method: POST
        description: Microsoft Dynamics Create a sales invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-purchaseorders
      path: /companies({companyId})/purchaseOrders
      operations:
      - name: listpurchaseorders
        method: GET
        description: Microsoft Dynamics List purchase orders
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createpurchaseorder
        method: POST
        description: Microsoft Dynamics Create a purchase order
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-purchaseinvoices
      path: /companies({companyId})/purchaseInvoices
      operations:
      - name: listpurchaseinvoices
        method: GET
        description: Microsoft Dynamics List purchase invoices
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createpurchaseinvoice
        method: POST
        description: Microsoft Dynamics Create a purchase invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-generalledgerentries
      path: /companies({companyId})/generalLedgerEntries
      operations:
      - name: listgeneralledgerentries
        method: GET
        description: Microsoft Dynamics List general ledger entries
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-accounts
      path: /companies({companyId})/accounts
      operations:
      - name: listaccounts
        method: GET
        description: Microsoft Dynamics List chart of accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-journals
      path: /companies({companyId})/journals
      operations:
      - name: listjournals
        method: GET
        description: Microsoft Dynamics List journals
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createjournal
        method: POST
        description: Microsoft Dynamics Create a journal
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: companies-companyid-employees
      path: /companies({companyId})/employees
      operations:
      - name: listemployees
        method: GET
        description: Microsoft Dynamics List employees
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createemployee
        method: POST
        description: Microsoft Dynamics Create an employee
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: microsoft-dynamics-rest
    description: REST adapter for Microsoft Dynamics 365 Business Central API.
    resources:
    - path: /companies
      name: listcompanies
      operations:
      - method: GET
        name: listcompanies
        description: Microsoft Dynamics List companies
        call: microsoft-dynamics.listcompanies
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/customers
      name: listcustomers
      operations:
      - method: GET
        name: listcustomers
        description: Microsoft Dynamics List customers
        call: microsoft-dynamics.listcustomers
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/customers
      name: createcustomer
      operations:
      - method: POST
        name: createcustomer
        description: Microsoft Dynamics Create a customer
        call: microsoft-dynamics.createcustomer
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/customers({customerId})
      name: getcustomer
      operations:
      - method: GET
        name: getcustomer
        description: Microsoft Dynamics Get a customer
        call: microsoft-dynamics.getcustomer
        with:
          customerId: rest.customerId
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/customers({customerId})
      name: updatecustomer
      operations:
      - method: PATCH
        name: updatecustomer
        description: Microsoft Dynamics Update a customer
        call: microsoft-dynamics.updatecustomer
        with:
          customerId: rest.customerId
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/customers({customerId})
      name: deletecustomer
      operations:
      - method: DELETE
        name: deletecustomer
        description: Microsoft Dynamics Delete a customer
        call: microsoft-dynamics.deletecustomer
        with:
          customerId: rest.customerId
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/vendors
      name: listvendors
      operations:
      - method: GET
        name: listvendors
        description: Microsoft Dynamics List vendors
        call: microsoft-dynamics.listvendors
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/vendors
      name: createvendor
      operations:
      - method: POST
        name: createvendor
        description: Microsoft Dynamics Create a vendor
        call: microsoft-dynamics.createvendor
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/items
      name: listitems
      operations:
      - method: GET
        name: listitems
        description: Microsoft Dynamics List items
        call: microsoft-dynamics.listitems
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/items
      name: createitem
      operations:
      - method: POST
        name: createitem
        description: Microsoft Dynamics Create an item
        call: microsoft-dynamics.createitem
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/salesOrders
      name: listsalesorders
      operations:
      - method: GET
        name: listsalesorders
        description: Microsoft Dynamics List sales orders
        call: microsoft-dynamics.listsalesorders
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/salesOrders
      name: createsalesorder
      operations:
      - method: POST
        name: createsalesorder
        description: Microsoft Dynamics Create a sales order
        call: microsoft-dynamics.createsalesorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/salesInvoices
      name: listsalesinvoices
      operations:
      - method: GET
        name: listsalesinvoices
        description: Microsoft Dynamics List sales invoices
        call: microsoft-dynamics.listsalesinvoices
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/salesInvoices
      name: createsalesinvoice
      operations:
      - method: POST
        name: createsalesinvoice
        description: Microsoft Dynamics Create a sales invoice
        call: microsoft-dynamics.createsalesinvoice
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/purchaseOrders
      name: listpurchaseorders
      operations:
      - method: GET
        name: listpurchaseorders
        description: Microsoft Dynamics List purchase orders
        call: microsoft-dynamics.listpurchaseorders
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/purchaseOrders
      name: createpurchaseorder
      operations:
      - method: POST
        name: createpurchaseorder
        description: Microsoft Dynamics Create a purchase order
        call: microsoft-dynamics.createpurchaseorder
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/purchaseInvoices
      name: listpurchaseinvoices
      operations:
      - method: GET
        name: listpurchaseinvoices
        description: Microsoft Dynamics List purchase invoices
        call: microsoft-dynamics.listpurchaseinvoices
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/purchaseInvoices
      name: createpurchaseinvoice
      operations:
      - method: POST
        name: createpurchaseinvoice
        description: Microsoft Dynamics Create a purchase invoice
        call: microsoft-dynamics.createpurchaseinvoice
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/generalLedgerEntries
      name: listgeneralledgerentries
      operations:
      - method: GET
        name: listgeneralledgerentries
        description: Microsoft Dynamics List general ledger entries
        call: microsoft-dynamics.listgeneralledgerentries
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/accounts
      name: listaccounts
      operations:
      - method: GET
        name: listaccounts
        description: Microsoft Dynamics List chart of accounts
        call: microsoft-dynamics.listaccounts
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/journals
      name: listjournals
      operations:
      - method: GET
        name: listjournals
        description: Microsoft Dynamics List journals
        call: microsoft-dynamics.listjournals
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/journals
      name: createjournal
      operations:
      - method: POST
        name: createjournal
        description: Microsoft Dynamics Create a journal
        call: microsoft-dynamics.createjournal
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/employees
      name: listemployees
      operations:
      - method: GET
        name: listemployees
        description: Microsoft Dynamics List employees
        call: microsoft-dynamics.listemployees
        outputParameters:
        - type: object
          mapping: $.
    - path: /companies({companyId})/employees
      name: createemployee
      operations:
      - method: POST
        name: createemployee
        description: Microsoft Dynamics Create an employee
        call: microsoft-dynamics.createemployee
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: microsoft-dynamics-mcp
    transport: http
    description: MCP adapter for Microsoft Dynamics 365 Business Central API for AI agent use.
    tools:
    - name: listcompanies
      description: Microsoft Dynamics List companies
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listcompanies
      outputParameters:
      - type: object
        mapping: $.
    - name: listcustomers
      description: Microsoft Dynamics List customers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listcustomers
      outputParameters:
      - type: object
        mapping: $.
    - name: createcustomer
      description: Microsoft Dynamics Create a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createcustomer
      outputParameters:
      - type: object
        mapping: $.
    - name: getcustomer
      description: Microsoft Dynamics Get a customer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.getcustomer
      with:
        customerId: tools.customerId
      inputParameters:
      - name: customerId
        type: string
        description: customerId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updatecustomer
      description: Microsoft Dynamics Update a customer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.updatecustomer
      with:
        customerId: tools.customerId
      inputParameters:
      - name: customerId
        type: string
        description: customerId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: deletecustomer
      description: Microsoft Dynamics Delete a customer
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: microsoft-dynamics.deletecustomer
      with:
        customerId: tools.customerId
      inputParameters:
      - name: customerId
        type: string
        description: customerId
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: listvendors
      description: Microsoft Dynamics List vendors
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listvendors
      outputParameters:
      - type: object
        mapping: $.
    - name: createvendor
      description: Microsoft Dynamics Create a vendor
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createvendor
      outputParameters:
      - type: object
        mapping: $.
    - name: listitems
      description: Microsoft Dynamics List items
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listitems
      outputParameters:
      - type: object
        mapping: $.
    - name: createitem
      description: Microsoft Dynamics Create an item
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createitem
      outputParameters:
      - type: object
        mapping: $.
    - name: listsalesorders
      description: Microsoft Dynamics List sales orders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listsalesorders
      outputParameters:
      - type: object
        mapping: $.
    - name: createsalesorder
      description: Microsoft Dynamics Create a sales order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createsalesorder
      outputParameters:
      - type: object
        mapping: $.
    - name: listsalesinvoices
      description: Microsoft Dynamics List sales invoices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listsalesinvoices
      outputParameters:
      - type: object
        mapping: $.
    - name: createsalesinvoice
      description: Microsoft Dynamics Create a sales invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createsalesinvoice
      outputParameters:
      - type: object
        mapping: $.
    - name: listpurchaseorders
      description: Microsoft Dynamics List purchase orders
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listpurchaseorders
      outputParameters:
      - type: object
        mapping: $.
    - name: createpurchaseorder
      description: Microsoft Dynamics Create a purchase order
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createpurchaseorder
      outputParameters:
      - type: object
        mapping: $.
    - name: listpurchaseinvoices
      description: Microsoft Dynamics List purchase invoices
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listpurchaseinvoices
      outputParameters:
      - type: object
        mapping: $.
    - name: createpurchaseinvoice
      description: Microsoft Dynamics Create a purchase invoice
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createpurchaseinvoice
      outputParameters:
      - type: object
        mapping: $.
    - name: listgeneralledgerentries
      description: Microsoft Dynamics List general ledger entries
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listgeneralledgerentries
      outputParameters:
      - type: object
        mapping: $.
    - name: listaccounts
      description: Microsoft Dynamics List chart of accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listaccounts
      outputParameters:
      - type: object
        mapping: $.
    - name: listjournals
      description: Microsoft Dynamics List journals
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listjournals
      outputParameters:
      - type: object
        mapping: $.
    - name: createjournal
      description: Microsoft Dynamics Create a journal
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createjournal
      outputParameters:
      - type: object
        mapping: $.
    - name: listemployees
      description: Microsoft Dynamics List employees
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: microsoft-dynamics.listemployees
      outputParameters:
      - type: object
        mapping: $.
    - name: createemployee
      description: Microsoft Dynamics Create an employee
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: microsoft-dynamics.createemployee
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    MICROSOFT_DYNAMICS_TOKEN: MICROSOFT_DYNAMICS_TOKEN