Use the REST APIs to build a search UI

This is for:

Developer

Search integrations with the Coveo Platform typically rely on the Atomic or Headless libraries or the Coveo JavaScript Search Framework.

If, for some legitimate reason, you can’t use the Atomic or Headless libraries or the JavaScript Search Framework in your custom search integration with the Coveo Platform, you must ensure that your own search interface implementation uses the Search API and Usage Analytics Write API services correctly (that is, in a similar fashion to what the Atomic and Headless libraries or JavaScript Search Framework do).

Otherwise, Coveo Usage Analytics (Coveo UA) reports may become inconsistent or incoherent across your Coveo organization, the Coveo Machine Learning 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, assuming that you can’t use the Atomic or Headless libraries or the JavaScript Search Framework in your custom search integration with the Coveo Platform.

Notes
  • Contrary to convention, the search queries 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 parameters instead.

  • All REST API string fields are case-sensitive unless otherwise specified. For example, search queries aren’t case-sensitive.

    To keep behavior consistent across the Coveo Platform, the same value passed to different REST APIs must always be passed using the same case. For example, if the 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.