Bluefield API Reference
The Bluefield REST API delivers 30-minute solar generation forecasts and battery dispatch schedules in a format your EMS or SCADA system can consume directly. Authentication uses API key passed in the request header. All responses are JSON.
https://api.bluefiledenergy.com/v1
Authorization: Bearer bfed_live_xxxxxxxxxxxx
Content-Type: application/json
X-Site-ID: site_osaka_south_01
Your first forecast call in 10 minutes.
Four steps from API key to live 30-minute forecast blocks arriving in your system.
Contact the Bluefield team via the contact form or email [email protected]. We provision a sandbox key and a production key tied to your site or portfolio. Sandbox keys return synthetic data that matches the schema of live forecasts.
POST your site's coordinates, capacity in MW, and battery system parameters to /v1/sites. The platform creates a forecast zone aligned to the nearest NWP grid cell and begins pulling historical irradiance data for model warm-up. Registration completes within 15 minutes for new sites.
GET /v1/forecast/{site_id}/intraday returns 48 half-hour blocks from the current time. Each block includes a point forecast and a confidence interval band. Responses are cacheable for 15 minutes; the underlying forecast updates every 30 minutes from live NWP ingestion.
GET /v1/dispatch/{site_id}/schedule returns the optimized battery charge and discharge schedule for the next 24 hours as 30-minute blocks. Each block includes a target state of charge, MW dispatch instruction, and dispatch rationale code. This is the output your EMS reads.
Core endpoints.
The Bluefield API follows REST conventions. Errors use standard HTTP status codes with a machine-readable JSON body containing a code and message field.
/v1/forecast/{site_id}/intraday
Returns 48 half-hour forecast blocks from the current time for the specified site. Requires site_id from your registered sites list.
{
"site_id": "site_osaka_south_01",
"generated_at": "2026-06-01T08:00:00+09:00",
"horizon_hours": 24,
"blocks": [
{
"start": "2026-06-01T08:00:00+09:00",
"end": "2026-06-01T08:30:00+09:00",
"solar_mw": 4.8,
"p10_mw": 3.9,
"p90_mw": 5.6,
"confidence": "high"
}
]
}
/v1/dispatch/{site_id}/schedule
Returns the optimized battery dispatch schedule for the next 24 hours. Each block contains an MW dispatch instruction and target state of charge.
{
"site_id": "site_osaka_south_01",
"schedule_date": "2026-06-01",
"blocks": [
{
"start": "2026-06-01T08:00:00+09:00",
"dispatch_mw": -2.5,
"target_soc_pct": 72,
"rationale": "solar_ramp_buffer"
}
]
}
/v1/sites
Register a new site. Requires coordinates, solar capacity, and battery parameters. Returns a site_id for use in forecast and dispatch calls.
{
"name": "Osaka South PV + BESS",
"latitude": 34.652,
"longitude": 135.506,
"solar_capacity_mw": 10.0,
"bess_capacity_mwh": 20.0,
"bess_power_mw": 5.0,
"timezone": "Asia/Tokyo"
}
/v1/sites
List all sites registered under your API key. Returns an array of site objects with ID, name, capacity, and registration status.
/v1/forecast/{site_id}/day-ahead
Returns 48 half-hour forecast blocks for the next calendar day, published by 17:00 JST for use in day-ahead market scheduling and OCCTO submission workflows.
Ready to connect your control system?
Our integration team handles EMS and SCADA connections for every plan tier. Request a demo and we will walk through the integration path for your specific control system.