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

# Enrich Fragrance — Notes, Accords, Reviews, Similar

> POST /v1/fragrances/enrich — Single-call enriched profile including notes, accords, community reviews, and similar fragrances. Costs 10¢ per call.

The **Enrich Fragrance** endpoint bundles a fragrance's complete profile — notes, accords, community reviews, and similar fragrances — into a single API call. Rather than chaining separate requests to the profile, reviews, and similar endpoints, you can retrieve everything you need in one round trip. This is the recommended approach for detail pages, export pipelines, or any context where you need the full picture for a single fragrance.

## Endpoint

```
POST /v1/fragrances/enrich
```

**Cost:** 10¢ per call

## Request Body

<ParamField body="id" type="string" required>
  The unique fragrance identifier to enrich. Use the slug-style IDs returned by the list and search endpoints (e.g. `"creed-aventus"`).
</ParamField>

<ParamField body="similarLimit" type="integer">
  How many similar fragrances to include in the response. Must be between `1` and `20`. Defaults to `10` if omitted.
</ParamField>

<ParamField body="reviewLimit" type="integer">
  How many community reviews to include in the response. Must be between `1` and `20`. Defaults to `10` if omitted.
</ParamField>

## Example Request

```bash theme={null}
curl -X POST https://api.noteboxd.com/v1/fragrances/enrich \
  -H "Authorization: Bearer nb_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id": "creed-aventus", "similarLimit": 5, "reviewLimit": 5}'
```

## Example Response

```json theme={null}
{
  "id": "creed-aventus",
  "name": "Aventus",
  "brand": "Creed",
  "notes": {
    "top": ["Pineapple", "Bergamot", "Blackcurrant"],
    "middle": ["Rose", "Birch", "Jasmine"],
    "base": ["Musk", "Oakmoss", "Ambergris"]
  },
  "accords": [
    { "name": "Fruity", "strength": 0.68 },
    { "name": "Woody", "strength": 0.54 }
  ],
  "reviews": [
    { "rating": 5.0, "text": "Best fragrance ever made.", "date": "2024-12-01" }
  ],
  "similar": [
    { "id": "rasasi-decades", "name": "Decades", "brand": "Rasasi", "similarityScore": 0.89 }
  ]
}
```

## Response Fields

| Field | Type | Description |
| - | - | - |
| `id` | string | Unique fragrance identifier. |
| `name` | string | Display name of the fragrance. |
| `brand` | string | Brand or house that produces the fragrance. |
| `notes.top` | array | Top notes — the initial impression upon application. |
| `notes.middle` | array | Heart notes — the core character of the fragrance. |
| `notes.base` | array | Base notes — the lasting dry-down. |
| `accords[].name` | string | Name of the olfactive accord. |
| `accords[].strength` | float | Relative strength of the accord, from `0.0` to `1.0`. |
| `reviews[].rating` | float | Reviewer's rating on a scale of `0.5` to `5.0`. |
| `reviews[].text` | string \| null | Written review text, or `null` for rating-only submissions. |
| `reviews[].date` | string | ISO 8601 date (`YYYY-MM-DD`) the review was posted. |
| `similar[].id` | string | Unique identifier of the similar fragrance. |
| `similar[].name` | string | Display name of the similar fragrance. |
| `similar[].brand` | string | Brand of the similar fragrance. |
| `similar[].similarityScore` | float | Accord-based similarity score from `0.0` to `1.0`. |

## Rate Limit Headers

Every response includes the following headers:

| Header | Description |
| - | - |
| `X-RateLimit-Limit` | Maximum number of requests allowed in the current window. |
| `X-RateLimit-Remaining` | Number of requests remaining in the current window. |
| `X-RateLimit-Reset` | Unix timestamp at which the rate limit window resets. |

<Note>
  Reviews are included in reverse chronological order. Similar fragrances are sorted by `similarityScore` descending. Both lists are capped at the values you pass in `reviewLimit` and `similarLimit` respectively.
</Note>

<Tip>
  For full details on how the enrichment response is assembled — including how similarity scores are weighted and how reviews are selected — see the [Fragrance Enrichment Guide](/guides/fragrance-enrichment).
</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.