Skip to main content

Resource Coverage

This page maps each SDK namespace to core methods and API routes.

locations

MethodRoute
list()GET /locations
get(location_id)GET /locations/{location_id}
create(data)POST /locations
delete(location_id)DELETE /locations/{location_id}

weather_data

MethodRoute
list()GET /weatherdata
get(weather_data_id)GET /weatherdata/{weather_data_id}
create(data)POST /weatherdata
delete(weather_data_id)DELETE /weatherdata/{weather_data_id}

modules

MethodRoute
list()GET /modules
get(module_id)GET /modules/{module_id}
create_from_file(...)POST /modules
create_json(data)POST /modules/json
delete(module_id)DELETE /modules/{module_id}

inverters

MethodRoute
list()GET /inverters
get(inverter_id)GET /inverters/{inverter_id}
create_from_file(...)POST /inverters
create_json(data)POST /inverters/json
delete(inverter_id)DELETE /inverters/{inverter_id}

projects

MethodRoute
list()GET /projects
get(project_id)GET /projects/{project_id}
create(data)POST /projects
import_from_files(...)POST /projects/import
update(project_id, data)PUT /projects/{project_id}
delete(project_id)DELETE /projects/{project_id}

energy_models

MethodRoute
list(include=None)GET /energymodels
get(energy_model_id)GET /energymodels/{energy_model_id}
get_with_inputs(energy_model_id)GET /energymodels/{energy_model_id}?include=inputs
create(data, async_mode=True, timeout=None)POST /energymodels?async=...
update(energy_model_id, data)PUT /energymodels/{energy_model_id}
run_saved(energy_model_id, async_mode=False, timeout=None)POST /energymodels/{energy_model_id}/run?async=...
delete(energy_model_id)DELETE /energymodels/{energy_model_id}
create() keeps an SDK-level async-default convenience. The API itself is sync-first unless ?async=true is supplied. For sync energy-model create/rerun calls, the SDK uses a 90s request timeout by default unless you pass an explicit timeout=.... This gives multi-block sync fan-out runs room to complete inline; if you want immediate queued/task responses, prefer async_mode=True. For current /energymodels result shaping, send canonical output fields in the request body:
  • output.timeSeries for plant-level timeSeries
  • output.fullTimeSeries for extended plant-level series
  • output.blockResults for blockTimeSeries
  • output.blockIndex to filter the returned blockTimeSeries map to one zero-based block
  • output.lossBreakdownTimestamps for timestamped loss detail under blockTimeSeries[<blockIndex>].lossBreakdown
  • output.irradianceLossDetail for additive annual detail under losses.irradianceLossDetail
SDK compatibility note:
  • create() forwards the canonical body as-is; selected-block behavior is a response filter, not single-block execution.
  • Legacy adapters such as create_legacy_query(...) still map block_results / block_results_index into deprecated API compatibility fields.
  • Returned blockTimeSeries keys preserve the API’s original zero-based block numbering.
  • Returned additive block outputs already represent the full configured numberOfInverters count for that block type.

shading_scenes

MethodRoute
list()GET /shadingscenes
get(scene_id)GET /shadingscenes/{scene_id}
create_from_json(...)POST /shadingscenes
import_file(...)POST /shadingscenes/import
create(...)Alias for import_file(...)
refresh(scene_id)POST /shadingscenes/{scene_id}/refresh
set_tracking_inputs(scene_id, ...)POST /shadingscenes/{scene_id}/trackinginputs
delete(scene_id)DELETE /shadingscenes/{scene_id}
Legacy API compatibility note:
  • Older clients may still call GET /shadingscenes/{scene_id} with returnshading=true, returnmodel=true, or returntableshading=true.
  • Those query params are still supported on the API as additive compatibility shims for historical workflows.
  • New SDK usage should prefer get(scene_id) for scene data, get_results(scene_id, include_status=...) for shading outputs, and the dedicated viewer route when viewer-oriented geometry or aggregate shading data is needed.

tasks

MethodRoute
list(status=None, task_type=None, page=1, page_size=50)GET /tasks
get(task_id)GET /tasks/{task_id}

workflows

MethodRoute
get(workflow_id)GET /workflows/{workflow_id}

workspaces

MethodRoute
list()GET /workspaces
get(workspace_id)GET /workspaces/{workspace_id}
create(data)POST /workspaces
update(workspace_id, data)PUT /workspaces/{workspace_id}
delete(workspace_id)DELETE /workspaces/{workspace_id}
list_users(workspace_id)GET /workspaces/{workspace_id}/users
get_settings(workspace_id)GET /workspaces/{workspace_id}/settings

File Upload Support

projects, modules, inverters, and shading_scenes support disk-path and/or open-file-object upload patterns.