M3 API fully supports the use of IES. Some standard API transactions are search enabled, such as 'Trans SearchItem' MMS200MI, where the normal filter input is replaced by a search query. The search through API supports all normal search queries, except the UI related ones such as Date macros and field value replacements, such as <WHLO>.
The M3 API tools MDBREADMI and CMS100MI are fully search-enabled.
A feature of the IES through API calls is facet search. These are basically a count of the number of records that match a certain value in a specific field, or aggregating the number of records into various groups.
M3 facets are retrieved through (FACETIM). The input to the API is the table name for which the facets are retrieved, and secondly by the search query for filtering the facets and their count. For example, results of a query might be grouped as 161 records with a purchase price of '0' and 1 record with a sales price of '20'.
The advantage of using facets is high performance regardless of the number of records, and the filter of the facets and their count is based on a search query. This provides endless possible drill arounds in the data.
Facets can also be used as on-line statistics and they have been added to many M3 tables, including transactional and statistical tables. For example, facets are used in the M3 Sales Manager homepage template.