---
title: "Daily forecast for a coordinate over a date range, from Open-Meteo behind the app's server cache"
method: POST
path: "/actions/get_forecast"
tags: ["live"]
---

# Daily forecast for a coordinate over a date range, from Open-Meteo behind the app's server cache

`POST /actions/get_forecast`

## Request

- Base URL: `https://findinghorizons.ca/api/v1`
- URL: `https://findinghorizons.ca/api/v1/actions/get_forecast`
- Auth: OAuth 2 (authorization code, authorization URL `https://findinghorizons.ca/api/mcp/authorize`, token URL `https://findinghorizons.ca/api/mcp/oauth/token`, scopes: `live:read`)

Daily forecast for a coordinate over a date range, from Open-Meteo behind the app's server cache. HONESTLY SPARSE: a date beyond the ~16-day horizon simply has no entry (never climatology dressed as a forecast); an unusable position returns no days at all; and if the provider is down you get whatever FRESH cache exists plus `unavailable: true` — a stale entry is never served as fresh.

## Request body

- object
  - `latitude` number, required
  - `longitude` number, required
  - `start` string, required: First date, YYYY-MM-DD
  - `end` string: Last date, YYYY-MM-DD (defaults to start)
  - `today` string: The traveller's own date, YYYY-MM-DD, where the action needs one

## Response `200`

Done — { ok, api, action, result, card, operation? }

## Other responses

- `400`: Bad body / missing Idempotency-Key
- `401`: No or invalid token
- `403`: Scope not granted
- `422`: The action said no
- `429`: Rate limited

---

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