Unofficial endpoints¶
Endpoints outside the official documented Sympheny API. May change without notice. Available on the client as client.unofficial.
Warning
Every method on this page calls an endpoint that is not part of the official
documented Sympheny API. These endpoints may change or disappear without notice,
and they return raw JSON payloads (dict/list) instead of typed models. Prefer an
official, typed equivalent whenever one exists.
unofficial.get_analysis¶
async def get_analysis(analysis_guid: str) -> dict[str, Any]
UNOFFICIAL — Get analysis details incl. scenarios and results.
REST operation: GET /sympheny-app/analysis/{guid} (not part of the official spec)
Prefer client.analyses.get unless you need the results payload (scenarios / input-file paths), which the official endpoint does not return.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
analysis_guid |
str |
yes | GUID of the analysis. |
Returns: dict[str, Any]
async with AsyncSympheny(username, password) as client:
analysis = await client.unofficial.get_analysis(analysis_guid)
with Sympheny(username, password) as client:
analysis = client.unofficial.get_analysis(analysis_guid)
unofficial.create_master_scenario¶
async def create_master_scenario(payload: dict[str, Any]) -> dict[str, Any]
UNOFFICIAL — Create a master scenario.
REST operation: POST /sympheny-app/master-scenario/ (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
payload |
dict[str, Any] |
yes | Raw JSON payload. |
Returns: dict[str, Any]
async with AsyncSympheny(username, password) as client:
result = await client.unofficial.create_master_scenario(payload)
with Sympheny(username, password) as client:
result = client.unofficial.create_master_scenario(payload)
unofficial.list_variants¶
async def list_variants(master_scenario_guid: str) -> list[dict[str, Any]]
UNOFFICIAL — List scenario variants of a master scenario.
REST operation: GET /sympheny-app/master-scenario/{guid}/scenario-variants (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
master_scenario_guid |
str |
yes | GUID of the master scenario. |
Returns: list of dict[str, Any]
async with AsyncSympheny(username, password) as client:
variants = await client.unofficial.list_variants(master_scenario_guid)
with Sympheny(username, password) as client:
variants = client.unofficial.list_variants(master_scenario_guid)
unofficial.delete_all_variants¶
async def delete_all_variants(master_scenario_guid: str) -> None
UNOFFICIAL — Delete all scenario variants of a master scenario.
REST operation: DELETE /sympheny-app/master-scenario/{guid}/scenario-variants (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
master_scenario_guid |
str |
yes | GUID of the master scenario. |
Returns: None
async with AsyncSympheny(username, password) as client:
await client.unofficial.delete_all_variants(master_scenario_guid)
with Sympheny(username, password) as client:
client.unofficial.delete_all_variants(master_scenario_guid)
unofficial.get_variants_excel_url¶
async def get_variants_excel_url(master_scenario_guid: str) -> str
UNOFFICIAL — Get a presigned URL to the variants Excel export.
REST operation: GET /sympheny-app/master-scenario/{guid}/scenario-variants-excel (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
master_scenario_guid |
str |
yes | GUID of the master scenario. |
Returns: str
async with AsyncSympheny(username, password) as client:
url = await client.unofficial.get_variants_excel_url(master_scenario_guid)
with Sympheny(username, password) as client:
url = client.unofficial.get_variants_excel_url(master_scenario_guid)
unofficial.create_variants_from_excel_url¶
async def create_variants_from_excel_url(
presigned_url: str,
master_scenario_guid: str,
*,
delete_existing: bool = True,
) -> Any
UNOFFICIAL — Create scenario variants from an uploaded Excel file.
REST operation: PUT /sympheny-app/scenario-variants-excel (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
presigned_url |
str |
yes | Presigned S3 URL the Excel file was uploaded to. |
master_scenario_guid |
str |
yes | GUID of the master scenario. |
delete_existing |
bool |
no | Delete the existing scenario variants first. Defaults to True. |
Returns: Any
async with AsyncSympheny(username, password) as client:
result = await client.unofficial.create_variants_from_excel_url(presigned_url, master_scenario_guid)
with Sympheny(username, password) as client:
result = client.unofficial.create_variants_from_excel_url(presigned_url, master_scenario_guid)
unofficial.get_upload_url¶
async def get_upload_url() -> str
UNOFFICIAL — Get a presigned S3 URL for file uploads.
REST operation: GET /sympheny-app/db-update/s3-presigned-url (not part of the official spec)
Returns: str
async with AsyncSympheny(username, password) as client:
url = await client.unofficial.get_upload_url()
with Sympheny(username, password) as client:
url = client.unofficial.get_upload_url()
unofficial.upload_to_presigned_url¶
async def upload_to_presigned_url(presigned_url: str, content: bytes) -> None
UNOFFICIAL — Upload raw bytes to a presigned S3 URL (no Sympheny auth).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
presigned_url |
str |
yes | Presigned S3 URL from get_upload_url. |
content |
bytes |
yes | Raw file bytes to upload. |
Returns: None
async with AsyncSympheny(username, password) as client:
await client.unofficial.upload_to_presigned_url(presigned_url, content)
with Sympheny(username, password) as client:
client.unofficial.upload_to_presigned_url(presigned_url, content)
unofficial.create_scenario_from_excel_url¶
async def create_scenario_from_excel_url(
presigned_url: str,
scenario_name: str,
analysis_guid: str,
) -> str
UNOFFICIAL — Create a scenario from an uploaded Excel file; returns the scenario GUID.
REST operation: POST /sympheny-app/v2/analysis/{guid}/scenario/excel (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
presigned_url |
str |
yes | Presigned S3 URL the Excel file was uploaded to. |
scenario_name |
str |
yes | Name for the new scenario. |
analysis_guid |
str |
yes | GUID of the analysis. |
Returns: str
async with AsyncSympheny(username, password) as client:
scenario_guid = await client.unofficial.create_scenario_from_excel_url(presigned_url, scenario_name, analysis_guid)
with Sympheny(username, password) as client:
scenario_guid = client.unofficial.create_scenario_from_excel_url(presigned_url, scenario_name, analysis_guid)
unofficial.close_diagram¶
async def close_diagram(scenario_guid: str) -> None
UNOFFICIAL — Close the hub diagram of a scenario.
REST operation: PUT /sympheny-app/scenarios/{guid}/close-diagram (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
scenario_guid |
str |
yes | GUID of the scenario. |
Returns: None
async with AsyncSympheny(username, password) as client:
await client.unofficial.close_diagram(scenario_guid)
with Sympheny(username, password) as client:
client.unofficial.close_diagram(scenario_guid)
unofficial.generate_specs¶
async def generate_specs(scenario_guids: list[str]) -> None
UNOFFICIAL — Trigger input-file (specs) generation for scenarios.
REST operation: PUT /sympheny-app/v2/specs (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
scenario_guids |
list of str |
yes | GUIDs of the scenarios to generate input files for. |
Returns: None
async with AsyncSympheny(username, password) as client:
await client.unofficial.generate_specs(scenario_guids)
with Sympheny(username, password) as client:
client.unofficial.generate_specs(scenario_guids)
unofficial.generate_scenario_specs¶
async def generate_scenario_specs(scenario_guid: str) -> None
UNOFFICIAL — Trigger specs generation for a single scenario.
REST operation: PUT /sympheny-app/v2/scenarios/{guid}/specs (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
scenario_guid |
str |
yes | GUID of the scenario. |
Returns: None
async with AsyncSympheny(username, password) as client:
await client.unofficial.generate_scenario_specs(scenario_guid)
with Sympheny(username, password) as client:
client.unofficial.generate_scenario_specs(scenario_guid)
unofficial.create_scenario_enymap¶
async def create_scenario_enymap(analysis_guid: str, payload: dict[str, Any]) -> dict[str, Any]
UNOFFICIAL — Create an enymap scenario.
REST operation: POST /sympheny-app/analysis/{guid}/scenario-enymap (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
analysis_guid |
str |
yes | GUID of the analysis. |
payload |
dict[str, Any] |
yes | Raw JSON payload. |
Returns: dict[str, Any]
async with AsyncSympheny(username, password) as client:
result = await client.unofficial.create_scenario_enymap(analysis_guid, payload)
with Sympheny(username, password) as client:
result = client.unofficial.create_scenario_enymap(analysis_guid, payload)
unofficial.create_gis_hub¶
async def create_gis_hub(scenario_guid: str, polygon: list[Any]) -> Any
UNOFFICIAL — Create a GIS hub for an enymap scenario.
REST operation: POST /sympheny-app/scenario-enymap/{guid}/create-gis-hub (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
scenario_guid |
str |
yes | GUID of the scenario. |
polygon |
list of Any |
yes | Polygon coordinates. |
Returns: Any
async with AsyncSympheny(username, password) as client:
result = await client.unofficial.create_gis_hub(scenario_guid, polygon)
with Sympheny(username, password) as client:
result = client.unofficial.create_gis_hub(scenario_guid, polygon)
unofficial.create_demand_solar¶
async def create_demand_solar(scenario_guid: str) -> Any
UNOFFICIAL — Create demands and solar resources for an enymap scenario.
REST operation: POST /sympheny-app/scenario-enymap/{guid}/create-demand-solar (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
scenario_guid |
str |
yes | GUID of the scenario. |
Returns: Any
async with AsyncSympheny(username, password) as client:
result = await client.unofficial.create_demand_solar(scenario_guid)
with Sympheny(username, password) as client:
result = client.unofficial.create_demand_solar(scenario_guid)
unofficial.gis_background_jobs¶
async def gis_background_jobs() -> list[dict[str, Any]]
UNOFFICIAL — List GIS background jobs (api-services backend).
REST operation: GET /api-services/gis/background (not part of the official spec)
Returns: list of dict[str, Any]
async with AsyncSympheny(username, password) as client:
jobs = await client.unofficial.gis_background_jobs()
with Sympheny(username, password) as client:
jobs = client.unofficial.gis_background_jobs()
unofficial.hub_demand¶
async def hub_demand(
demand_type: str,
building_type: str,
buildings: list[dict[str, Any]],
) -> list[dict[str, Any]]
UNOFFICIAL — Estimate building energy demand (api-services backend).
REST operation: POST /api-services/demand/hub_demand (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
demand_type |
str |
yes | |
building_type |
str |
yes | |
buildings |
list of dict[str, Any] |
yes |
Returns: list of dict[str, Any]
async with AsyncSympheny(username, password) as client:
demands = await client.unofficial.hub_demand(demand_type, building_type, buildings)
with Sympheny(username, password) as client:
demands = client.unofficial.hub_demand(demand_type, building_type, buildings)
unofficial.get_database_demand_profile¶
async def get_database_demand_profile(demand_guid: str) -> list[dict[str, Any]]
UNOFFICIAL — Get the normalized profile of a database energy demand.
REST operation: GET /sympheny-app/database-energy-demands/{guid}/profile (not part of the official spec)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
demand_guid |
str |
yes | GUID of the demand. |
Returns: list of dict[str, Any]
async with AsyncSympheny(username, password) as client:
profile = await client.unofficial.get_database_demand_profile(demand_guid)
with Sympheny(username, password) as client:
profile = client.unofficial.get_database_demand_profile(demand_guid)