Create New Project
const url = 'https://api.totalview.energy/api/v1/projects';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"customer_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","project_name":"example","portfolio_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","latitude":1,"longitude":1,"state":"example","county":"example","city":"example","zip_code":"example","timezone":"example","project_nerc_code":"example","cod_date":"2026-04-15T12:00:00Z","decommision_date":"2026-04-15T12:00:00Z","nameplate_capacity":1,"gen_hour_profile_mw":[{"timestamp":"2026-04-15T12:00:00Z","value":1,"source":"example"}],"gen_aggregate_points":[{"period_start":"2026-04-15","period_end":"2026-04-15","sum_mwh":1,"granularity":"5min","source":"example"}],"sam_profile_flag":false,"poi_limit":1,"project_additional_load":0,"existing_project_flag":false,"tech_type_id":"example","ppa_flag":false,"ppa_percentage":1,"ppa_capacity":1,"battery_flag":false,"battery_capacity_mwh":1,"battery_duration_hours":1,"battery_charge_rate_mw":1,"battery_discharge_rate_mw":1,"battery_round_trip_eff":1,"battery_soc_min":1,"battery_chemistry":"lfp","battery_calendar_life_years":20,"battery_cycle_life":6000,"battery_augmentation_flag":false,"battery_depth_of_discharge":0.85,"eia_ba_code":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.totalview.energy/api/v1/projects \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "customer_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "project_name": "example", "portfolio_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "latitude": 1, "longitude": 1, "state": "example", "county": "example", "city": "example", "zip_code": "example", "timezone": "example", "project_nerc_code": "example", "cod_date": "2026-04-15T12:00:00Z", "decommision_date": "2026-04-15T12:00:00Z", "nameplate_capacity": 1, "gen_hour_profile_mw": [ { "timestamp": "2026-04-15T12:00:00Z", "value": 1, "source": "example" } ], "gen_aggregate_points": [ { "period_start": "2026-04-15", "period_end": "2026-04-15", "sum_mwh": 1, "granularity": "5min", "source": "example" } ], "sam_profile_flag": false, "poi_limit": 1, "project_additional_load": 0, "existing_project_flag": false, "tech_type_id": "example", "ppa_flag": false, "ppa_percentage": 1, "ppa_capacity": 1, "battery_flag": false, "battery_capacity_mwh": 1, "battery_duration_hours": 1, "battery_charge_rate_mw": 1, "battery_discharge_rate_mw": 1, "battery_round_trip_eff": 1, "battery_soc_min": 1, "battery_chemistry": "lfp", "battery_calendar_life_years": 20, "battery_cycle_life": 6000, "battery_augmentation_flag": false, "battery_depth_of_discharge": 0.85, "eia_ba_code": "example" }'Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”Request schema for creating a new project.
object
Hourly generation profile entry.
The optional source field records the provenance of the value
(e.g., "metered", "sam_modeled", "gap_filled_zero").
The engine surfaces the per-source hour-count in the run summary’s
GenerationMetadata.profile_source_breakdown so reviewers can
audit which fraction of the profile is metered vs. simulated.
Source is opaque — any string is allowed.
A metered generation total over a time window.
Used when a customer can’t provide a full hourly profile but does
have aggregate totals (monthly settlement, daily SCADA export,
annual operational report). The engine combines these with a
SAM-generated 8760 shape — preserving the SAM diurnal/seasonal
pattern within each window while rescaling so the window sum
matches sum_mwh exactly.
source is a free-text provenance tag carried through to ISO
14040 disclosure (e.g., "settlement", "scada_export",
"operational_report").
Technology type: solar_ground, solar_rooftop, wind_onshore, or wind_offshore
Responses
Section titled “ Responses ”Successful Response
Detailed project output with full latest run.
object
Example generated
{ "project_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "config": {}, "latest_run": {}, "latest_run_status": "example", "latest_run_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}Validation Error
object
object
object
Example generated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}