Getting Started
All examples use the sandbox URL. Replace with the production URL when you're ready to go live.
1. List Your Sites
GET /v1/sites returns every site in your fleet with its current status.
curl https://aggregator-api-sandbox.flip.energy/v1/sites \
-H "Authorization: Bearer your_api_key"2. Pull Performance Reports
GET /v1/reports/equipment_performance returns monthly solar performance data — actual vs. expected production for each site. The month parameter defaults to the current month.
curl "https://aggregator-api-sandbox.flip.energy/v1/reports/equipment_performance?month=2025-06" \
-H "Authorization: Bearer your_api_key"3. Push Fleet Data
POST /v1/fleet-data lets you push records from your CRM into Flip — for example, to correct customer details or add expected solar production values that the OEM doesn't provide.
curl -X POST https://aggregator-api-sandbox.flip.energy/v1/fleet-data \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"records": [
{
"external_id": "CRM-12345",
"record_type": "site",
"data": {
"customer_name": "John Doe",
"system_size_kw": 10.5
}
}
]
}'4. Commission a Site
POST /v1/commission registers a new site and its devices into Flip.
curl -X POST https://aggregator-api-sandbox.flip.energy/v1/commission \
-H "Authorization: Bearer your_api_key" \
-H "Content-Type: application/json" \
-d '{
"site": {
"id": "site-abc-789",
"first_name": "John",
"last_name": "Doe",
"street_address": "123 Main St",
"city": "San Francisco",
"state_code": "CA",
"zip_code": "88800"
},
"devices": [
{
"id": "device-xyz-123",
"type": "BATTERY",
"technology_provider_identifier": "DURACELL",
"install_date": "2025-06-19T15:30:00Z"
}
]
}'In the sandbox, use zip codes 88800, 88801, or 88802 to match with test programs.
Next Steps
See the API Reference in the sidebar for complete request and response schemas.