--- title: Use the REST APIs to build a search UI slug: '1370' canonical_url: https://docs.coveo.com/en/1370/ collection: build-a-search-ui source_format: adoc --- # Use the REST APIs to build a search UI Search integrations with the [Coveo Platform](https://docs.coveo.com/en/186/) typically rely on the [Atomic](https://docs.coveo.com/en/lcdf0264/) or [Headless](https://docs.coveo.com/en/lcdf0493/) libraries or the [Coveo JavaScript Search Framework](https://docs.coveo.com/en/187/). If, for some legitimate reason, you can't use the [Atomic](https://docs.coveo.com/en/lcdf0264/) or [Headless](https://docs.coveo.com/en/lcdf0493/) libraries or the [JavaScript Search Framework](https://docs.coveo.com/en/187/) in your custom search integration with the [Coveo Platform](https://docs.coveo.com/en/186/), you must ensure that your own [search interface](https://docs.coveo.com/en/2741/) implementation uses the Search API and Usage Analytics Write API services correctly (that is, in a similar fashion to what the [Atomic](https://docs.coveo.com/en/lcdf0264/) and [Headless](https://docs.coveo.com/en/lcdf0493/) libraries or [JavaScript Search Framework](https://docs.coveo.com/en/187/) do). Otherwise, [Coveo Analytics](https://docs.coveo.com/en/182/) reports may become inconsistent or incoherent across your [Coveo organization](https://docs.coveo.com/en/185/), the [Coveo Machine Learning](https://docs.coveo.com/en/188/) service may not be able to learn and function properly, and the overall user experience may be unsatisfactory. The articles in this section provide guidelines for implementing your own [search interface](https://docs.coveo.com/en/2741/), assuming that you can't use the [Atomic](https://docs.coveo.com/en/lcdf0264/) or [Headless](https://docs.coveo.com/en/lcdf0493/) libraries or the [JavaScript Search Framework](https://docs.coveo.com/en/187/) in your custom search integration with the [Coveo Platform](https://docs.coveo.com/en/186/). Contrary to convention, the search [queries](https://docs.coveo.com/en/231/) in these articles use the POST endpoint instead of GET. This is only done to make the documentation more readable. The POST endpoint lets users send a `body` parameter which contains the required properties. If GET was used for this documentation, these properties would have to be sent as distinct [query](https://docs.coveo.com/en/231/) parameters instead. * [Standard actions and UA reference](https://docs.coveo.com/en/1389/) * [Implement a search box](https://docs.coveo.com/en/1377/) * [Implement a result list](https://docs.coveo.com/en/1372/) * [Implement facets](https://docs.coveo.com/en/3199/) * [Implement tabs](https://docs.coveo.com/en/1382/) * [Choose and implement a search authentication method](https://docs.coveo.com/en/1369/) * [Render static content](https://docs.coveo.com/en/1009/) * [Search API](https://docs.coveo.com/en/52/) * [Usage Analytics Write API](https://docs.coveo.com/en/1430/) * [Event API Reference](https://docs.coveo.com/en/n9da0377/) > **Note** > > All REST API string fields are case-sensitive unless otherwise specified. > For example, [search queries aren't case-sensitive](https://docs.coveo.com/en/3074/). > > To keep behavior consistent across the [Coveo Platform](https://docs.coveo.com/en/186/), the same value passed to different REST APIs must always be passed using the same case. > For example, if the [unique product identifier](https://docs.coveo.com/en/n73f0502#define-a-unique-product-identifier), such as `ec_product_id`, is passed to the Commerce API in lowercase, then it should also be passed to the Usage Analytics Write API in lowercase.