---
title: "Per-resort forecast model accuracy"
method: GET
path: "/api/v1/resorts/{slug}/forecast-accuracy"
tags: ["Forecast Trust"]
---

# Per-resort forecast model accuracy

`GET /api/v1/resorts/{slug}/forecast-accuracy`

## Request

- Base URL: `https://www.snowsure.ai`
- URL: `https://www.snowsure.ai/api/v1/resorts/{slug}/forecast-accuracy`
- Auth: none declared

Returns which weather model has been most accurate for a specific resort over the last 90 days (day-1 MAE, bias, sample count). Use when users ask how reliable the forecast is, which model to trust, or forecast verification for a named resort.

Status codes distinguish three cases that used to be conflated: an unknown resort is 404, a resort with no verification rows yet is 200 with zeroed stats and `totalVerifications: 0`, and a backend we cannot reach is 503. Treat 503 as retryable and 404 as terminal.

## Path parameters

- `slug` string, required

## Response `200`

Per-model accuracy stats. A resort with no verification data yet returns 200 with zeroed stats and `totalVerifications: 0` — not 404.

- object
  - `resort` string
  - `resortName` string
  - `period` string
  - `bestModel` string, nullable: Lowest day-1 error on snow-relevant days. Null when there were fewer than 10 snow-relevant days in the window (see snowRelevantDays) — too little snow to tell models apart — in which case models is empty.
  - `recommendation` string: One sentence naming the best model, or saying there was not enough snow to rank models.
  - `totalVerifications` integer: Verified summit rows in the 90-day window — one per model, per forecast horizon, per day (~6 models x ~13 horizons a day). Not a day count; see verifiedDays.
  - `verifiedDays` integer: Distinct days in the 90-day window with at least one verified forecast.
  - `snowRelevantDays` integer: Days in the window where at least 1 cm of snow was observed or any model forecast at least 1 cm. Per-model error, bias and samples are measured over these days only; models are ranked once there are at least 10.

## Other responses

- `404`: No such resort (after alias resolution). Terminal — do not retry.
- `500`: Server error
- `503`: Resort existence or accuracy data could not be determined because the backend was unreachable. Retryable — this is never used to mean "unknown resort".

---

[API](https://skmtc.dev/snowsure/apis/snowsure-api.md) · [All operations](https://skmtc.dev/snowsure/apis/snowsure-api/llms.txt) · [OpenAPI document](https://skmtc.dev/snowsure/apis/snowsure-api/revisions/dcbcdbb3df50?raw)
