Save manual as PDF or print  


NVXAPIA API Automation




Current Version: 1.1.4.0 as of Business Central 23.

Manual


Creation date: 2025/07/05
The current version of this manual can be found at:

https://www.navax.app/help.php?AppID=NVXAPIA&L=en


☰ Contents



General

  • App API Automation
    API Automation extends Microsoft Dynamics 365 Business Central with dynamic API endpoints that enable reading, editing, inserting, and deleting data from Microsoft Dynamics 365 Business Central...

Setup

  • API Automation Hub
    Setting up API automation requires two steps...
  • Mappings
    This guide describes how to set up so-called mappings in Microsoft Dynamics 365 Business Central. A mapping defines which tables and fields are made available for external queries. This allows you to control which data third-party applications can access...

Working with the App

  • Endpoint Definition
    On this page, you will find an overview of the various API endpoints for API Automation. These endpoints enable access to and interaction with data from Microsoft Dynamics 365 Business Central...
  • Working with the App
    This app enables you to flexibly extract data from Microsoft Dynamics 365 Business Central and integrate it into external systems...

Appendix

  • Available Endpoints
  • Release Notes

Docs  /  NVXAPIA API Automation  /  General
App API Automation

API Automation extends Microsoft Dynamics 365 Business Central with dynamic API endpoints that enable reading, editing, inserting, and deleting data from Microsoft Dynamics 365 Business Central.

Navigation

Fields, actions, pages, and reports originating from the extension are marked with API Automation.

Docs  /  NVXAPIA API Automation  /  Setup
API Automation Hub

Setting up API automation requires two steps. Before any configurations can be made in Business Central, the necessary settings must first be completed in Azure to enable communication with Business Central via web services. All relevant configurations in Business Central can be managed directly through the API Automation Hub page.

Setup in Azure

Microsoft Entra Application

To make requests to Business Central via the API, another Entra application is required that has all the permissions for API automation.

  1. Create Entra Application in Azure
  2. After creating the Entra application in Azure, it is also necessary to create the Entra application in Business Central. (This is also described in the link)
  3. Important: For API automation, it is important to add the permission set APIAPermissionsNVX as well as D365 READ.

Add the API Function Codeunit to Web Services

To publish the API endpoint of the API Automation, it is necessary to add the APIAFunctionsNVX Codeunit to the web services.

  1. Navigate to the Web Services page
  2. Click on + New
  3. Use the following settings:
    • Object Type: Codeunit
    • Object ID: 64812
    • Service Name: APIAFunctionsNVX
  4. Publish the endpoint by enabling the Published flag
  5. The newly created web service should look like this:

Setup in Business Central

In the second step, further configurations are carried out in Business Central. By using the Make technical setup action, an overview of all relevant configuration fields is displayed. First, API automation is activated by enabling the Enable Endpoints flag. Second, the Number of Records field allows you to define the maximum number of records per request. If this limit is exceeded, paging must be used. If the field is left empty, a default limit of 20,000 records per request applies.

Docs  /  NVXAPIA API Automation  /  Setup
Mappings

This guide describes how to set up so-called mappings in Microsoft Dynamics 365 Business Central. A mapping defines which tables and fields are made available for external queries. This allows you to control which data third-party applications can access. The mapping configuration is carried out entirely within Business Central and consists of several steps. You start by creating a parent mapping record, then define the tables and the individual fields you want to make available.
  • Create a unique mapping code and description.
  • Add all tables you want to include.
  • If needed, use the function to automatically include all fields of a table.
  • Edit or refine the field selection to expose only the required fields.
After completing the setup, the mapping can be used in web service queries via the corresponding mapping code. This ensures that only the defined content is accessible externally. For more information, see Working with the App, Working with the App.

Docs  /  NVXAPIA API Automation  /  Working with the App
Endpoint Definition

On this page, you will find an overview of the various API endpoints for API Automation. These endpoints enable access to and interaction with data from Microsoft Dynamics 365 Business Central.

API Pages

In this section, you will find an overview of the available API pages. These endpoints allow you to retrieve structured data from Business Central in a standardized format. They serve as the foundation for more advanced queries by providing key information about tables and fields required for configuring and filtering further data requests.

All Objects with Caption

With the endpoint allObjWithCaptions, you can query records from the All Objects with Caption table in Business Central.

Endpoint: GET /api/navax/apia/v1.0/companies({{CompanyID}})/allObjWithCaptions

HTTP MethodGET
URL
https://api.businesscentral.dynamics.com/v2.0/{{EnviromentName}}/api/navax/apia/v1.0/companies({{CompanyID}})/allObjWithCaptions
Example Call
GET https://api.businesscentral.dynamics.com/v2.0/TEST/api/navax/apia/v1.0/companies(00000000-0000-0000-0000-000000000000)/allObjWithCaptions
ResponseThe endpoint returns the details of the requested record in JSON format.

Fields

With the endpoint fields, you can query records from the Fields table in Business Central.

Endpoint: GET /api/navax/apia/v1.0/companies({{CompanyID}})/fields

HTTP MethodGET
URL
https://api.businesscentral.dynamics.com/v2.0/{{EnviromentName}}/api/navax/apia/v1.0/companies({{CompanyID}})/fields
Example Call
GET https://api.businesscentral.dynamics.com/v2.0/TEST/api/navax/apia/v1.0/companies(00000000-0000-0000-0000-000000000000)/fields
ResponseThe endpoint returns the details of the requested record in JSON format.

Tip

The endpoints for All Objects with Caption and Fields can be used as a basis for pre-storing certain data for subsequent queries. Field IDs and table IDs are used in functions to filter records.

API Functions

The following functions offer advanced options for interacting with data in Business Central. Unlike the basic page endpoints, these functions allow targeted queries of complex structures, filtering based on specific criteria, and retrieving data across multiple tenants simultaneously. The functions can be flexibly adapted and are particularly well-suited for dynamic scenarios or analyses in external systems such as Power BI.

Important

The example URLs in the individual requests assume that the required Codeunit 64812 APIAFunctionsNVX has been set up with the name APIAFunctionsNVX during the configuration process. For more information, see Setup, API Automation Hub.

Read Table Structure from BC

With the endpoint GetTableStructure, you can query the structure of tables from Business Central.

Endpoint: POST /v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableStructure?company={{CompanyName}}

HTTP MethodPOST
URL
https://api.businesscentral.dynamics.com/v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableStructure?company={{CompanyName}}
Required Parameters
  • tableID: The ID of the table to be queried.
Example Call
POST https://api.businesscentral.dynamics.com/v2.0/00000000-0000-0000-0000-000000000000/TEST/ODataV4/APIAFunctionsNVX_GetTableStructure?company='CRONUS AT'
Body (JSON)
{
    "tableID": "18"
}
        
ResponseThe endpoint returns the details of the queried table in JSON string format.
Example Response (converted to JSON)
{
    "table": 18,
    "values": [
        {
            "No.": {
                "no": 1,
                "type": "",
                "length": 20,
                "typeName": "Code20",
                "optionString": "",
                "IsPartOfPrimaryKey": true
            },
            "Name": {
                "no": 2,
                "type": "",
                "length": 100,
                "typeName": "Text100",
                "optionString": "",
                "IsPartOfPrimaryKey": false
            },
            ...
        }
    ]
}
        

Read Data from BC

With the endpoint GetTableData, you can query data from Business Central without table filters.

Endpoint: POST /v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableData?company={{CompanyName}}

HTTP MethodPOST
URL
https://api.businesscentral.dynamics.com/v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableData?company={{CompanyName}}
Required Parameters
  • tableID: The ID of the table to be queried.
  • fieldFilter: A filter for the required field IDs from the table.
Example Call
POST https://api.businesscentral.dynamics.com/v2.0/00000000-0000-0000-0000-000000000000/TEST/ODataV4/APIAFunctionsNVX_GetTableData?company='CRONUS AT'
Body (JSON)
{
    "tableID": "18",
    "fieldFilter": "1|2|5..10"
}
        
ResponseThe endpoint returns the details of the queried table in JSON string format.
Example Response (converted to JSON)
{
    "table": 18,
    "values": [
        {
            "company": "",
            "No.": "10000",
            "Name": "Adatum Corporation",
            "Address": "Station Road, 21",
            "Address 2": "",
            "City": "Vienna",
            "Contact": "",
            "Phone No.": "",
            "Telex No.": ""
        },
        {
            "company": "",
            "No.": "20000",
            "Name": "Trey Research",
            "Address": "Southwark Bridge Rd, 91-95",
            "Address 2": "",
            "City": "Dürnstein",
            "Contact": "Leonie Fischer",
            "Phone No.": "",
            "Telex No.": ""
        }
    ]
}
        

Read Data from BC with Table Filter

With the endpoint GetTableDataWithFilter, you can query data from Business Central with a table filter.

Endpoint: POST /v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableDataWithFilter?company={{CompanyName}}

HTTP MethodPOST
URL
https://api.businesscentral.dynamics.com/v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableDataWithFilter?company={{CompanyName}}
Required Parameters
  • tableID: The ID of the table to be queried.
  • fieldFilter: A filter for the required field IDs from the table.
  • tableFilter: Defines the filtering of the table.
Example Call
POST https://api.businesscentral.dynamics.com/v2.0/00000000-0000-0000-0000-000000000000/TEST/ODataV4/APIAFunctionsNVX_GetTableDataWithFilter?company='CRONUS AT'
Body (JSON)
{
    "tableID": "18",
    "fieldFilter": "1|2|3|4",
    "tableFilter": "Sorting(No.) Order(Ascending) Where(No.=Filter(10000))"
}
        
ResponseThe endpoint returns the details of the queried table in JSON string format.
Example Response (converted to JSON)
{
    "table": 18,
    "values": [
        {
            "company": "",
            "No.": "10000",
            "Name": "Adatum Corporation",
            "Search Name": "ADATUM CORPORATION",
            "Name 2": ""
        }
    ]
}
        

Important

Each query can return a maximum of 10,000 records. If more data is included in the query, pagination must be used. To perform pagination, an additional attribute nextPageLink is returned. This attribute provides the Primary Key of the next record and can thus be used for filtering.

Read Data from BC with BC Mapping

With the endpoint GetTableDataFromMapping, you can query data from Business Central that has been set up in the BC mappings.

Endpoint: POST /v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableDataFromMapping?company={{CompanyName}}

HTTP MethodPOST
URL
https://api.businesscentral.dynamics.com/v2.0/{{TenantID}}/{{EnviromentName}}/ODataV4/APIAFunctionsNVX_GetTableDataFromMapping?company={{CompanyName}}
Required Parameters
  • tableID: The ID of the table to be queried.
Example Call
POST https://api.businesscentral.dynamics.com/v2.0/00000000-0000-0000-0000-000000000000/TEST/ODataV4/APIAFunctionsNVX_GetTableDataFromMapping?company='CRONUS AT'
Body (JSON)
{
    "tableID": "18"
}
        
ResponseThe endpoint returns the details of the queried table in JSON string format.
Example Response (converted to JSON)
{
    "table": 18,
    "values": [
        {
            "company": "",
            "No.": "10000",
            "Name": "Adatum Corporation",
            "Search Name": "ADATUM CORPORATION",
            "Name 2": ""
        }
    ]
}
        

Docs  /  NVXAPIA API Automation  /  Working with the App
Working with the App

This app enables you to flexibly extract data from Microsoft Dynamics 365 Business Central and integrate it into external systems. It provides various web service endpoints that can be used either for technical integrations or for use in defined, preconfigured mappings.

Technical Usage

Developers and administrators can directly access the available web services to retrieve information about table structures and fields. This foundational data is necessary to configure queries correctly. You should first review which tables and fields are available in your Business Central environment. You can use the provided endpoints to:
  • retrieve a list of all tables including their captions
  • identify all fields of a specific table
After determining the relevant IDs of tables and fields, you can define precisely which data should be returned in your queries. These queries can be combined with filters to, for example, select only specific records or time periods. For more information, see Working with the App, Endpoint Definition.

Usage with BC Configuration

For users who do not want to grant direct access to all raw data, it is possible to set up so-called mappings. Mappings define which tables and fields are made available for external queries. This way, you can precisely determine in Business Central which data will be accessible to external applications or partners. After creating a mapping, technicians receive a mapping code. This code is used in queries to access only the data defined in the mapping. In this way, you as a customer always retain full control over which information is exported. For more information, see Working with the App, Endpoint Definition.

Docs  /  NVXAPIA API Automation  /  Appendix
Available Endpoints

Important

To connect to a Business Central API endpoint, you can use the following URL. https://api.businesscentral.dynamics.com/v2.0/{{Enviroment_Name}}/api/navax/apia/v1.0/companies({{CompanyID}})/{{EntitySetName}}

Available Endpoints

Table Name Entity Set Name
All Objects with Caption allObjWithCaptions
Fields fields
Function Entity Set Name
Read tablestructure from BC GetTableStructure
Read data from BC GetTableData
Read data with table filter from BC GetTableDataWithFilter
Read data with BC-Mapping from BC GetTableDataFromMapping
Read data from all companies GetTableDataAllCompanies
Change data in BC UpdateRecord

Tip

You can also access the web services via the Web Services page and connect directly via the OData V4 URL.
For more information, see Working with the App, Endpoint Definition.

Docs  /  NVXAPIA API Automation  /  Appendix
Release Notes

Would you like to know what has changed in the extension?
Below you'll find an overview of the new features and changes made in the updates. Build-Overview in DevOps

NVXAPIA 1.1.4.0

as of Business Central 23
2025/06/30
  • Initial Version

  Save manual as PDF or print  
DE|EN Imprint