Commercial satellite catalog search, ordering, and tasking for the passes a utility actually needs — routine corridor monitoring, vegetation-season baselines, post-storm damage assessment — against accounts your utility holds at Planet, Sentinel Hub, Skywatch (EarthCache), and SkyFi. VoltGrid acts as a thin authenticated client: it never handles billing, never takes a margin, and never sees a payment flow. Every call is proxied under your own credential, and delivered imagery lands on the map beside your corridors and feeders.
Draw an AOI around a corridor segment or a storm-hit service territory — or just use the current view — set date range, max cloud cover, and constellation filters, and hit Search. The server translates your query into each provider's native dialect and returns one unified scene list, whichever catalog it came from.
PSScene, sentinel-2-l2a).POST /api/eo/search./api/eo/proxy, so the browser never fights CORS and never touches the provider credential.// one REST surface, four providers behind it POST /api/eo/search → unified EoScene[] POST /api/eo/orders → archive / tasking GET /api/eo/orders/{provider}/{id} → live status GET /api/eo/orders/{provider}/{id}/deliveries GET /api/eo/proxy?url=…&profileId=… → auth stays server-side GET /api/eo/sentinelhub/wms-url → live stream, no order GET /api/eo/sentinelhub/xyz-template ● polling orders every 15 s · your key, your account
Each provider is wired behind a single unified DTO set, so the UI has one contract regardless of source — while provider-native payloads ride along verbatim for order calls that need them.
API-key auth against two surfaces: the Data API's quick-search for the catalog and the Orders API for archive orders with product bundles and AOI clipping. Delivery arrives as signed COG URLs. Planet's Tasking API (subscription-model new capture) is a Phase-2 add.
OAuth2 client-credentials with a cached, auto-refreshed bearer token. STAC + cql2-json catalog search, plus two delivery modes: a synchronous Process API render, or a live OGC tile stream (WMS / WMTS / XYZ) with no order at all.
API-key auth into EarthCache's unified archive/tasking endpoint — search product offerings, then create a pipeline to order. Credit-based: the account Test probe surfaces your remaining credit balance where the API exposes it.
API-key auth with distinct archive and tasking order endpoints. Tasking-focused, with 300+ sources behind one storefront. Vantor imagery requires a per-account EULA on the SkyFi side.
Click Order on a scene card — a post-storm tasking pass or an archive scene over the ROW — name the order, optionally clip to your AOI, and confirm. The order lands in the My Orders panel with live status polling every 15 seconds while anything is queued or running — and when it completes, one click adds the delivered imagery to the map, ready for damage assessment or encroachment review.
// streaming-first: tiles without a purchase mode WMS / WMTS / XYZ from your SH collections action 🖼 Add WMS layer · 🧩 Add XYZ layer auth OAuth bearer via ?prefilter=bearer-<token> cost no order · no download only your SH subscription's processing units GET /api/eo/sentinelhub/wms-url?layer=… GET /api/eo/sentinelhub/xyz-template?layer=… ● live S-2 layer on the map · zero purchase
No reseller markup, no imagery credits sold, no payment flow anywhere in the app. You keep your provider relationships, your pricing, and your quotas — we keep the secrets encrypted and the workflow on the map.
API keys and OAuth client secrets are encrypted at rest with Windows DPAPI (CurrentUser scope). Only the same Windows account on the same machine can decrypt them, and the provider-list API never returns a secret.
Every catalog search, order, and download runs under your own provider credential. Quota and credit visibility is surfaced where the provider API exposes it — notably Skywatch credits.
The provider adapters ship with a 73-assertion test suite covering DTO round-trips and per-provider request translation — no live network required to verify the wiring.
Phase-1 scope, stated plainly: Planet tasking (subscription model), the Sentinel Hub Batch Process API, and provider webhooks are intentional Phase-2 follow-ups; pending orders are polled rather than pushed, and the order cache rebuilds from provider APIs on restart.
Connect the provider accounts your utility already pays for, draw an AOI over the corridor, and go from catalog search to delivered imagery on the map — without the app ever standing between you and your provider. VoltGrid works operationally with GRID State, so imagery-backed assessments stay in full grid context.