title | description | ms.date | ms.topic | author | ms.collection |
---|---|---|---|---|---|
API developer overview |
Use APIs to expose information from the database into versioned, OData v4 enabled REST web services. |
02/07/2024 |
overview |
SusanneWindfeldPedersen |
get-started |
[!INCLUDE getstarted-contributions]
RESTful web services are typically created to interchange data between [!INCLUDEprod_short] and external systems. The acronym REST stands for REpresentational State Transfer. Any coding language capable of calling REST APIs can be used to use this feature. The [!INCLUDEprod_short] API stack have been optimized for performance and is the preferred way to integrate with [!INCLUDEprod_short].
[!INCLUDEprod_short] comes with an extensive list of built-in APIs that requires no code and minimal setup to use. You can also develop your own custom APIs using the AL object types API pages and API queries. This article helps you get started developing your own APIs.
[!INCLUDEextending_APIs_is_not_supported_note]
When creating an API, you need to consider how the API is intended to be used:
- If you need to read and write data, use a page of the type
API
- If you just need to read data, possibly from multiple tables, use a query of the type
API
The two approaches come with different characteristics as described in this table:
Method to expose data as an API | Properties |
---|---|
API Page | Support read-write operations Webhook-supported Can't be extended Expose data from one table |
API Query | Read-only operations Can't be extended Can expose data from multiple tables |
Tip
For inspiration and examples, see the open source ALAppExtensions repo. Here you'll find examples of API pages written in AL.
The following table includes links to help you get started with designing and working with APIs.
To | See |
---|---|
Create APIs using an API page | API pages |
Create APIs using an API query | API queries |
Go through an example on how to develop a custom API page | Walkthrough: developing a custom API |
Learn how to create performant APIs | API performance |
Learn how to query APIs | API client performance Tips for working with APIs Using filters with API calls |
Troubleshoot API call failures | Troubleshooting API calls |
Monitor API calls with telemetry | API telemetry |
Learn about existing (built-in) APIs | Overview |
Learn about the difference between APIs and exposing UI pages as OData/SOAP webservices | Web services overview |
API page type
API queries
Walkthrough: Developing a custom API
Troubleshooting API calls
API performance
API client performance
Tips for working with APIs
Using filters with API calls
API telemetry
Built-in API overview
Web services overview (APIs, SOAP/OData)