Modeling Object Inputs
Before running energy model simulations, integrations usually create and reuse modeling objects.Location (POST /locations)
Body model: LocationCreateRequest
Weather Data (POST /weatherdata)
Body model: WeatherDataCreateRequest
Weather arrays must have equal lengths. Validation errors return
400 for invalid payload semantics.Module
File Upload (POST /modules)
- Content type: multipart form-data
- Required part:
file(.pan) - API parses and stores
propertiesand optional AOI curve automatically.
JSON (POST /modules/json)
Body model: ModuleCreateRequest
Inverter
File Upload (POST /inverters)
- Content type: multipart form-data
- Required part:
file(.ond) - API parses and stores
propertiesand optional efficiency points.
JSON (POST /inverters/json)
Body model: InverterCreateRequest
Shading Scene
Canonical JSON Create (POST /shadingscenes)
Body model: ShadingSceneCreateRequest
Validation notes:
- Each table must provide either
outlineor all ofxpoints/ypoints/zpoints. - Table geometry is rectangular: exactly 4 corner points.
torqueTubePoint_1,torqueTubePoint_2, andtorqueTubeVectorare optional and auto-derived when omitted.transverseDiodesandstringsPerLengthmust be positive integers and default to10and1.- Obstruction outlines need at least 3 points.
- Top-level extra fields are rejected; nested
sceneJsonobjects allow pass-through metadata.
File Import (POST /shadingscenes/import)
Content type: multipart form-data
Tracking Inputs (POST /shadingscenes/{scene_id}/trackinginputs)
- Required form field:
gcr - Optional fields:
azimuth,axis_tilt,back_tracking,max_angle,terrain_aware,terrain_aware_diode_threshold,terrain_aware_method
Reuse Pattern
- Create modeling objects once per workspace.
- Store returned IDs.
- Reference those IDs in
EnergyModelInputblock/root payloads.
