# Rabbit Recommendations API Docs

## Before You Begin

Prior to getting access to Rabbit Recommendations, each developer account must be approved. To get access developers need:

* A paid subscription to one of Fabric Origin's core solutions.
* Must work with Fabric Origin Sales to gain access.

*Please note, Rabbit Recommendations data is not available on Free Trial subscriptions. For more information, contact Sales.*

## General Information

The Rabbit Recommendations content is an enrichment of the metadata in the Entertainment API with recommendations of similar Entertainment Programs.

Review the definitions and examples below to see how to work with the Rabbit Recommendations data. If you have any questions please reach out to our support team.

*Related API Guides:* [*Entertainment API*](/origin/apis-all/entertainment-api-docs.md)*.*

*Open API/Swagger documentation can be found on the Rabbit Recommendations API page.*

### Rabbit Recommendations API Parameters

\
The [Rabbit Recommendations API](/origin/apis-all/rabbit-recommendations-api-docs/rabbitrecommendations.md) endpoint has a few parameters offering options to explore the Rabbit Recommendations results. Those parameters are detailed below:

* **MovieId** - Numerical Entertainment Id for the source Movie for which recommendations will be generated. Only MovieId or ShowId should be used but not both in one request.
* **ShowId** - Numerical Entertainment Id for the source Show for which recommendations will be generated. Only ShowId or MovieId should be used but not both in one request.
* **Type** - Type of programs to be included in recommendation calculation and results. "similar" will include Movies and Shows. "similiarShowsOnly" will return only Shows and "similarMoviesOnly" will return only Movies.

### Rabbit Recommendations Response

\
An example of a Rabbit Recommendations response is below:

`{`\
`"recommendations": [`\
`{`\
`"explanations": [`\
`{`\
`"originator": "Similarity Engine",`\
`"type": "feature", "message": "Related through: genre Sci-Fi, genre Action-Adventure, Robert Downey Jr., Chris Evans, Scarlett Johansson, keyword superhero, keyword based on comic"`\
`}`\
`],`\
`"score": 0.6798871,`\
`"program": { "Id": 126359, "Type": "Movie" } },`\
`{`\
`"explanations": [`\
`{`\
`"originator": "Similarity Engine",`\
`"type": "feature", "message": "Related through: genre Sci-Fi, genre Action-Adventure, Chris Evans, Scarlett Johansson, Sebastian Stan, keyword superhero, keyword based on comic" } ],`\
`"score": 0.66413033, "program": { "Id": 8704, "Type": "Movie" } }, ...` <br>

There are several metadata fields that make up a Rabbit Recommendations object. They are described below:

* **Program** - Object containing both an "Id" and "Type" field that represents the recommended Entertainment program. The "Id" and "Type" can be combined to form the full Entertainment ID (i.e. "Movie/126359").
* **Score** - Decimal value between 0 and 1 representing quality of recommendation relative to other recommendations in response. (i.e. A Score of 1 would represent identical programs using the similarity engine.)
* **Explanations** - Array of explanation objects to explain the origin of the recommendation.
* **Originator** - Field in an explanation object describing the engine that was used to determine the recommendation. All recommendations use the "Similarity Engine" at this time.
* **Type** - Field in an explanation object describing type of explanation. "reference" indicates a reference to the requested Entertainment Program, "feature" indicates detailed information about the requested Entertainment Program (enumerated in the "message" field), and "engine" indicates the most generic, highest-level recommendation.
* **Message** - Field in an explanation object detailing the explanation. In "feature" explanation types, this will include specific metadata fields from the Entertainment Program (i.e. Genres, Contributor names, Keywords, etc.) that were used in making the recommendation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://knowledgebase.fabricdata.com/origin/apis-all/rabbit-recommendations-api-docs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
