# Token emotions series

- Method: `GET`
- Path: `/token/{id}/emotions-series`
- Tier: Pro
- HTML docs: https://docs.hiddensystems.ai/nebula/reference/get-token-id-emotions-series/
- Interactive docs: https://docs.hiddensystems.ai/nebula/#endpoint=get-token-id-emotions-series

## Description

Emotion distribution (joy, fear, etc.) over time for the token.

## cURL Example

```bash
curl --request GET \
  --url 'https://nebula-api.hiddensystems.ai/api/v1/public/token/bitcoin/emotions-series' \
  --header 'X-API-Key: YOUR_API_KEY'
```

## Path Parameters

- `id` (string, required): Token identifier. Accepts internal token_id (integer) or coingecko_id (string, e.g. bitcoin).

## Query Parameters

- `hours` (integer, optional): Lookback window in hours.
- `granularity` (string, optional): Optional bucket size override. If provided, response is aggregated at this interval regardless of lookback window.

## Response

OK

- `metadata` (object): Computation metadata and model context.
- `metadata.empty_bucket_policy` (string): How empty emotion buckets are represented in the series.
- `metadata.empty_buckets` (integer): Number of returned time buckets with no observed posts.
- `metadata.granularity` (string): No description provided.
- `metadata.hours` (integer): Lookback window in hours used to compute the metric.
- `metadata.latest_empty_bucket` (string (date-time)): Most recent returned bucket with no observed posts, if any.
- `series` (object, allowed keys: anger, anticipation, boredom, confidence, disgust, distrust, fear, greed, joy, love, optimism, pessimism, sadness, surprise, trust): Per-emotion time series keyed by emotion label.

Media type: `application/json`

## JSON Response

```json
{
  "series": {
    "anger": [
      {
        "proportion": 0.08,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "anticipation": [
      {
        "proportion": 0.04,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "boredom": [
      {
        "proportion": 0.01,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "confidence": [
      {
        "proportion": 0.07,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "disgust": [
      {
        "proportion": 0.01,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "distrust": [
      {
        "proportion": 0.02,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "fear": [
      {
        "proportion": 0.15,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "greed": [
      {
        "proportion": 0.2,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "joy": [
      {
        "proportion": 0.25,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "love": [
      {
        "proportion": 0.03,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "optimism": [
      {
        "proportion": 0.06,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "pessimism": [
      {
        "proportion": 0.03,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "sadness": [
      {
        "proportion": 0.02,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "surprise": [
      {
        "proportion": 0.01,
        "time": "2026-01-15T12:00:00Z"
      }
    ],
    "trust": [
      {
        "proportion": 0.02,
        "time": "2026-01-15T12:00:00Z"
      }
    ]
  }
}
```
