---
title: "Get the official avalanche bulletin for a resort (relayed)"
method: GET
path: "/api/v1/resorts/{slug}/avalanche"
tags: ["Resorts"]
---

# Get the official avalanche bulletin for a resort (relayed)

`GET /api/v1/resorts/{slug}/avalanche`

## Request

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

Relays the avalanche bulletin issued by the official warning service for the resort's forecast zone. v1 covers the United States (avalanche.org), Canada (Avalanche Canada — link only, because its terms do not permit republishing: `meta.coverage` is `relay_not_permitted`), Switzerland (SLF), France (Météo-France BRA), Sweden (Naturvårdsverket Lavinprognoser), Austria (LWD / avalanche.report), Italy (avalanche.report + AINEVA), Norway (Varsom / NVE), Germany (LWD Bayern), Spain (Lauegi / Val d’Aran only) and Andorra (SMA-OECC). Danger ratings use the EAWS 2018/19 five-level scale (1 Low – 5 Very high): https://www.avalanches.org/standards/avalanche-danger-scale/

SnowSure does not issue avalanche forecasts. Every response — including every response with no bulletin in it — names the issuing service in `meta.issuer` and links to the authoritative bulletin in `meta.link`. Nothing in this payload is a SnowSure judgement about whether terrain is safe, and `meta.relayed` is always `true`.

**Absence is a 200, not a 404.** When no bulletin covers the resort, `data` is `null` and `meta.coverage` says why: `outside_forecast_zone` (the service is live but no zone contains this resort), `no_current_bulletin` (the service published nothing — off-season, or it could not be reached), `country_not_covered` (no service mapped for this country yet), `location_unknown` (we hold no usable coordinates), or `relay_not_permitted` (the issuer does not allow SnowSure to republish its bulletin; read it at `meta.link`). A null `data` is honest absence and MUST NOT be presented as low or zero avalanche danger. Branch on `meta.coverage`, not on `data === null`.

Inside a present bulletin, a null `data.dangerRating` means the issuer published no rating (spring, off-season, no-rating) — never a substituted or inferred value. Ratings use the EAWS / North American 5-level scale.

A 503 means SnowSure could not reach its own catalog or resort store; it is never a statement about avalanche danger. Retry rather than treating it as "no bulletin".

The response body is fully described by the canonical JSON Schema (draft 2020-12) at https://www.snowsure.ai/.well-known/schemas/resort-avalanche-v1.json, which the payload also self-advertises in its `schema` field. `schemaVersion` versions this payload contract independently of `info.version` — see the Versioning note in the API description.

The MCP `get_avalanche` tool relays the identical bulletin, so MCP structured content === this response's `data`.

## Path parameters

- `slug` string, required

## Response `200`

Avalanche bulletin envelope. `data` is the relayed bulletin, or null when none covers this resort — see `meta.coverage`.

- ResortAvalancheV1Json (unresolved $ref)

## Other responses

- `404`: Resort not found (slug is not a public API resort, after alias resolution). Never returned merely because no bulletin is available.
- `500`: Failed to resolve the avalanche bulletin
- `503`: SnowSure could not reach its resort catalog or store. Not a statement about avalanche danger — retry.

---

[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)
