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