> ## Documentation Index
> Fetch the complete documentation index at: https://moengage.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Recommendations Overview

> Fetch recommendation metadata and retrieve personalized item results.

The MoEngage Recommendation API allows you to interact with your recommendation engines. You can retrieve the configuration metadata of a specific recommendation setup or fetch the actual recommended items for a specific user based on various models like "Similar Items," "Frequently Bought Together," or "Trending."

<Info>
  If this API is not enabled for your account, contact your MoEngage Customer Success Manager (CSM) or the Support team to request enablement.
</Info>

## Endpoints

The Recommendation API is a collection of the following endpoints:

* [Fetch Recommendation Details](/docs/api/recommendations/fetch-recommendation-details): Fetches configuration details, status, and logic.
* [Fetch Recommendation Results](/docs/api/recommendations/fetch-recommendation-results): Fetches personalized items for a user.

## FAQs

### General Recommendation Questions

<AccordionGroup>
  <Accordion title="How do I find my Recommendation ID?">
    The `recommendations_id` is a unique identifier generated when you create a recommendation in the MoEngage Recommendation module. You can find this ID on the individual recommendation's overview page in the MoEngage Dashboard.
  </Accordion>

  <Accordion title="Why should I use the 'include_fields' parameter?">
    By default, the API returns all attributes associated with an item in the catalog. For catalogs with many attributes, this can significantly increase response size and latency. Specifying only the fields you need (e.g., `["title", "price", "image_link"]`) improves performance.
  </Accordion>
</AccordionGroup>

### Fetch Results

<AccordionGroup>
  <Accordion title="When is the item_id mandatory in the request body?">
    The `item_id` acts as an anchor for collaborative filtering models. It is mandatory when the `RECOMMENDATION-TYPE` is set to `similar_item`, `frequently_viewed_together`, or `frequently_bought_together`.
  </Accordion>

  <Accordion title="Can I fetch results for a user who doesn't exist in MoEngage yet?">
    The API requires a valid `user_id`. If the user is unknown or hasn't had any interactions recorded, the recommendation engine may return default items (like trending items) or an empty list depending on your "fallback" settings in the dashboard.
  </Accordion>

  <Accordion title="What happens if the payload size exceeds 1MB?">
    The API will return a `413 Request Entity Too Large` error. This usually happens if the `include_fields` list is excessively long or if a very high number of items are requested (if applicable).
  </Accordion>
</AccordionGroup>

## Postman Collections

Test the Recommendation APIs immediately using our Postman collection. [View Postman Collection](https://www.postman.com/moengage-dev/api-docs/collection/35sr4cv/moengage-recommendation-public-api)
