Data-Center Cooling
Forecast periods when outdoor conditions meet your free-cooling requirements.
POST /api/v1/decisions/data-center-cooling
Developer APIs
Send coordinates and your operating thresholds. Get back the time windows that meet them, what breaks them, and how good the data is, as JSON built for software and AI agents.
Checking payment status…
Forecast periods when outdoor conditions meet your free-cooling requirements.
POST /api/v1/decisions/data-center-cooling
Painting and coating windows from temperature, humidity, dew point, precipitation and wind.
POST /api/v1/decisions/industrial-coating
When outdoor air satisfies your economizer efficiency limits, including calculated enthalpy.
POST /api/v1/decisions/hvac-economizer
Forecast screening only. Results compare NOAA/NWS forecasts with the limits you supply. They are not measurements and never state that equipment or work is safe. Missing values are reported as missing, never estimated.
Runs on live NOAA/NWS data, free, up to 48 hours ahead. The example limits are placeholders, so use your own requirements for real decisions.
Results appear here.
{}| Field | Required | Meaning |
|---|---|---|
latitude, longitude | Yes | A point in the NOAA/NWS forecast area. |
units | Yes | us (°F, mph, in, BTU/lb) or si (°C, m/s, mm, kJ/kg). Thresholds and results both use this system. |
thresholds | Yes | Your limits, at least one. Only limits you send are checked, and unknown names are refused. |
horizon_hours | No | Hours ahead to check, 1 to 168. Default 72. |
min_window_hours | No | Shortest run of eligible hours to report. Default 1. |
include_hourly | No | Also return the hour-by-hour evaluation. |
| Field | Meaning |
|---|---|
eligibility.status | eligible_now, eligible_later, not_eligible (every hour was checked and no window qualified) or insufficient_data (no window, and some hours could not be checked). |
windows | Each suitable period: UTC start and end, length, the range of conditions, and whether it stops only because data ran out. |
violations | Each limit that was broken: hours affected, first and last time, and the worst value. |
data_quality | good or degraded, plus forecast age, coverage per variable, calculated values and their methods, and notes. |
scope | What the result does not cover, limits you did not set, and the disclaimer. safety_determination is always false. |
402 with a base64 PAYMENT-REQUIRED header, and the same object as the body.exact scheme.PAYMENT-SIGNATURE header.200 with a PAYMENT-RESPONSE header. If settlement fails, the decision is withheld.| Status | Meaning | Charged |
|---|---|---|
| 400 | Invalid field, listed in error.details | No |
| 402 | Payment needed or refused | No |
| 422 | No NOAA/NWS forecast for the coordinates | No |
| 429 | Rate limited, see Retry-After | No |
| 503 | Payments not open, or NOAA/NWS or the payment service unavailable | No |
/api/v1/catalog live APIs, schemas and payment status/openapi.json OpenAPI 3.1 description/.well-known/x402 x402 resource list/llms.txt summary for language models/mcp MCP server over streamable HTTP, with one tool per API and x402 payment in _meta