Moyo
Sign inGet started
REST API

Get readings

Distribution, index and trend for a dimension over a period.

GET/api/v1/readings/{dimension}?period=30d
period7d | 30d | 90d
Defaults to 30d. Resolved to whole ISO weeks, which the response names.
intervalweek
Trend bucket size. Week is the only value, because an answer stores no finer time than that.
json
{
  "dimension": "mood",
  "period": "30d",
  "weeks": ["2026-W41", "2026-W42", "2026-W43", "2026-W44", "2026-W45"],
  "n": 1004,
  "status": "reported",
  "distribution": [4, 8, 20, 40, 28],
  "index": 70,
  "trend": [
    { "week": "2026-W38", "index": 63, "n": 994 },
    { "week": "2026-W45", "index": 70, "n": 1004 }
  ]
}

Each trend point is the index over the trailing period as of that week, with the number of responses that went into it. A point whose own window is under 50 has a null index.

Below the minimum

When n is under 50 the reading is withheld. You get the count and nothing else — no distribution, no index, no trend — because nothing else was stored.

json
{
  "dimension": "money",
  "period": "30d",
  "n": 38,
  "status": "below_minimum"
}