
Flash API · REST and webhooks · Same run as the app
The weather API that fires before the weather arrives.
One GET returns over 100 parameters for any 1×1 km cell — lightning risk, hail lead time, WBGT, gusts, rain rate and frost probability — with forecasts out to 180 hours, refreshed as often as every 2 minutes. Subscribe a webhook and your PA system, scheduler or dashboard hears about the storm before it lands.
For construction, schools, golf, utilities and the tools they already run · same model run as the Command Center and Skye · no hardware
Illustrative example · Not live weather
https://api.flashweather.ai/v1/cells/3391/now200 OK{
"cell_id": "3391",
"run": "2026-09-21T12:02:00Z",
"centroid": [34.0234, -84.3616],
"lightning_risk_60m": 0.82,
"lightning_first_strike_eta_min": 38,
"hail_lead_min": null,
"wbgt_f": 88.1,
"wind_gust_mph": 31,
"rain_rate_in_hr": 0.60,
"frost_prob": 0.00,
"next_alert": "lightning.warning @ T-15"
}POST https://hooks.yourapp.com/flash · event: lightning.warning{ "event": "lightning.warning", "site": "Practice Field B",
"cell_id": "3391", "eta_min": 15, "risk": 0.82,
"issued": "2026-09-21T14:21:00Z", "signature": "sha256=…" }Endpoints · REST · JSON
Which endpoints does the API expose?
| Endpoint | Returns | Typical use |
|---|---|---|
| Current risk and readings for one 1×1 km cell, with the model run it came from | PA triggers, site dashboards, kiosk displays | |
GET /v1/cells/3391/now200 OK · illustrative | ||
| Hourly forecast out to 180 hours for every parameter on the cell | Scheduling, crew plans, spray windows | |
| Your registered sites, their cells, thresholds and channels | Sync with your asset list or ERP | |
| Subscribe a threshold per site to a channel or a webhook URL | Alert routing, horn and strobe relays, Slack and Teams | |
| Regional outlook for one layer: wbgt, wind, rain, frost, hail, lightning | Planning views across a region or a portfolio | |
| The NLDN-scored validation dataset behind the up to 99.6% figure on the 60-minute window | Your own audit; see the accuracy method | |
Parameters · A sample of over 100
What can you request for a cell?
| Group | Parameters |
|---|---|
| Severe | |
| Heat | |
| Water | |
| Wind | |
| Agronomy | |
| Visibility and winter |
Webhooks · Per site, per event, per URL
Which events can a webhook fire on?
| Event | Fires when | Lead |
|---|---|---|
| A cell inside the site radius enters the 60-minute window | T–60 | |
| Strike-level prediction for the site's own cell | Configurable | |
| Your all-clear timer completes with no new cell inside the radius | After the last strike | |
| A Predictive Hail cell with a size class is heading for the site | Up to T–55 | |
| The forecast will cross 82, 87, 90 or 92 °F, or your own band | Hours ahead | |
| The first gust over the site's crane, lift or tent limit | Gust timing | |
| Frost or freeze probability over your threshold for a field | Hours ahead |
- 13:24:02lightning.watchPractice Field B · delivered ✓ signed
- 14:21:00lightning.warningPractice Field B · delivered ✓ signed
- 14:29:40hail.approachingPractice Field B · delivered ✓ signed
- 15:12:06lightning.all_clearPractice Field B · delivered ✓ signed
POST hooks.yourapp.com/flash
Rate limits · SLAs · Published once
What are the rate limits and SLAs?
Rate limits
Per key and per minute, with burst allowances for alert fan-out. The current figures are published in the developer docs.
Uptime and support
The uptime commitment, support hours and escalation path are written into your order form and mirrored in the developer docs.
Webhook delivery
Signed payloads, retries with backoff and a replay endpoint. The retry schedule is published in the developer docs.
See current limits and SLAs in the developer docs (opens in a new tab)

One contract · Every cell
Skye · Illustrative example · Not live weather
Build with Skye
Skye, Flash Weather's AI weather agent, reads the same endpoints you do, and your app can call the agent. Send a plain-language question with a site scope; get back an answer, the cells and run it read, and any action it proposes, held until a person confirms.
Permissions per connector · every action logged · human confirmation before any schedule or record changes.
Skye
One engine · Two front doors
https://api.flashweather.ai/v1/agent/ask200 OK · illustrativecurl -X POST https://api.flashweather.ai/v1/agent/ask \
-H "Authorization: Bearer $FLASH_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "question": "Which of my sites are inside a lightning window before 3 pm?",
"scope": "sites:all", "actions": "propose" }'const res = await fetch("https://api.flashweather.ai/v1/agent/ask", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.FLASH_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
question: "Which of my sites are inside a lightning window before 3 pm?",
scope: "sites:all",
actions: "propose",
}),
});
const answer = await res.json();import os
import requests
res = requests.post(
"https://api.flashweather.ai/v1/agent/ask",
headers={"Authorization": f"Bearer {os.environ['FLASH_API_KEY']}"},
json={
"question": "Which of my sites are inside a lightning window before 3 pm?",
"scope": "sites:all",
"actions": "propose",
},
)
answer = res.json()Response
{ "answer": "Two: Midtown Parking Deck (cell 3391, T–38) and Riverside Yard (cell 3402, T–52).", "cells": ["3391", "3402"], "run": "2026-09-21T12:02:00Z", "proposed_action": { "tool": "procore", "type": "reschedule_lift", "status": "awaiting_confirmation" } }A person confirms before anything changes.
Integrations · The tools you already run
Where does Flash already plug in?
Google Calendar
Practice and shift moves
Receives:
lightning.watchwbgt.thresholdMicrosoft 365
Outlook, SharePoint
Receives:
lightning.warninglightning.all_clearSalesforce
Site records, field service orders
Receives:
hail.approachingwind.gust_over_limitHubSpot
Canvass lists, claims follow-up
Receives:
hail.approachingNetSuite
Work orders, fleet tasks
Receives:
wind.gust_over_limitfrost.expectedSAP
Plant maintenance notifications
Receives:
lightning.warningwind.gust_over_limitProcore
Lift schedules, daily logs
Receives:
wind.gust_over_limitlightning.warningSlack
A channel per site, alerts and all-clears
Receives:
lightning.warninglightning.all_clearMicrosoft Teams
Ask Flash from the phone
Receives:
lightning.watchwbgt.thresholdAny webhook
PA systems, horn relays, your own stack
Receives:every event
Agentic
Skye
Ask in plain language; the agent calls the same API and acts in your tools. Flash provides the harness: the prediction engine, your sites and your data, connected to the tools you already run. Ask in plain language; get an answer or an action.
The same engine · Other ways to take delivery

Ensemble
Flash Edge Model
Best, most likely and worst case for over 100 parameters, so you plan for the range, not a single line.
See Flash Edge Model
Platform
Weather Command Center
Flash's flagship platform: every risk that touches your operation on one screen.
See Weather Command Center
Mobile
Flash Mobile App
Enterprise-grade prediction in your pocket, with 18 hours of future radar.
See Flash Mobile App
FAQ
What do developers ask before they integrate?
The four questions from every integration call, answered with the same numbers as the rest of the site.
Yes. The API, the Command Center, the mobile app and Skye read the same 1×1 km cells from the same run, so a webhook and a push alert never disagree about a site.
The lightning model refreshes every 2 minutes and the hail model every 5. Heat, wind, rain and the agronomy parameters are forecast hourly, out to 180 hours for planning. Every response carries its run timestamp.
Yes. /v1/validation/lightning returns the NLDN-scored dataset behind the up to 99.6% figure on the one-hour window, so you can re-run the scoring yourself. The method is written up on the accuracy page.
Yes, through the agent endpoint. It answers with the cells and the run it read; any action it proposes waits for a person to confirm, and each connector is permissioned on its own, so your app decides what the agent may touch.
