OData Web Services

The Open Data Protocol (OData) is a web protocol that is designed for querying tabular data and provides you with an alternative to SOAP-based web services. OData builds on web technologies such as HTTP and JavaScript Object Notation (JSON) to provide access to information from different applications, services, and stores. OData uses URIs for resource identification and commits to an HTTP-based, uniform interface for interacting with resources. This commitment to core Web principles allows for OData to enable a new level of data integration and interoperability across a broad range of clients, servers, services, and tools.

You can use OData web services to show Business Central data, and you can update data in a Business Central database using OData web services.

OData can be found in other Microsoft products and technologies, including the following:

  • Microsoft Excel implements OData for its PowerPivot add-in.

  • Microsoft SharePoint can expose its list-oriented data with OData.

  • Microsoft Azure Table Services are based on OData.

The topics in this section describe the key concepts and techniques for accessing Business Central data from OData applications that are supported by Business Central .

To See
Use OData to obtain an AtomPub document. Using OData to Return or Obtain an AtomPub Document
Use OData to obtain a service metadata (EDMX) document. Using OData to Return or Obtain a Service Metadata (EDMX) Document
Use OData to obtain a JavaScript Object Notation (JSON) document. Using OData to Return-Obtain a JSON Document
Use filter expressions in OData URIs. Using Filter Expressions in OData URIs
Use FlowFilters in OData URIs. Using FlowFilters in OData URIs
Use server-driven paging in OData URIs. Server-Driven Paging in OData Web Services
Navigate in an OData web service application by using resource properties. Using Containments and Associations
Write to the database through an OData web service that exposes a writable page. Using OData Web Services to Modify Data

Enabling and Configuring OData on the Business Central Server

The Business Central Server instance has several configurations settings that enable and control OData services. For more information, see OData Services Settings.

Known Limitations


You can specify filters in OData web services in general that are not supported in Business Central , such as using an OR operator to filter on two different fields. In those cases, you will see the following error:

An error occurred while processing this request.   
 The 'OR' operator is not supported on distinct fields on an OData filter.  

Lambda operators

Lambda operators are not supported by Business Central OData APIs. If lambda operators are used, the filter expression will be ignored.

UI pages

If you use Web services that are based on UI pages, you must expect the same behavior from the Web service as from the UI page. If you want to have full control and separation of concern it is recommended to use the Business Central APIs instead.

Deep patching

Business Central supports deep insert, but not deep patching. Multiple requests will need to be issued when patching nested entities.

See Also

SOAP Web Services