Score a time series across an activity window
Same scoring engine as /v1/score, but returns one verdict per timestep across the window. Use it to plot suitability hour-by-hour for a single (activity, location).
When to use
Use /v1/score when you need one verdict for one window (most booking flows). Use /v1/score/series when you want the curve: e.g. "show me hourly suitability for kitesurfing tomorrow", or "find the best 3-hour slot in the next 48h". Multi-spot batches go through the multi-activity endpoint instead.
Request
{
"activity": "kitesurfing",
"location": { "lat": 36.013, "lng": -5.604 },
"window": {
"from": "2026-06-01T00:00:00Z",
"to": "2026-06-03T00:00:00Z"
},
"granularity": "hourly", // hourly | 3-hourly | daily
"ensemble": true, // Pro+ only
"members": 30 // ensemble size, 2–50
}granularity defaults to hourly. The maximum window length depends on your plan; 422 WINDOW_TOO_LARGEis returned with detail.maxDays if you exceed it.
Response
{
"series": [
{ "timestamp": "2026-06-01T00:00:00Z", "score": 62, "verdict": "marginal" },
{ "timestamp": "2026-06-01T01:00:00Z", "score": 68, "verdict": "marginal" }, …
],
"metadata": {
"activity": "kitesurfing",
"granularity": "hourly",
"providerChain": ["openmeteo", "stormglass"]
}
}Granularity
hourly is the default and matches NWP native resolution. 3-hourly averages three consecutive hours; useful for smoothing sparse afternoon thermal cycles. daily picks the operator-friendly window (10:00–18:00 local) and returns one verdict per day — ideal for week-ahead planning UI.
Ensemble (Pro+)
Setting ensemble: true requires a Pro or Scale plan (returns 402 PAYMENT_REQUIRED otherwise). With ensemble on, every timestep in the series carries a distribution (mean / median / p10 / p90) and the confidence-detail block reflects ensemble spread.
Errors
422 WINDOW_TOO_LARGE — your plan caps series window length; check detail.maxDays. 404 ACTIVITY_NOT_FOUND — the activity slug isn't in the catalog. 402 PAYMENT_REQUIRED — ensemble requested on a free/starter key. The standard error envelope is documented on Errors & rate limits.