Skip to content

Scenarios

List scenarios

GET /sympheny-app/analysis/{guid}/scenario

Requires a Bearer token. SDK method: client.scenarios.list().

Parameters

Name In Type Required Description
guid path string yes

Example request

curl -X GET "https://eu-north-1-api.sympheny.com/sympheny-app/analysis/{guid}/scenario" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN"

Responses

Status Description Schema
200 OK ResponseDtoListFScenarioResponseDto

Example response (200)

{
  "data": [
    {
      "scenarioGuid": "string",
      "scenarioName": "string",
      "updated": "2026-01-01T00:00:00Z",
      "readyForExecution": true,
      "preparingExecutionV2": true,
      "masterScenarioGuid": "string",
      "projectGuid": "string",
      "projectName": "string",
      "analysisGuid": "string",
      "analysisName": "string",
      "enymap": {
        "length": 0,
        "interestRate": 0.0,
        "exchangeCurrency": "string",
        "exchangeRate": 0.0,
        "scope": "BUILDING_DEVELOPMENTS",
        "technologies": [
          "PV"
        ],
        "demands": [
          "HOT_WATER"
        ],
        "imports": [
          "ELECTRICITY"
        ],
        "exports": [
          "HEAT_AMBIENT"
        ],
        "multiHubs": true
      },
      "variant": true
    }
  ],
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Create new scenario

POST /sympheny-app/analysis/{guid}/scenario

Requires a Bearer token. SDK method: client.scenarios.create().

Parameters

Name In Type Required Description
guid path string yes

Request body (ScenarioRequestDto)

Field Type Required Description
scenarioName string yes

Example request

curl -X POST "https://eu-north-1-api.sympheny.com/sympheny-app/analysis/{guid}/scenario" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "scenarioName": "string"
}'

Responses

Status Description Schema
201 Created ResponseDtoScenarioResponseDto

Example response (201)

{
  "data": {
    "scenarioGuid": "string",
    "scenarioName": "string",
    "updated": "2026-01-01T00:00:00Z",
    "readyForExecution": true,
    "preparingExecutionV2": true,
    "masterScenarioGuid": "string",
    "projectGuid": "string",
    "projectName": "string",
    "analysisGuid": "string",
    "analysisName": "string",
    "enymap": {
      "length": 0,
      "interestRate": 0.0,
      "exchangeCurrency": "string",
      "exchangeRate": 0.0,
      "scope": "BUILDING_DEVELOPMENTS",
      "technologies": [
        "PV"
      ],
      "demands": [
        "HOT_WATER"
      ],
      "imports": [
        "ELECTRICITY"
      ],
      "exports": [
        "HEAT_AMBIENT"
      ],
      "multiHubs": true
    },
    "variant": true
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Get scenario

GET /sympheny-app/scenario/{scenarioGuid}

Requires a Bearer token. SDK method: client.scenarios.get().

Parameters

Name In Type Required Description
scenarioGuid path string yes

Example request

curl -X GET "https://eu-north-1-api.sympheny.com/sympheny-app/scenario/{scenarioGuid}" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN"

Responses

Status Description Schema
200 OK ResponseDtoScenarioResponseDto

Example response (200)

{
  "data": {
    "scenarioGuid": "string",
    "scenarioName": "string",
    "updated": "2026-01-01T00:00:00Z",
    "readyForExecution": true,
    "preparingExecutionV2": true,
    "masterScenarioGuid": "string",
    "projectGuid": "string",
    "projectName": "string",
    "analysisGuid": "string",
    "analysisName": "string",
    "enymap": {
      "length": 0,
      "interestRate": 0.0,
      "exchangeCurrency": "string",
      "exchangeRate": 0.0,
      "scope": "BUILDING_DEVELOPMENTS",
      "technologies": [
        "PV"
      ],
      "demands": [
        "HOT_WATER"
      ],
      "imports": [
        "ELECTRICITY"
      ],
      "exports": [
        "HEAT_AMBIENT"
      ],
      "multiHubs": true
    },
    "variant": true
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Delete scenario

DELETE /sympheny-app/scenario/{scenarioGuid}

Requires a Bearer token. SDK method: client.scenarios.delete().

Parameters

Name In Type Required Description
scenarioGuid path string yes

Example request

curl -X DELETE "https://eu-north-1-api.sympheny.com/sympheny-app/scenario/{scenarioGuid}" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN"

Responses

Status Description Schema
200 OK ResponseDtoStatus

Example response (200)

{
  "data": {
    "code": "string",
    "desc": "string",
    "message": "string"
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Get scenario frontend url

GET /sympheny-app/scenario/{scenarioGuid}/frontend-url

Requires a Bearer token.

Parameters

Name In Type Required Description
scenarioGuid path string yes

Example request

curl -X GET "https://eu-north-1-api.sympheny.com/sympheny-app/scenario/{scenarioGuid}/frontend-url" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN"

Responses

Status Description Schema
200 OK ResponseDtoScenarioFrontendUrlResponseDto

Example response (200)

{
  "data": {
    "frontendUrl": "string"
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Get specs input file url

GET /sympheny-app/scenario/{scenarioGuid}/specs-input-file-url

Requires a Bearer token. SDK method: client.scenarios.specs_input_file_url().

First call PUT /v2/specs. This triggers the specs file generation asynchronously. Then poll GET /scenario/{scenarioGuid}/specs-input-file-url until returned presignedUrl is not null

Parameters

Name In Type Required Description
scenarioGuid path string yes

Example request

curl -X GET "https://eu-north-1-api.sympheny.com/sympheny-app/scenario/{scenarioGuid}/specs-input-file-url" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN"

Responses

Status Description Schema
200 OK ResponseDtoSpecsInputFilePresignedUrlResponseDto

Example response (200)

{
  "data": {
    "presignedUrl": "string"
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Copy scenario

PUT /sympheny-app/scenarios/copy/{scenarioGuid}

Requires a Bearer token. SDK method: client.scenarios.copy().

Parameters

Name In Type Required Description
scenarioGuid path string yes
name query string no
analysisDestinationGuid query string no

Example request

curl -X PUT "https://eu-north-1-api.sympheny.com/sympheny-app/scenarios/copy/{scenarioGuid}" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN"

Responses

Status Description Schema
200 OK ResponseDtoScenarioResponseDto

Example response (200)

{
  "data": {
    "scenarioGuid": "string",
    "scenarioName": "string",
    "updated": "2026-01-01T00:00:00Z",
    "readyForExecution": true,
    "preparingExecutionV2": true,
    "masterScenarioGuid": "string",
    "projectGuid": "string",
    "projectName": "string",
    "analysisGuid": "string",
    "analysisName": "string",
    "enymap": {
      "length": 0,
      "interestRate": 0.0,
      "exchangeCurrency": "string",
      "exchangeRate": 0.0,
      "scope": "BUILDING_DEVELOPMENTS",
      "technologies": [
        "PV"
      ],
      "demands": [
        "HOT_WATER"
      ],
      "imports": [
        "ELECTRICITY"
      ],
      "exports": [
        "HEAT_AMBIENT"
      ],
      "multiHubs": true
    },
    "variant": true
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Rename scenario

PUT /sympheny-app/scenarios/{scenarioGuid}

Requires a Bearer token. SDK method: client.scenarios.rename().

Parameters

Name In Type Required Description
scenarioGuid path string yes

Request body (ScenarioRequestDto)

Field Type Required Description
scenarioName string yes

Example request

curl -X PUT "https://eu-north-1-api.sympheny.com/sympheny-app/scenarios/{scenarioGuid}" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "scenarioName": "string"
}'

Responses

Status Description Schema
200 OK ResponseDtoScenarioResponseDto

Example response (200)

{
  "data": {
    "scenarioGuid": "string",
    "scenarioName": "string",
    "updated": "2026-01-01T00:00:00Z",
    "readyForExecution": true,
    "preparingExecutionV2": true,
    "masterScenarioGuid": "string",
    "projectGuid": "string",
    "projectName": "string",
    "analysisGuid": "string",
    "analysisName": "string",
    "enymap": {
      "length": 0,
      "interestRate": 0.0,
      "exchangeCurrency": "string",
      "exchangeRate": 0.0,
      "scope": "BUILDING_DEVELOPMENTS",
      "technologies": [
        "PV"
      ],
      "demands": [
        "HOT_WATER"
      ],
      "imports": [
        "ELECTRICITY"
      ],
      "exports": [
        "HEAT_AMBIENT"
      ],
      "multiHubs": true
    },
    "variant": true
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Create new scenario excel v2 1

POST /sympheny-app/v2/analysis/{guid}/scenario/excel

Requires a Bearer token. SDK method: client.scenarios.create_from_excel().

Before calling this endpoint, first obtain s3PresignedUrl from GET /db-update/s3-presigned-url, second upload the excel file to the presigned url (using a standard PUT call)

Parameters

Name In Type Required Description
guid path string yes

Request body (ScenarioExcelRequestDto)

Field Type Required Description
s3PresignedUrl string yes
scenarioName string yes

Example request

curl -X POST "https://eu-north-1-api.sympheny.com/sympheny-app/v2/analysis/{guid}/scenario/excel" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "s3PresignedUrl": "string",
  "scenarioName": "string"
}'

Responses

Status Description Schema
201 Created ResponseDtoScenarioResponseDto

Example response (201)

{
  "data": {
    "scenarioGuid": "string",
    "scenarioName": "string",
    "updated": "2026-01-01T00:00:00Z",
    "readyForExecution": true,
    "preparingExecutionV2": true,
    "masterScenarioGuid": "string",
    "projectGuid": "string",
    "projectName": "string",
    "analysisGuid": "string",
    "analysisName": "string",
    "enymap": {
      "length": 0,
      "interestRate": 0.0,
      "exchangeCurrency": "string",
      "exchangeRate": 0.0,
      "scope": "BUILDING_DEVELOPMENTS",
      "technologies": [
        "PV"
      ],
      "demands": [
        "HOT_WATER"
      ],
      "imports": [
        "ELECTRICITY"
      ],
      "exports": [
        "HEAT_AMBIENT"
      ],
      "multiHubs": true
    },
    "variant": true
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}

Create new scenario excel v2

PUT /sympheny-app/v2/scenarios/{scenarioGuid}/excel

Requires a Bearer token. SDK method: client.scenarios.replace_from_excel().

Before calling this endpoint, first obtain s3PresignedUrl from GET /db-update/s3-presigned-url, second upload the excel file to the presigned url (using a standard PUT call)

Parameters

Name In Type Required Description
scenarioGuid path string yes

Request body (ScenarioExcelRequestDtoPUT)

Field Type Required Description
s3PresignedUrl string yes

Example request

curl -X PUT "https://eu-north-1-api.sympheny.com/sympheny-app/v2/scenarios/{scenarioGuid}/excel" \
  -H "Authorization: Bearer $SYMPHENY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "s3PresignedUrl": "string"
}'

Responses

Status Description Schema
200 OK ResponseDtoScenarioResponseDto

Example response (200)

{
  "data": {
    "scenarioGuid": "string",
    "scenarioName": "string",
    "updated": "2026-01-01T00:00:00Z",
    "readyForExecution": true,
    "preparingExecutionV2": true,
    "masterScenarioGuid": "string",
    "projectGuid": "string",
    "projectName": "string",
    "analysisGuid": "string",
    "analysisName": "string",
    "enymap": {
      "length": 0,
      "interestRate": 0.0,
      "exchangeCurrency": "string",
      "exchangeRate": 0.0,
      "scope": "BUILDING_DEVELOPMENTS",
      "technologies": [
        "PV"
      ],
      "demands": [
        "HOT_WATER"
      ],
      "imports": [
        "ELECTRICITY"
      ],
      "exports": [
        "HEAT_AMBIENT"
      ],
      "multiHubs": true
    },
    "variant": true
  },
  "status": {
    "code": "string",
    "desc": "string",
    "message": "string"
  }
}