---
title: "Generic share image"
method: GET
path: "/api/og"
tags: ["Images"]
---

# Generic share image

`GET /api/og`

## Request

- Base URL: `https://www.snowsure.ai`
- URL: `https://www.snowsure.ai/api/og`
- Auth: none required

A 1200×630 PNG that prints what you pass; it fetches no data (`type=app` is the one exception: the App Store card for /app, drawn with one static screenshot from this origin). `score` draws the dial in that score's band colour, so pass SnowSure's own `score` and `rating` verbatim.

**Auth:** none.

**Caching:** `Cache-Control: public, max-age=86400, s-maxage=86400, stale-while-revalidate=604800, no-transform`. The image prints only its query parameters, but the score-band colour and card design are code, so a deploy can change it at the same URL; a day bounds that. Never `immutable`, so browsers, social scrapers and the CDN fetch a fresh render once the window passes. A changing query parameter (e.g. `&d=2026-09-15`) still forces a fresh render; unknown parameters are ignored.

## Query parameters

- `title` string
- `subtitle` string
- `score` string
- `rating` string
- `snow24h` string
- `forecast` string
- `type` 'resort' | 'report' | 'default' | 'app'

## Response `200`

PNG image

---

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