Skip to main content

Root and Block Inputs

POST /energymodels accepts EnergyModelInput at the root and one or more Block entries in blocks.

Root-Level Validation Rules

  • Exactly one of projectId, locationId, or inline location is required.
  • blocks is required and must contain at least one entry.
  • weatherData is optional and can override weather inputs for the run.
  • schemaVersion is optional but recommended.

Block-Level Validation Rules

  • inverterId, shading, losses, acSystem, and albedo are required.
  • At least one of array or dcInputs is required.
  • At least one of layout or layoutRef is required.
  • If shadingStringMap is provided, dcInputs must be provided and all dcInputId values must be valid.

Legacy vs Multi-MPPT Modes

Minimal Legacy Block

Minimal Multi-MPPT Block

Schema-Assisted Tables

  • EnergyModelInput fields: packages/docs/energy-models/_generated/energy-model-input.mdx
  • Block fields: packages/docs/energy-models/_generated/block.mdx
  • DcInputGroup fields: packages/docs/energy-models/_generated/dc-input-group.mdx
  • LayoutRef fields: packages/docs/energy-models/_generated/layout-ref.mdx
  • StringShadingMap fields: packages/docs/energy-models/_generated/string-shading-map.mdx