Modelon Impact storage and execution API - 4.1.1

The Modelon Impact REST API can be used by custom clients. This makes it possible to build custom workflows, like automation of tasks or specialized visualization. The API covers adding and extracting artifacts, reading meta-data, and asynchronous execution. Execution covers both simple simulations and compilations but also more advanced use cases. Different types of analysis and batches can be configured through an experiment definition format. To use the REST API, a login is required. The login request can be made with the POST /login endpoint, using an API key, which can be created in the 'IMPACT API KEY' section of the 'Server management' page.

GET
/
Returns an object with meta data for this API

Can be used by client to check that the API is of a version it supports. The APIs version is semantic.

Responses

200

A JSON object consisting of the APIs meta data, most notably the semantic version of it.
Example
{
  "version": "1.0.0"
}
Name Type Description
version string The semantic version of this API.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/docs
Returns the HTML documentation page.

The HTML documentation page for all the Modelon Impact REST API's.

Responses

200

The HTML documentation page.
Example

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/login
Logs in a user

When the login succeeds, the response includes a cookie containing an access token which is used for further identification with the REST API. The login is managed by a third party authorization service. To authenticate against the REST API, an API key may be included in the optional request body. The API key can be created in the 'IMPACT API KEY' section of the 'Server management' page.

Parameters

NameDescriptionExample
grant_type (query)The OAuth grant type to use for the login, one of refresh_token or client_credentials (default).refresh_token

Request body

Optional request body for logging in with an API key.
Example
{
  "secretKey": "secret-api-key"
}
Name Type Description
secretKey string An API key.

Responses

200

The user is already logged in and the JWT is valid.
Example
{
  "identifier": ""
}
Name Type Description
identifier string A user identifier.

201

The user was logged in and a new JWT was created.
Example
{
  "identifier": ""
}
Name Type Description
identifier string A user identifier.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/projects
Get all projects

Returns a list of all local projects that exists. The query parameter vcsInfo can be used to also get info on how projects are version controlled.

Parameters

NameDescriptionExample
vcsInfo (query)If true, returned projects vcsUri field will be set if the project is version controlled. If false, vscUri will not be set for any returned project. Default is false.vcsInfo=true
type (query)Used to filter so only projects of a specified projectType is returned. If not given all project types are returned.type=RELEASED

Responses

200

OK: The projects were returned.
Example
{
  "data": {
    "items": [
      {
        "id": "79sd8-3n2a4-e3t24",
        "definition": {
          "name": "MyProject",
          "version": "2.0.3-beta.3+build.5",
          "format": "1.0.0",
          "dependencies": [
            {
              "name": "Modelica",
              "versionSpecifier": "4.0.0"
            }
          ],
          "content": [
            {
              "relpath": "SomeLib.mo",
              "contentType": "MODELICA",
              "name": "SomeLib",
              "defaultDisabled": true,
              "id": "79sd8-3n2a4-e3t24"
            }
          ],
          "executionOptions": [
            {
              "customFunction": "steady state",
              "compiler": {
                "generate_html_diagnostics": true,
                "halt_on_warning": true
              },
              "runtime": {
                "use_Brent_in_1d": false
              },
              "simulation": {
                "ncp": 2000
              },
              "solver": {
                "rtol": 0.0001
              }
            }
          ],
          "icon": ".impact/icon.png"
        },
        "projectType": "LOCAL",
        "vcsUri": {
          "serviceKind": "GIT",
          "serviceUrl": "https://github.com",
          "repoUrl": {
            "url": "gitlab.com/group/project",
            "refname": "main",
            "sha1": "3486a89"
          },
          "protocol": "https",
          "subdir": "src"
        },
        "size": ""
      }
    ]
  }
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/executions
Get all 'running' and 'pending' executions

Returns a list of all 'running' and 'pending' executions.

Responses

200

OK: The active executions were returned.
Example
{
  "data": {
    "items": [
      {
        "status": "running",
        "workspace": {
          "id": "somemodel_1515we151fwe51w"
        },
        "kind": "EXPERIMENT",
        "experiment": {
          "id": "somemodel_1gghhjffffe51w"
        }
      }
    ]
  }
}
Name Type Description
status string The status of the execution.
id string Workspace ID.
id string Experiment ID.
status string The status of the execution.
id string Workspace ID.
id string FMU ID.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/project-imports
Start import of a project

Will initiate import of a project. After a successful completion of a call to this endpoint, call GET /project-imports/{importId} to check status.

Request body

A zip file of a project given with multipart/form-data to import a project.
Example
{
  "file": "my_project.zip"
}
Name Type Description
file string The zip-file.

Responses

201

Project import created and location to check status of import is returned.
Example
{
  "data": {
    "location": "api/project-imports/fd90-4gkl-vf89"
  }
}
Name Type Description
location string The location of the project import.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/project-imports/{importId}
Returns status for a project import. Also returns data for the imported resource when ready

The project needs to be setup for import by calling POST /project-imports, before calling this API endpoint.

Parameters

NameDescriptionExample
importId (path)ID of the project import to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a project import and data to resource if import is done and project is ready to be used.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "resourceUri": "api/projects/72d3969cca3fc912aca1097bcc49dda0a4481a06",
      "projectId": "72d3969cca3fc912aca1097bcc49dda0a4481a06"
    },
    "error": {
      "message": "Could not import project 'my_project'. Could not read version number of the project 'my_project'. Either the project is corrupt or needs to be updated using an older version of Modelon Impact",
      "code": 12015
    }
  }
}
Name Type Description
id string ID for project import.
status string Will be 'running' if import is on-going, 'ready' if import is finished and can be used, or 'error' if an error occured.
data object Data for the project imported, only exists in response if project is imported and ready to use. Use the field 'status' to see if this is the case.
resourceUri string URI for the imported project resource.
projectId string The ID for the project imported.
error object Error message if the import fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/project-imports/{importId}
Deletes a project import

This API end point can be be called after a project has been imported.

Parameters

NameDescriptionExample
importId (path)ID of the project import to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The project import with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/project-exports
Prepares a project for download as a zip file

The compressed project will be prepared. After a successful completion of a call to this endpoint, call GET /project-exports/{exportId} to check status.

Request body

Project to export.
Example
{
  "projectId": "my_project"
}
Name Type Description
projectId string The ID for the project to export.

Responses

201

The location for checking status and possible data for compressed project.
Example
{
  "data": {
    "location": "api/project-exports/79sd8-3n2a4-e3t24"
  }
}
Name Type Description
location string location for checking status of project compression.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/project-exports/{exportId}
Returns status for preparing a project for download. Also returns data for download when ready

The project needs to be setup for export by calling POST /project-exports, before calling this API endpoint.

Parameters

NameDescriptionExample
exportId (path)ID of the compressed project to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a project export and data to download it if ready.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "downloadUri": "api/exports/79sd8-3n2a4-e3t24",
      "size": 10481015
    },
    "error": {
      "message": "Could not export project 'my_project'. Maximum allowed zip file size of 95MB exceeded",
      "code": 12072
    }
  }
}
Name Type Description
id string ID for project export.
status string Will be 'running' if export is on-going, 'ready' if export is finished and can be downloaded, or 'error' if an error occured.
data object Data for the project to download, only exists in response if project is ready to be downloaded. Use the field 'status' to see if this is the case.
downloadUri string URI for downloading the project.
size integer The size of the compressed project, in bytes.
error object Error message if the export fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/project-exports/{exportId}
Deletes a project export, including the compressed zip

This API end point can be be called after a compressed project has been downloaded.

Parameters

NameDescriptionExample
exportId (path)ID of the compressed project to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The project export with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/projects/{project}
Get a project

Returns a project given a project ID. The query parameter vcsInfo can be used to also get info on how the project is version controlled.

Parameters

NameDescriptionExample
project (path)ID of the project the content is imported into.79sd8-3n2a4-e3t24
vcsInfo (query)If true, returned project vcsUri field will be set if the project is version controlled. If false, vscUri will not be set for the returned project. Default is false.vcsInfo=true
sizeInfo (query)If true, returned project size field will be set. If false, size will not be set for the returned project. Default is false.sizeInfo=true

Responses

200

OK: The project were returned.
Example
{
  "id": "79sd8-3n2a4-e3t24",
  "definition": {
    "name": "MyProject",
    "version": "2.0.3-beta.3+build.5",
    "format": "1.0.0",
    "dependencies": [
      {
        "name": "Modelica",
        "versionSpecifier": "4.0.0"
      }
    ],
    "content": [
      {
        "relpath": "SomeLib.mo",
        "contentType": "MODELICA",
        "name": "SomeLib",
        "defaultDisabled": true,
        "id": "79sd8-3n2a4-e3t24"
      }
    ],
    "executionOptions": [
      {
        "customFunction": "steady state",
        "compiler": {
          "generate_html_diagnostics": true,
          "halt_on_warning": true
        },
        "runtime": {
          "use_Brent_in_1d": false
        },
        "simulation": {
          "ncp": 2000
        },
        "solver": {
          "rtol": 0.0001
        }
      }
    ],
    "icon": ".impact/icon.png"
  },
  "projectType": "LOCAL",
  "vcsUri": {
    "serviceKind": "GIT",
    "serviceUrl": "https://github.com",
    "repoUrl": {
      "url": "gitlab.com/group/project",
      "refname": "main",
      "sha1": "3486a89"
    },
    "protocol": "https",
    "subdir": "src"
  },
  "size": ""
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
PUT
/projects/{project}
Update a project

Updates a project given project data and a project ID. Only the project definition is allowed to be updated and content entries cannot be added or deleted. Content ID or project format cannot be updated.

Parameters

NameDescriptionExample
project (path)ID of the project the content is imported into.79sd8-3n2a4-e3t24

Request body

The project data that should be used to update the entity server side.
Example
{
  "id": "79sd8-3n2a4-e3t24",
  "definition": {
    "name": "MyProject",
    "version": "2.0.3-beta.3+build.5",
    "format": "1.0.0",
    "dependencies": [
      {
        "name": "Modelica",
        "versionSpecifier": "4.0.0"
      }
    ],
    "content": [
      {
        "relpath": "SomeLib.mo",
        "contentType": "MODELICA",
        "name": "SomeLib",
        "defaultDisabled": true,
        "id": "79sd8-3n2a4-e3t24"
      }
    ],
    "executionOptions": [
      {
        "customFunction": "steady state",
        "compiler": {
          "generate_html_diagnostics": true,
          "halt_on_warning": true
        },
        "runtime": {
          "use_Brent_in_1d": false
        },
        "simulation": {
          "ncp": 2000
        },
        "solver": {
          "rtol": 0.0001
        }
      }
    ],
    "icon": ".impact/icon.png"
  },
  "projectType": "LOCAL",
  "vcsUri": {
    "serviceKind": "GIT",
    "serviceUrl": "https://github.com",
    "repoUrl": {
      "url": "gitlab.com/group/project",
      "refname": "main",
      "sha1": "3486a89"
    },
    "protocol": "https",
    "subdir": "src"
  },
  "size": ""
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

Responses

200

OK: The project were updated.
Example
{
  "id": "79sd8-3n2a4-e3t24",
  "definition": {
    "name": "MyProject",
    "version": "2.0.3-beta.3+build.5",
    "format": "1.0.0",
    "dependencies": [
      {
        "name": "Modelica",
        "versionSpecifier": "4.0.0"
      }
    ],
    "content": [
      {
        "relpath": "SomeLib.mo",
        "contentType": "MODELICA",
        "name": "SomeLib",
        "defaultDisabled": true,
        "id": "79sd8-3n2a4-e3t24"
      }
    ],
    "executionOptions": [
      {
        "customFunction": "steady state",
        "compiler": {
          "generate_html_diagnostics": true,
          "halt_on_warning": true
        },
        "runtime": {
          "use_Brent_in_1d": false
        },
        "simulation": {
          "ncp": 2000
        },
        "solver": {
          "rtol": 0.0001
        }
      }
    ],
    "icon": ".impact/icon.png"
  },
  "projectType": "LOCAL",
  "vcsUri": {
    "serviceKind": "GIT",
    "serviceUrl": "https://github.com",
    "repoUrl": {
      "url": "gitlab.com/group/project",
      "refname": "main",
      "sha1": "3486a89"
    },
    "protocol": "https",
    "subdir": "src"
  },
  "size": ""
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/projects/{project}
Delete a project

Deletes a project given a project ID. Will also delete any reference from workspaces to this project.

Parameters

NameDescriptionExample
project (path)ID of the project the content is imported into.79sd8-3n2a4-e3t24

Responses

200

OK: The project were deleted.
Example
{
  "id": "79sd8-3n2a4-e3t24",
  "definition": {
    "name": "MyProject",
    "version": "2.0.3-beta.3+build.5",
    "format": "1.0.0",
    "dependencies": [
      {
        "name": "Modelica",
        "versionSpecifier": "4.0.0"
      }
    ],
    "content": [
      {
        "relpath": "SomeLib.mo",
        "contentType": "MODELICA",
        "name": "SomeLib",
        "defaultDisabled": true,
        "id": "79sd8-3n2a4-e3t24"
      }
    ],
    "executionOptions": [
      {
        "customFunction": "steady state",
        "compiler": {
          "generate_html_diagnostics": true,
          "halt_on_warning": true
        },
        "runtime": {
          "use_Brent_in_1d": false
        },
        "simulation": {
          "ncp": 2000
        },
        "solver": {
          "rtol": 0.0001
        }
      }
    ],
    "icon": ".impact/icon.png"
  },
  "projectType": "LOCAL",
  "vcsUri": {
    "serviceKind": "GIT",
    "serviceUrl": "https://github.com",
    "repoUrl": {
      "url": "gitlab.com/group/project",
      "refname": "main",
      "sha1": "3486a89"
    },
    "protocol": "https",
    "subdir": "src"
  },
  "size": ""
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/projects/{project}/icon
Get the project icon.

Returns the icon(if it exists) for the project.

Parameters

NameDescriptionExample
project (path)ID of the project.79sd8-3n2a4-e3t24

Responses

200

OK: The image was returned.
Example

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/projects/{project}/content
Create new content entry

Will create a new content entry for a project. For MODELICA content entries an empty structured modelica library will also be created on disk.

Parameters

NameDescriptionExample
project (path)ID of the project the content is created in.79sd8-3n2a4-e3t24

Request body

Specification for the new content entry.
Example
{
  "new": {
    "relpath": "SomeLib.mo",
    "contentType": "MODELICA",
    "name": "SomeLib",
    "defaultDisabled": true
  }
}
Name Type Description
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.

Responses

200

Content entry is created and returned.
Example
{
  "relpath": "SomeLib.mo",
  "contentType": "MODELICA",
  "name": "SomeLib",
  "defaultDisabled": true,
  "id": "79sd8-3n2a4-e3t24"
}
Name Type Description
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/projects/{project}/content/{content}
Get a content entry

Returns a content entry given project and content IDs.

Parameters

NameDescriptionExample
project (path)ID of the project the content is defined in.79sd8-3n2a4-e3t24
content (path)ID of the content entry.79sd8-3n2a4-e3t24

Responses

200

OK: The content entry were returned.
Example
{
  "relpath": "SomeLib.mo",
  "contentType": "MODELICA",
  "name": "SomeLib",
  "defaultDisabled": true,
  "id": "79sd8-3n2a4-e3t24"
}
Name Type Description
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/projects/{project}/content/{content}
Delete a content entry

Deletes a content entry from a project. Any files on disk that exists for this content is also deleted.

Parameters

NameDescriptionExample
project (path)ID of the project the content is defined in.79sd8-3n2a4-e3t24
content (path)ID of the content entry.79sd8-3n2a4-e3t24

Responses

200

OK: The content were deleted.
Example
{
  "relpath": "SomeLib.mo",
  "contentType": "MODELICA",
  "name": "SomeLib",
  "defaultDisabled": true,
  "id": "79sd8-3n2a4-e3t24"
}
Name Type Description
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/projects/{project}/content-imports
Start import of existing content

Will initiate import of existing content. After a successful completion of a call to this endpoint, call GET /projects/{project}/content-imports/{importId} to check status.

Parameters

NameDescriptionExample
project (path)ID of the project the content is imported into.79sd8-3n2a4-e3t24

Request body

A zip file or a .mo file (For MODELICA content) given with multipart/form-data is used to import content.
Example
{
  "file": "modelica.zip",
  "options": {
    "contentType": "MODELICA"
  }
}
Name Type Description
file string The zip-file.
options object Import options.
contentType enum Type of content. Only MODELICA is supported as of now.

Responses

201

Content import created and location to check status of import is returned.
Example
{
  "data": {
    "location": "api/projects/79sd8-3n2a4-e3t24/content-imports/fd90-4gkl-vf89"
  }
}
Name Type Description
location string The ID of the workspace import.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/projects/{project}/content-imports/{importId}
Returns status for a content import. Also returns data for the imported resource when ready

The content needs to be setup for import by calling POST /content-imports, before calling this API endpoint.

Parameters

NameDescriptionExample
project (path)ID of the project the content is imported into.79sd8-3n2a4-e3t24
importId (path)ID of the content import to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a content import and data to resource if import is done and content is ready to be used.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "resourceUri": "api/projects/a9g0-adfd/contents/u760-u095-gu45",
      "contentId": "u760-u095-gu45"
    },
    "error": {
      "message": "Could not import MODELICA content, file must end with .mo or .zip.",
      "code": 12015
    }
  }
}
Name Type Description
id string ID for content import.
status string Will be 'running' if import is on-going, 'ready' if import is finished and can be used, or 'error' if an error occured.
data object Data for the content imported, only exists in response if content is imported and ready to use. Use the field 'status' to see if this is the case.
resourceUri string URI for the imported workspace resource.
contentId string The ID for the content imported.
error object Error message if the import fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/projects/{project}/content-imports/{importId}
Deletes a content import

This API end point can be be called after a content has been imported.

Parameters

NameDescriptionExample
project (path)ID of the project the content is imported into.79sd8-3n2a4-e3t24
importId (path)ID of the content import to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The content import with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/projects/{project}/content/{content}/fmu-imports
Imports an co-simulation FMU

Parameters

NameDescriptionExample
project (path)ID of the project the content is defined in.79sd8-3n2a4-e3t24
content (path)ID of the content entry.79sd8-3n2a4-e3t24

Request body

The file with a .fmu extension and options to import.
Example
{
  "file": "PID.fmu",
  "options": {
    "className": "Workspace.Modelica_Electrical_Spice3_Examples_Spice3BenchmarkRtlInverter",
    "mslVersion": "4.0.0",
    "overwrite": false,
    "includePatterns": [
      "variable1",
      "variable2"
    ],
    "excludePatterns": [
      "variable1",
      "variable2"
    ],
    "topLevelInputs": [
      "variable1",
      "variable2"
    ],
    "stepSize": 0.1
  }
}
Name Type Description
file string The FMU file.
options object Import options.
className string Qualified name of generated class. By default, 'className' is set to the name of the Modelica library content followed by a name based on the filename of the imported FMU.
mslVersion string Version of the Modelica standard library (MSL) that the target library is compatible with. This value must be a string of format 'x.y.z' where x,y and z are non-negative integers. Only MSL version 3.2.3 and above are supported. By default, the MSL version is set to 4.0.0.
overwrite boolean Determines if any already existing files in the library should be overwritten. By default, the existing files are not overwritten.
includePatterns array Specifies what variables from the FMU to include in the wrapper model. By default, all the variables will be included in the wrapper model.
excludePatterns array Specifies what variables from the FMU to exclude in the wrapper model. By default, all the variables will be included in the wrapper model.
topLevelInputs array Specify which variables in the imported FMU will be inputs in the created Modelica wrapper model. By default, all the inputs are kept as inputs.
stepSize number Specifies the value for the 'step size' parameter in the generated model. By default, the parameter is set to zero, which in turn means that the step size will be set during simulation based on simulation properties such as the time interval.

Responses

201

FMU import created and location to check status of import is returned.
Example
{
  "data": {
    "location": "api/projects/79sd8-3n2a4-e3t24/content/fd90-4gkl-vf89/fmu-imports/123d-4g56-67tr"
  }
}
Name Type Description
location string The ID of the FMU import.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/projects/{project}/content/{content}/fmu-imports/{importId}
Returns status for a FMU import. Also returns data for the imported resource when ready

The content needs to be setup for import by calling POST /fmu-imports, before calling this API endpoint.

Parameters

NameDescriptionExample
project (path)ID of the project the content is defined in.79sd8-3n2a4-e3t24
content (path)ID of the content entry.79sd8-3n2a4-e3t24
importId (path)ID of the content import to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a FMU import and data to resource if import is done and FMU is ready to be used.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "resourceUri": "api/projects/a9g0-adfd/contents/u760-u095-gu45",
      "fmuClassPath": "Workspace.PID_Controller.Model",
      "importWarnings": [
        "Specified argument for 'top_level_inputs=['a']' does not match any variable"
      ]
    },
    "error": {
      "message": "Could not generate class MyPackage.PID because there is already a class by that name.",
      "code": 12099
    }
  }
}
Name Type Description
id string ID for FMU import.
status string Will be 'running' if import is on-going, 'ready' if import is finished and can be used, or 'error' if an error occured.
data object Data for the FMU imported, only exists in response if FMU is imported and ready to use. Use the field 'status' to see if this is the case.
resourceUri string URI for the imported FMU resource.
fmuClassPath string The modelica class path for the imported FMU.
importWarnings array An array containing warnings generated during FMU import.
error object Error message if the import fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/projects/{project}/content/{content}/fmu-imports/{importId}
Deletes a FMU import

This API end point can be be called after a FMU has been imported.

Parameters

NameDescriptionExample
project (path)ID of the project the content is defined in.79sd8-3n2a4-e3t24
content (path)ID of the content entry.79sd8-3n2a4-e3t24
importId (path)ID of the content import to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The FMU import with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspace-template
Returns an object containing the template for the workspace.

The response from this endpoint can be used as a template to create a new workspace by sending it as the request body for the POST /workspaces endpoint.

Responses

200

Workspace definition template.
Example
{
  "name": "My workspace",
  "description": "Workspace with all my projects",
  "defaultProjectId": "79sd8-3n2a4-e3t24",
  "projects": [
    {
      "reference": {
        "id": "ac2d-47ca-a5d5",
        "name": "Hydralics",
        "version": "2.0.3"
      },
      "disabled": true,
      "disabledContent": [
        "79sd8-3n2a4-e3t24",
        "t24e3-a43n2-d879s"
      ]
    }
  ],
  "dependencies": [
    {
      "reference": {
        "id": "ac2d-47ca-a5d5",
        "name": "Hydralics",
        "version": "2.0.3"
      },
      "disabled": true,
      "disabledContent": [
        "79sd8-3n2a4-e3t24",
        "t24e3-a43n2-d879s"
      ]
    }
  ]
}
Name Type Description
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces
Returns an object containing a list of all available workspaces together with metadata

The workspace ID in the returned object serve as unique IDs that can be used in other API calls to perform operations for a specific workspace.

Responses

200

All workspaces meta-data and their IDs. The object meta-data contains the workspace id.
Example
{
  "data": {
    "items": [
      {
        "id": "my_workspace",
        "conversion": {
          "state": "UP_TO_DATE"
        },
        "definition": {
          "name": "My workspace",
          "description": "Workspace with all my projects",
          "defaultProjectId": "79sd8-3n2a4-e3t24",
          "projects": [
            {
              "reference": {
                "id": "ac2d-47ca-a5d5",
                "name": "Hydralics",
                "version": "2.0.3"
              },
              "disabled": true,
              "disabledContent": [
                "79sd8-3n2a4-e3t24",
                "t24e3-a43n2-d879s"
              ]
            }
          ],
          "dependencies": [
            {
              "reference": {
                "id": "ac2d-47ca-a5d5",
                "name": "Hydralics",
                "version": "2.0.3"
              },
              "disabled": true,
              "disabledContent": [
                "79sd8-3n2a4-e3t24",
                "t24e3-a43n2-d879s"
              ]
            }
          ],
          "format": "1.0.0",
          "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
          "createdBy": "98dy-a82a-s8tg",
          "createdAt": 1549552749,
          "appMode": {
            "model": ""
          }
        },
        "backup": {
          "name": "My Workspace backup",
          "workspaceId": "my_workspace"
        },
        "sizeInfo": {
          "total": 7014
        }
      }
    ]
  }
}
Name Type Description
id string Unique workspace identifier.
state string IS_REQUIRED, if the workspace is of an old version and needs to be converted, else UP_TO_DATE.
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.
backup object If field exists, workspace is a backup created from another workspace.
name string The name of backup.
workspaceId string The ID of another workspace this workspace is a backup of.
sizeInfo object Total size(in bytes) of the workspace. The total size is computed as the sum of disk space taken by the workspace meta files, generated workspace resources (FMU's and experiments), and local workspace projects and dependencies.
total integer Total size of the workspace in bytes.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces
Creates a new workspace

Creates a new workspace with some name.

Request body

Specification for creating a new workspace.
Example
{
  "new": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ]
  },
  "config": {
    "addDefaultProject": false,
    "addSystemProjects": false
  }
}
Name Type Description
new object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
config object Configuration options for creating the workspace.
addDefaultProject boolean If true, creates a default project and adds it to the workspace. Also sets the project as the default project for the workspace if defaultProjectId is not set for the workpace.
addSystemProjects boolean If true, adds the system libraries(Modelica Standard Library and libraries stored in impact/libraries folder) as dependencies to the workspace.

Responses

200

OK: Workspace added and the workspace was returned.
Example
{
  "id": "my_workspace",
  "conversion": {
    "state": "UP_TO_DATE"
  },
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  },
  "backup": {
    "name": "My Workspace backup",
    "workspaceId": "my_workspace"
  },
  "sizeInfo": {
    "total": 7014
  }
}
Name Type Description
id string Unique workspace identifier.
state string IS_REQUIRED, if the workspace is of an old version and needs to be converted, else UP_TO_DATE.
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.
backup object If field exists, workspace is a backup created from another workspace.
name string The name of backup.
workspaceId string The ID of another workspace this workspace is a backup of.
sizeInfo object Total size(in bytes) of the workspace. The total size is computed as the sum of disk space taken by the workspace meta files, generated workspace resources (FMU's and experiments), and local workspace projects and dependencies.
total integer Total size of the workspace in bytes.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}
Returns an object containing the metadata of the specified ID

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace
sizeInfo (query)If true, returned workspace size field will be set. If false, size will not be set for the returned workspace. Default is false.sizeInfo=true

Responses

200

Workspace ID and its meta-data. The object meta-data contains the workspace id.
Example
{
  "id": "my_workspace",
  "conversion": {
    "state": "UP_TO_DATE"
  },
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  },
  "backup": {
    "name": "My Workspace backup",
    "workspaceId": "my_workspace"
  },
  "sizeInfo": {
    "total": 7014
  }
}
Name Type Description
id string Unique workspace identifier.
state string IS_REQUIRED, if the workspace is of an old version and needs to be converted, else UP_TO_DATE.
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.
backup object If field exists, workspace is a backup created from another workspace.
name string The name of backup.
workspaceId string The ID of another workspace this workspace is a backup of.
sizeInfo object Total size(in bytes) of the workspace. The total size is computed as the sum of disk space taken by the workspace meta files, generated workspace resources (FMU's and experiments), and local workspace projects and dependencies.
total integer Total size of the workspace in bytes.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
PUT
/workspaces/{workspace}
This end-point can be used to update a workspace configuration. This can be used to modify the workspace definition. Only fields under 'definition' can be updated. Also, the fields 'createdAt', 'format' and 'guid' cannot be updated. The recomended way to update the workspace is to first use the corresponding GET end-point, modify some data, then call PUT (this end-point) with that data.

Updates the configuration of the workspace.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace

Request body

Workspace configuration.
Example
{
  "id": "my_workspace",
  "conversion": {
    "state": "UP_TO_DATE"
  },
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  },
  "backup": {
    "name": "My Workspace backup",
    "workspaceId": "my_workspace"
  },
  "sizeInfo": {
    "total": 7014
  }
}
Name Type Description
id string Unique workspace identifier.
state string IS_REQUIRED, if the workspace is of an old version and needs to be converted, else UP_TO_DATE.
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.
backup object If field exists, workspace is a backup created from another workspace.
name string The name of backup.
workspaceId string The ID of another workspace this workspace is a backup of.
sizeInfo object Total size(in bytes) of the workspace. The total size is computed as the sum of disk space taken by the workspace meta files, generated workspace resources (FMU's and experiments), and local workspace projects and dependencies.
total integer Total size of the workspace in bytes.

Responses

200

Workspace ID and its meta-data.
Example
{
  "id": "my_workspace",
  "conversion": {
    "state": "UP_TO_DATE"
  },
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  },
  "backup": {
    "name": "My Workspace backup",
    "workspaceId": "my_workspace"
  },
  "sizeInfo": {
    "total": 7014
  }
}
Name Type Description
id string Unique workspace identifier.
state string IS_REQUIRED, if the workspace is of an old version and needs to be converted, else UP_TO_DATE.
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.
backup object If field exists, workspace is a backup created from another workspace.
name string The name of backup.
workspaceId string The ID of another workspace this workspace is a backup of.
sizeInfo object Total size(in bytes) of the workspace. The total size is computed as the sum of disk space taken by the workspace meta files, generated workspace resources (FMU's and experiments), and local workspace projects and dependencies.
total integer Total size of the workspace in bytes.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}
Deletes a workspace with the specified ID

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace

Responses

200

OK: The workspace was deleted.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/conversion-check
Returns what conversions are needed for a workspace and what potential issues there are

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace

Responses

200

List of conversions that would occur if the POST /workspace-conversions was called. Also lists potential issues with conversions. These issues can be ignore by giving the ID when starting the conversion process. Note that this can lead to the converted workspace missing some content.
Example
{
  "data": {
    "conversions": [
      {
        "from": "0.8",
        "to": "0.9",
        "issues": [
          {
            "id": "t24e3-sd879-2a43n",
            "message": "Symbolic link for library Hydralics 4.10 cannot be converted, you need to checkout svn.company.com/Project01 in the new structure",
            "details": {
              "type": "GIT_CHECKOUT_MISSING",
              "url": "gitlab.com/group/project",
              "branch": "main"
            }
          }
        ]
      }
    ],
    "backup": {
      "disk": {
        "free": 0,
        "required": 0
      }
    }
  }
}
Name Type Description
conversions array List of all conversions that needs to be done for the workspace.
from string The version the conversion is done from.
to string The version the conversion is done to.
issues array List of all isses found for conversion.
id string ID of the issue. Can be used to later ignore it.
message string A readable string on what the issue is.
url string The URL of the repository.
branch string The branch of the the repository.
url string The URL of the repository.
free integer Free disk space (in bytes) that exists on the system.
required integer Required disk space (in bytes) for creating a backup.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/dependencies
Get workspace dependencies

Get workspace dependencies.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace

Responses

200

OK: The workspace dependencies were returned.
Example
{
  "data": {
    "items": [
      {
        "id": "79sd8-3n2a4-e3t24",
        "definition": {
          "name": "MyProject",
          "version": "2.0.3-beta.3+build.5",
          "format": "1.0.0",
          "dependencies": [
            {
              "name": "Modelica",
              "versionSpecifier": "4.0.0"
            }
          ],
          "content": [
            {
              "relpath": "SomeLib.mo",
              "contentType": "MODELICA",
              "name": "SomeLib",
              "defaultDisabled": true,
              "id": "79sd8-3n2a4-e3t24"
            }
          ],
          "executionOptions": [
            {
              "customFunction": "steady state",
              "compiler": {
                "generate_html_diagnostics": true,
                "halt_on_warning": true
              },
              "runtime": {
                "use_Brent_in_1d": false
              },
              "simulation": {
                "ncp": 2000
              },
              "solver": {
                "rtol": 0.0001
              }
            }
          ],
          "icon": ".impact/icon.png"
        },
        "projectType": "LOCAL",
        "vcsUri": {
          "serviceKind": "GIT",
          "serviceUrl": "https://github.com",
          "repoUrl": {
            "url": "gitlab.com/group/project",
            "refname": "main",
            "sha1": "3486a89"
          },
          "protocol": "https",
          "subdir": "src"
        },
        "size": ""
      }
    ]
  }
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/dependency-imports
Start import of a project and add it as a dependency to the workspace

Will initiate import of a project and add it as a dependency to the workspace. After a successful completion of a call to this endpoint, call GET /workspaces/{workspace}/dependency-imports/{importId} to check status.

Parameters

NameDescriptionExample
workspace (path)ID of workspace the project will be added to as a dependency.MyWorkspace

Request body

A mol or zip file given with multipart/form-data is used to import the project as dependency.
Example
{
  "file": "myProject.mol"
}
Name Type Description
file string The mol or zip file.

Responses

201

Dependency import created and location to check status of import is returned.
Example
{
  "data": {
    "location": "api/workspaces/MyWorkspace/dependency-imports/fd90-4gkl-vf89"
  }
}
Name Type Description
location string The location of the workspace dependency import.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/dependency-imports/{importId}
Returns status for a dependency import. Also returns data for the imported resource when ready

The project to be added as a dependency needs to be setup for import by calling POST /dependency-imports, before calling this API endpoint.

Parameters

NameDescriptionExample
workspace (path)ID of workspace the project will be added to as a dependency.MyWorkspace
importId (path)ID of the dependency import to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a project import and data to resource if import is done and the project is ready to be used.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "resourceUri": "api/projects/u760-u095-gu45",
      "projectId": "u760-u095-gu45"
    },
    "error": {
      "message": "Could not import project, file must end with .mol or .zip.",
      "code": 12015
    }
  }
}
Name Type Description
id string ID for project import.
status string Will be 'running' if import is on-going, 'ready' if import is finished and can be used, or 'error' if an error occured.
data object Data for the project imported, only exists in response if project is imported and ready to use. Use the field 'status' to see if this is the case.
resourceUri string URI for the imported project resource.
projectId string The ID for the imported project.
error object Error message if the import fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}/dependency-imports/{importId}
Deletes a workspace dependency import

This API end point can be be called after a project has been imported and added as a workspace depenendency.

Parameters

NameDescriptionExample
workspace (path)ID of workspace the project will be added to as a dependency.MyWorkspace
importId (path)ID of the dependency import to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The project import with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/project-imports
Start import of an editable project to be added to the workspace

Will initiate import of a project and add it to the workspace. After a successful completion of a call to this endpoint, call GET /workspaces/{workspace}/project-imports/{importId} to check status.

Parameters

NameDescriptionExample
workspace (path)ID of workspace the editable project will be added to.MyWorkspace

Request body

A zip file given with multipart/form-data is used to import the editable project.
Example
{
  "file": "myProject.zip"
}
Name Type Description
file string The zip file.

Responses

201

Project import created and location to check status of import is returned.
Example
{
  "data": {
    "location": "api/workspaces/MyWorkspace/project-imports/fd90-4gkl-vf89"
  }
}
Name Type Description
location string The location of the editable project import.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/project-imports/{importId}
Returns status for a project import. Also returns data for the imported resource when ready

The editable project to be added to the workspace needs to be setup for import by calling POST /project-imports, before calling this API endpoint.

Parameters

NameDescriptionExample
workspace (path)ID of workspace the editable project will be added to.MyWorkspace
importId (path)ID of the editable project import to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a project import and data to resource if import is done and the project is ready to be used.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "resourceUri": "api/projects/u760-u095-gu45",
      "projectId": "u760-u095-gu45"
    },
    "error": {
      "message": "Could not import project, file must end with .mol or .zip.",
      "code": 12015
    }
  }
}
Name Type Description
id string ID for project import.
status string Will be 'running' if import is on-going, 'ready' if import is finished and can be used, or 'error' if an error occured.
data object Data for the project imported, only exists in response if project is imported and ready to use. Use the field 'status' to see if this is the case.
resourceUri string URI for the imported project resource.
projectId string The ID for the imported project.
error object Error message if the import fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}/project-imports/{importId}
Deletes a workspace project import

This API end point can be be called after a project has been imported and added to the workspace.

Parameters

NameDescriptionExample
workspace (path)ID of workspace the editable project will be added to.MyWorkspace
importId (path)ID of the editable project import to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The project import with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/projects
Get workspace projects

Get workspace projects.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace
vcsInfo (query)If true, returned projects vcsUri field will be set if the project is version controlled. If false, vscUri will not be set for any returned project. Default is false.vcsInfo=true
includeDisabled (query)If true, projects disabled in the workspace are also lsited. Default is true.includeDisabled=true

Responses

200

OK: The workspace projects were returned.
Example
{
  "data": {
    "items": [
      {
        "id": "79sd8-3n2a4-e3t24",
        "definition": {
          "name": "MyProject",
          "version": "2.0.3-beta.3+build.5",
          "format": "1.0.0",
          "dependencies": [
            {
              "name": "Modelica",
              "versionSpecifier": "4.0.0"
            }
          ],
          "content": [
            {
              "relpath": "SomeLib.mo",
              "contentType": "MODELICA",
              "name": "SomeLib",
              "defaultDisabled": true,
              "id": "79sd8-3n2a4-e3t24"
            }
          ],
          "executionOptions": [
            {
              "customFunction": "steady state",
              "compiler": {
                "generate_html_diagnostics": true,
                "halt_on_warning": true
              },
              "runtime": {
                "use_Brent_in_1d": false
              },
              "simulation": {
                "ncp": 2000
              },
              "solver": {
                "rtol": 0.0001
              }
            }
          ],
          "icon": ".impact/icon.png"
        },
        "projectType": "LOCAL",
        "vcsUri": {
          "serviceKind": "GIT",
          "serviceUrl": "https://github.com",
          "repoUrl": {
            "url": "gitlab.com/group/project",
            "refname": "main",
            "sha1": "3486a89"
          },
          "protocol": "https",
          "subdir": "src"
        },
        "size": ""
      }
    ]
  }
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/projects
Create and add a project to workspace.

Create an empty projects and adds it to workspace.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace

Request body

Specification for the new content entry.
Example
{
  "new": {
    "name": "MyProject"
  }
}
Name Type Description
name string Project name.

Responses

200

Project is created, added to workspace. The created project is returned.
Example
{
  "id": "79sd8-3n2a4-e3t24",
  "definition": {
    "name": "MyProject",
    "version": "2.0.3-beta.3+build.5",
    "format": "1.0.0",
    "dependencies": [
      {
        "name": "Modelica",
        "versionSpecifier": "4.0.0"
      }
    ],
    "content": [
      {
        "relpath": "SomeLib.mo",
        "contentType": "MODELICA",
        "name": "SomeLib",
        "defaultDisabled": true,
        "id": "79sd8-3n2a4-e3t24"
      }
    ],
    "executionOptions": [
      {
        "customFunction": "steady state",
        "compiler": {
          "generate_html_diagnostics": true,
          "halt_on_warning": true
        },
        "runtime": {
          "use_Brent_in_1d": false
        },
        "simulation": {
          "ncp": 2000
        },
        "solver": {
          "rtol": 0.0001
        }
      }
    ],
    "icon": ".impact/icon.png"
  },
  "projectType": "LOCAL",
  "vcsUri": {
    "serviceKind": "GIT",
    "serviceUrl": "https://github.com",
    "repoUrl": {
      "url": "gitlab.com/group/project",
      "refname": "main",
      "sha1": "3486a89"
    },
    "protocol": "https",
    "subdir": "src"
  },
  "size": ""
}
Name Type Description
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/projects/{project}/experiments
Get project generated experiments for a workspace.

Get project generated experiments for a workspace.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace
project (path)Name of the project.MyProject

Responses

200

The experiment setups and run info for all project generated experiments in a workspace. The objects contain the experiment ids, and additional values are what would be returned from GET /workspaces/{workspace}/experiments/{experimentId}.
Example
{
  "data": {
    "items": [
      {
        "id": "workspace_pid_controller_20200705_170234_546ccba",
        "experiment": {
          "version": 2,
          "base": {
            "model": {
              "fmu": {
                "id": "workspace_pid_controller_20090615_134530_as86g32"
              }
            },
            "modifiers": {
              "variables": {
                "integrator.k": 1,
                "inertia1.J": "uniform(1,5)",
                "inertia2.J": 2
              },
              "initializeFrom": ""
            },
            "expansion": {
              "algorithm": "LatinHyperCube",
              "parameters": {
                "samples": 5,
                "seed": 1
              }
            },
            "analysis": {
              "type": "dynamic",
              "parameters": {
                "start_time": 0,
                "final_time": 1
              },
              "simulationOptions": {},
              "solverOptions": {},
              "simulationLogLevel": "NOTHING"
            }
          },
          "extensions": [
            {
              "modifiers": {
                "variables": {
                  "inertia2.J": 5
                }
              },
              "caseData": [
                {
                  "label": "Cruise operating point"
                }
              ],
              "analysis": {
                "parameters": {
                  "start_time": 0,
                  "final_time": 1
                },
                "simulationOptions": {},
                "solverOptions": {},
                "simulationLogLevel": "NOTHING"
              }
            }
          ]
        },
        "run_info": {
          "status": "failed",
          "errors": [
            "Current settings will generate a large amount of simulation cases. Try reducing the number of simulation cases."
          ],
          "failed": 0,
          "successful": 15,
          "not_started": 0,
          "cancelled": 0
        },
        "meta_data": {
          "experiment_hash": "workspace_pid_controller_20090615_134530_as86g32",
          "model_names": [
            "Workspace.PID_Controller"
          ],
          "created_epoch": 1550836039,
          "label": "my label",
          "user_data": {
            "parametrizationFrom": "specification 3.4",
            "externalToolVersion": "9.0"
          }
        }
      }
    ]
  }
}
Name Type Description
items array List of all experiments.
version integer Experiment version, should be '2'.
id string Reference ID to the compiled model.
className string Model class name.
compilerOptions object Key-value pairs of compilation options.
runtimeOptions object Key-value pairs of run-time options.
compilerLogLevel string Compiler log level.
fmiTarget string Flavour of the FMU.
fmiVersion string Version of FMI for the FMU.
platform string Platform for FMU binary.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified, a full factorial expansion is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
initializeFromExternalResult string The ID of the result import.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
seed number The seed for random number generation. Default: None.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
algorithm string Full factorial expansion algorithm.
algorithm string Saltelli expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samplesPerModifier number The number of samples per (non-singular) modifier in the following sensitivity analysis. Must be a positive integer. It corresponds to the accuracy/resolution of the following sensisivity analysis and depends on the number of non-singular modifiers D. The number of cases in the resulting experiment expansion will be - N*(2*D + 2) if secondOrderAnalysis == true and N*(D + 2) if secondOrderAnalysis == false, where N is samplesPerModifier and D is the number of non-singular modifiers.
secondOrderAnalysis boolean Set to true if the resulting samples are to be used for second order sensitivity analysis, otherwise set to false.
analysis object The analysis object.
type string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
extensions array List of extensions to define cases. Each 'extension' defined will be merged with 'base' to create a case. When merging 'base' with an 'extension', the 'extension' will override the corresponding definitions in 'base'. It is not possible to use any operators (like the range operator) when using extensions.
variables object Specifies parameter values.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
caseData array An array of case data. Only the first index in the case data array will be used for extensions currently.
label ['string', 'null'] Specifies case label.
analysis object The analysis object.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
status string String that is 'cancelled', 'failed' or 'done' depending on if all parts of the experiment could run.
errors array An array containing errors if status is 'failed'.
failed integer Number of cases that are failed.
successful integer Number of cases that are successful.
not_started integer Number of cases that are not started.
cancelled integer Number of cases that are cancelled.
user_data object Up to 2048 bytes of custom data to be associated with the experiment.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/projects/{project}/model-executables
Get project generated FMUs for a workspace.

Get project generated FMUs for a workspace.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace
project (path)Name of the project.MyProject

Responses

200

The results and run info for all project generated FMUs in a workspace. The response objects contain the FMU ID and the additional fields are what would be returned from GET /workspaces/{workspace}/model-executables/{fmuId}.
Example
{
  "data": {
    "items": [
      {
        "id": "workspace_pid_controller_20090615_134530_as86g32",
        "input": {
          "class_name": "Workspace.PID_Controller",
          "compiler_options": {
            "generate_html_diagnostics": true
          },
          "runtime_options": {
            "log_level": 4
          },
          "compiler_log_level": "info",
          "fmi_target": "me",
          "fmi_version": "2.0",
          "platform": "win64",
          "model_snapshot": "2b3a4-adf3",
          "disabled_libs": "[VDL, ML]",
          "toolchain_version": "0.0.1"
        },
        "run_info": {
          "status": "failed",
          "datetime_started": 1549552749,
          "errors": [
            {
              "msg": "The binding expression of the variable x does not match the declared type of the variable",
              "locationType": "FileAndClassLocation",
              "location": {
                "class": {
                  "beginColumn": 2,
                  "endColumn": 2,
                  "beginLine": 2,
                  "endLine": 2,
                  "qualifiedName": "Workspace.Example"
                },
                "file": {
                  "beginColumn": 2,
                  "endColumn": 2,
                  "beginLine": 2,
                  "endLine": 2,
                  "context": "  Real x = \"asdf\";\n",
                  "file": "/impact/workspaces/example_workspace/model_libraries/editable/Workspace/Example.mo"
                }
              }
            }
          ],
          "datetime_finished": 1549552338
        }
      }
    ]
  }
}
Name Type Description
items array List of all model executables.
input object The input for how the compilation was done.
class_name string Model class name.
compiler_options object Compiler options settings.
runtime_options object Runtime options settings.
compiler_log_level string Compiler log level.
fmi_target string Flavour of the FMU.
fmi_version string Version of FMI for the FMU.
platform string Platform for FMU binary.
model_snapshot string An unique identifier representing some state of all models and libraries used when compiling.
disabled_libs array List of libraries not used when compiling.
toolchain_version string Representing an aggregated version of all tooling used when compiling, will now always be 0.0.1.
run_info object The run info of the compilation.
status string String that is 'cancelled', 'failed' or 'successful' depending on if the compilation finished successfully.
datetime_started integer The unix time the compilation was started.
errors array An array containing the compilation errors in case status is 'failed'.
msg string The compilation error.
qualifiedName string Class name.
context string Modelica code snippet from error location. Entire lines of location, no consideration to columns is done.
file string Filename.
msg string The compilation error.
context string Modelica code snippet from error location. Entire lines of location, no consideration to columns is done.
file string Filename.
msg string The compilation error.
msg string The compilation error.
path string Path to a file used in compilation.
datetime_finished integer The unix time the compilation was finished.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/sharing-definition
Returns a workspaces sharing defintion

Will create a workspace definition that can be shared with other users. This requires that all projects used in the workspace is either version controlled or a released projcet. The 'strict' query parameter can be used to specify if the version control URIs are to specific commits or not. The end-point /workspace-imports is used to import a workspace based on the shared definition returned from this end-point.

Parameters

NameDescriptionExample
workspace (path)ID of the workspace.MyWorkspace
strict (query)If true, version control references will be to a specific commit. If false, version control references will not contain specific commit. Default is false.strict=true

Responses

200

A workspace definition for sharing.
Example
{
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  }
}
Name Type Description
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/custom-functions/{custom-function}
Get the custom function meta-data

Gets the meta-data for a custom function describing which parameters the custom function accepts (read more about the response for details). Note that the system comes with default custom functions thar are always available. Furthermore, you can read more about custom functions and setting up the system with your own in the Modelon Impact help center.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
custom-function (path)Name of the custom function.steady state

Responses

200

A custom function and its meta-data.
Example
{
  "version": "0.0.1",
  "name": "my_custom_function",
  "description": "This is my custom function!",
  "can_initialize_from": false,
  "parameters": [
    {
      "name": "my_custom_function_parameter",
      "type": "Number",
      "values": [
        "small",
        "medium",
        "large"
      ],
      "description": "This is my custom function parameter, supports values of '1', '2' and '3'",
      "optional": "true",
      "defaultValue": 2
    }
  ]
}
Name Type Description
version string Custom function signature schema version.
name string Name of the custom function.
description string Description of the custom function
can_initialize_from boolean Indicates whether the custom function support the 'initialize from' functionality when setting up an experiment.
parameters array A list of parameters that should be supplied in the experiment definition if this custom function is used.
name string Name of the custom function parameter.
type string Data type of the custom function parameter, supported types are 'Number', 'String', 'Boolean' and 'Enumeration'.
values array A list specifying values to choose the parameter from (applicable only for parameters of type Enumeration).
description string Description of the custom function parameter
optional string If this custom function parameter is optional when calling this custom function, supported values are 'true' and 'false'.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
PUT
/workspaces/{workspace}/custom-functions/{custom-function}/options
Sets execution option values

The values for the options are saved for a specific custom function and workspace.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
custom-function (path)Name of the custom function.steady state

Request body

Execution options to set for custom function.
Example
{
  "options": {
    "compiler": {
      "generate_html_diagnostics": true,
      "halt_on_warning": true
    },
    "runtime": {
      "use_Brent_in_1d": false
    },
    "simulation": {
      "ncp": 2000
    },
    "solver": {
      "rtol": 0.0001
    }
  }
}
Name Type Description
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/custom-functions/{custom-function}/options
Gets the execution options

Gets the (aggregated) options for a custom function. This includes: Workspace specific options, options configured as defaults for the application, default options specified in the custom function. For options specified on multiple levels, the value is taken primarily from the workspace specific options, secondarily from the application default options and in third hand from the custom function default options.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
custom-function (path)Name of the custom function.steady state

Responses

200

The aggregated execution option set for a custom function.
Example
{
  "options": {
    "compiler": {
      "generate_html_diagnostics": true,
      "halt_on_warning": true
    },
    "runtime": {
      "use_Brent_in_1d": false
    },
    "simulation": {
      "ncp": 2000
    },
    "solver": {
      "rtol": 0.0001
    }
  }
}
Name Type Description
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/custom-functions/{custom-function}/default-options
Gets the default execution options

Gets the application level default options for a custom function. This includes: Options configured as defaults for the application and default options specified in the custom function. For options specified on both levels, the value is taken from the application default options.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
custom-function (path)Name of the custom function.steady state

Responses

200

The application level default execution options for a custom function.
Example
{
  "options": {
    "compiler": {
      "generate_html_diagnostics": true,
      "halt_on_warning": true
    },
    "runtime": {
      "use_Brent_in_1d": false
    },
    "simulation": {
      "ncp": 2000
    },
    "solver": {
      "rtol": 0.0001
    }
  }
}
Name Type Description
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
PUT
/workspaces/{workspace}/projects/{project}/custom-functions/{custom-function}/options
Sets execution option values

The values for the options are saved for a specific custom function and project.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
project (path)ID of the project execution options are located in.79sd8-3n2a4-e3t24
custom-function (path)Name of the custom function.steady state

Request body

Execution options to set for custom function.
Example
{
  "options": {
    "compiler": {
      "generate_html_diagnostics": true,
      "halt_on_warning": true
    },
    "runtime": {
      "use_Brent_in_1d": false
    },
    "simulation": {
      "ncp": 2000
    },
    "solver": {
      "rtol": 0.0001
    }
  }
}
Name Type Description
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/projects/{project}/custom-functions/{custom-function}/options
Gets the execution options

Gets the (aggregated) options for a custom function. This includes: Project specific options, options configured as defaults for the application, default options specified in the custom function. For options specified on multiple levels, the value is taken primarily from the project specific options, secondarily from the application default options and in third hand from the custom function default options.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
project (path)ID of the project execution options are located in.79sd8-3n2a4-e3t24
custom-function (path)Name of the custom function.steady state

Responses

200

The aggregated execution option set for a custom function.
Example
{
  "options": {
    "compiler": {
      "generate_html_diagnostics": true,
      "halt_on_warning": true
    },
    "runtime": {
      "use_Brent_in_1d": false
    },
    "simulation": {
      "ncp": 2000
    },
    "solver": {
      "rtol": 0.0001
    }
  }
}
Name Type Description
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/custom-functions
Get a list of custom functions meta-data

Which custom functions that exists are useful when setting up an experiment using POST /workspaces/{workspace}/experiments. The name of a custom function is used for the field 'analysis_function' which specifies that it should be used for the experiment. The meta-data also describes which parameters each custom function accepts (read more about the response for details). Note that the system comes with default custom functions thar are always available. Furthermore, you can read more about custom functions and setting up the system with your own in the Modelon Impact help center.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace

Responses

200

A list of custom functions and their meta-data.
Example
{
  "data": {
    "items": [
      {
        "version": "1.0.0",
        "name": "simulate_dynamic",
        "description": "Performs a dynamic simulation.",
        "parameters": [
          {
            "name": "start_time",
            "type": "number",
            "description": ".",
            "optional": "false",
            "defaultValue": 0
          },
          {
            "name": "final_time",
            "type": "number",
            "description": ".",
            "optional": "false",
            "defaultValue": 1
          }
        ]
      },
      {
        "version": "1.0.0",
        "name": "steady_state",
        "description": "Performs a steady state simulation."
      }
    ]
  }
}
Name Type Description
version string Custom function signature schema version.
name string Name of the custom function.
description string Description of the custom function
can_initialize_from boolean Indicates whether the custom function support the 'initialize from' functionality when setting up an experiment.
parameters array A list of parameters that should be supplied in the experiment definition if this custom function is used.
name string Name of the custom function parameter.
type string Data type of the custom function parameter, supported types are 'Number', 'String', 'Boolean' and 'Enumeration'.
values array A list specifying values to choose the parameter from (applicable only for parameters of type Enumeration).
description string Description of the custom function parameter
optional string If this custom function parameter is optional when calling this custom function, supported values are 'true' and 'false'.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/options/units/conversions
Returns the set of unit conversion factors

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace

Responses

200

A dictionary specifying the unit conversion factors for SI units and for imperial units.
Example
{
  "si": [
    {
      "unit": "K",
      "displayUnit": "degC",
      "multiplier": 1,
      "offset": -273.15
    }
  ],
  "imperial": [
    {
      "unit": "K",
      "displayUnit": "degF",
      "multiplier": 1.8,
      "offset": -459.67
    }
  ]
}
Name Type Description
si array SI unit conversions.
imperial array Imperial unit conversions.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/model-executables
Sets up a model executable to be compiled

The name of the model to be compiled is specified by the field 'class_name'. The remaining fields in the input are options for the compilation process. For a reference of what options can be used in the field 'compiler_options' and 'runtime_option' see the OCT User's Guide, which can be found in the Modelon Impact help center. If the FMU should be executed in Impact (rather than exported) it is recommended that 'fmi_target' is 'me', 'fmi_version' is '2.0' and 'platform' is 'auto'. If this end-point is called with the query parameter 'getCached' set to true, then a previously compiled model executable is returned, if such an FMU exists. To get a cached model executable (FMU) there must exists a successfully compiled model executable that was compiled with the same inputs as in the current call. Furthermore, if the Modelica model for which the FMU compilation is requested has been changed in a structural way, or at least one of its dependent models have changed, then a cached FMU will not be returned. Setting non-structural parameters and making graphical changes to the Modelica model will not break the cache for its compiled FMU.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
getCached (query)If true, returns, if available, a reusable model executable previously compiled. Also returns any non-structural parameters to be set on it.getCached=true
allowNonStructuralMissing (query)If true, a cached FMU can be found even if the FMU was compiled with some non-structural parameters with unknown value. If this is the case, parametersMissing in the response will contain a list of these parameters and the caller should ensure to specify some values for these parameters when using the cached FMU.allowNonStructuralMissing=true

Request body

Compilation parameters.
Example
{
  "input": {
    "class_name": "Workspace.PID_Controller",
    "compiler_options": {
      "generate_html_diagnostics": true
    },
    "runtime_options": {
      "log_level": 4
    },
    "compiler_log_level": "info",
    "fmi_target": "me",
    "fmi_version": "2.0",
    "platform": "win64"
  }
}
Name Type Description
input object The input for how the compilation was done.
class_name string Model class name.
compiler_options object Key-value pairs of compilation options.
runtime_options object Key-value pairs of run-time options.
compiler_log_level string Compiler log level.
fmi_target string Flavour of the FMU.
fmi_version string Version of FMI for the FMU.
platform string Platform for FMU binary.

Responses

200

An identifier for the FMU being compiled (ID).
Example
{
  "id": "workspace_pid_controller_20090615_134530_as86g32",
  "parameters": {
    "inertia1.J": 2
  },
  "parametersMissing": [
    "inertia1.J"
  ]
}
Name Type Description
id string A unique identifier for an FMU. Will be null if getCached=true and no cached FMU is available.
parameters object Parameter values to be set on the FMU referenced by the 'id', for it to represent current model setup. Empty if getCached=false.
parametersMissing array Parameters to be set for the FMU referenced by the 'id', default value is otherwise not guaranteed to represent current model setup. Empty if getCached=false or allowNonStructuralMissing=false.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables
Returns all model executables input and run info

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
classPath (query)Modelica class path of the model. If given, only FMUs generated by the 'classPath' are returned.classPath=Modelica.Blocks.Examples.PID_Controller

Responses

200

The results and run info for all compilations. The response objects contain the FMU ID and the additional fields are what would be returned from .../model-executables/{fmuId}.
Example
{
  "data": {
    "items": [
      {
        "id": "workspace_pid_controller_20090615_134530_as86g32",
        "input": {
          "class_name": "Workspace.PID_Controller",
          "compiler_options": {
            "generate_html_diagnostics": true
          },
          "runtime_options": {
            "log_level": 4
          },
          "compiler_log_level": "info",
          "fmi_target": "me",
          "fmi_version": "2.0",
          "platform": "win64",
          "model_snapshot": "2b3a4-adf3",
          "disabled_libs": "[VDL, ML]",
          "toolchain_version": "0.0.1"
        },
        "run_info": {
          "status": "failed",
          "datetime_started": 1549552749,
          "errors": [
            {
              "msg": "The binding expression of the variable x does not match the declared type of the variable",
              "locationType": "FileAndClassLocation",
              "location": {
                "class": {
                  "beginColumn": 2,
                  "endColumn": 2,
                  "beginLine": 2,
                  "endLine": 2,
                  "qualifiedName": "Workspace.Example"
                },
                "file": {
                  "beginColumn": 2,
                  "endColumn": 2,
                  "beginLine": 2,
                  "endLine": 2,
                  "context": "  Real x = \"asdf\";\n",
                  "file": "/impact/workspaces/example_workspace/model_libraries/editable/Workspace/Example.mo"
                }
              }
            }
          ],
          "datetime_finished": 1549552338
        }
      }
    ]
  }
}
Name Type Description
items array List of all model executables.
input object The input for how the compilation was done.
class_name string Model class name.
compiler_options object Compiler options settings.
runtime_options object Runtime options settings.
compiler_log_level string Compiler log level.
fmi_target string Flavour of the FMU.
fmi_version string Version of FMI for the FMU.
platform string Platform for FMU binary.
model_snapshot string An unique identifier representing some state of all models and libraries used when compiling.
disabled_libs array List of libraries not used when compiling.
toolchain_version string Representing an aggregated version of all tooling used when compiling, will now always be 0.0.1.
run_info object The run info of the compilation.
status string String that is 'cancelled', 'failed' or 'successful' depending on if the compilation finished successfully.
datetime_started integer The unix time the compilation was started.
errors array An array containing the compilation errors in case status is 'failed'.
msg string The compilation error.
qualifiedName string Class name.
context string Modelica code snippet from error location. Entire lines of location, no consideration to columns is done.
file string Filename.
msg string The compilation error.
context string Modelica code snippet from error location. Entire lines of location, no consideration to columns is done.
file string Filename.
msg string The compilation error.
msg string The compilation error.
path string Path to a file used in compilation.
datetime_finished integer The unix time the compilation was finished.
Example
{
  "data": {
    "items": [
      {
        "id": "workspace_pid_controller_20090615_134530_as86g32",
        "input": {
          "class_name": "Workspace.PID_Controller",
          "compiler_options": {
            "generate_html_diagnostics": true
          },
          "runtime_options": {
            "log_level": 4
          },
          "compiler_log_level": "info",
          "fmi_target": "me",
          "fmi_version": "2.0",
          "platform": "win64",
          "model_snapshot": "2b3a4-adf3",
          "disabled_libs": "[VDL, ML]",
          "toolchain_version": "0.0.1"
        },
        "run_info": {
          "status": "failed",
          "datetime_started": 1549552749,
          "errors": [
            "Could not match 'variable1' with any equation",
            "Nominal of 'variable2' is 0"
          ],
          "datetime_finished": 1549552338
        }
      }
    ]
  }
}
Name Type Description
items array List of all model executables.
input object The input for how the compilation was done.
class_name string Model class name.
compiler_options object Compiler options settings.
runtime_options object Runtime options settings.
compiler_log_level string Compiler log level.
fmi_target string Flavour of the FMU.
fmi_version string Version of FMI for the FMU.
platform string Platform for FMU binary.
model_snapshot string An unique identifier representing some state of all models and libraries used when compiling.
disabled_libs array List of libraries not used when compiling.
toolchain_version string Representing an aggregated version of all tooling used when compiling, will now always be 0.0.1.
run_info object The run info of the compilation.
status string String that is 'cancelled', 'failed' or 'successful' depending on if the compilation finished successfully.
datetime_started integer The unix time the compilation was started.
errors array An array containing the compilation errors in case status is 'failed'.
datetime_finished integer The unix time the compilation was finished.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/supported-platforms
Returns the supported platforms for FMU generation

Can be used to find which values are supported for the field 'platform' when calling the POST method on '/workspaces/{workspace}/model-executables'.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace

Responses

200

A list of the supported FMU's generation platforms.
Example
{
  "data": {
    "platforms": [
      "win32",
      "win64"
    ]
  }
}
Name Type Description
platforms array An array containing the list of platforms in which the FMU can be generated.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}
Returns the compilation input and run info

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)The FMU ID.workspace_pid_controller_20090615_134530_as86g32

Responses

200

The result from a compilation. The 'status' and 'errors' in 'run_info' should be checked to see if compilation finished successfully.
Example
{
  "id": "workspace_pid_controller_20090615_134530_as86g32",
  "input": {
    "class_name": "Workspace.PID_Controller",
    "compiler_options": {
      "generate_html_diagnostics": true
    },
    "runtime_options": {
      "log_level": 4
    },
    "compiler_log_level": "info",
    "fmi_target": "me",
    "fmi_version": "2.0",
    "platform": "win64",
    "model_snapshot": "2b3a4-adf3",
    "disabled_libs": "[VDL, ML]",
    "toolchain_version": "0.0.1"
  },
  "run_info": {
    "status": "failed",
    "datetime_started": 1549552749,
    "errors": [
      {
        "msg": "The binding expression of the variable x does not match the declared type of the variable",
        "locationType": "FileAndClassLocation",
        "location": {
          "class": {
            "beginColumn": 2,
            "endColumn": 2,
            "beginLine": 2,
            "endLine": 2,
            "qualifiedName": "Workspace.Example"
          },
          "file": {
            "beginColumn": 2,
            "endColumn": 2,
            "beginLine": 2,
            "endLine": 2,
            "context": "  Real x = \"asdf\";\n",
            "file": "/impact/workspaces/example_workspace/model_libraries/editable/Workspace/Example.mo"
          }
        }
      }
    ],
    "datetime_finished": 1549552338
  }
}
Name Type Description
input object The input for how the compilation was done.
class_name string Model class name.
compiler_options object Compiler options settings.
runtime_options object Runtime options settings.
compiler_log_level string Compiler log level.
fmi_target string Flavour of the FMU.
fmi_version string Version of FMI for the FMU.
platform string Platform for FMU binary.
model_snapshot string An unique identifier representing some state of all models and libraries used when compiling.
disabled_libs array List of libraries not used when compiling.
toolchain_version string Representing an aggregated version of all tooling used when compiling, will now always be 0.0.1.
run_info object The run info of the compilation.
status string String that is 'cancelled', 'failed' or 'successful' depending on if the compilation finished successfully.
datetime_started integer The unix time the compilation was started.
errors array An array containing the compilation errors in case status is 'failed'.
msg string The compilation error.
qualifiedName string Class name.
context string Modelica code snippet from error location. Entire lines of location, no consideration to columns is done.
file string Filename.
msg string The compilation error.
context string Modelica code snippet from error location. Entire lines of location, no consideration to columns is done.
file string Filename.
msg string The compilation error.
msg string The compilation error.
path string Path to a file used in compilation.
datetime_finished integer The unix time the compilation was finished.
Example
{
  "id": "workspace_pid_controller_20090615_134530_as86g32",
  "input": {
    "class_name": "Workspace.PID_Controller",
    "compiler_options": {
      "generate_html_diagnostics": true
    },
    "runtime_options": {
      "log_level": 4
    },
    "compiler_log_level": "info",
    "fmi_target": "me",
    "fmi_version": "2.0",
    "platform": "win64",
    "model_snapshot": "2b3a4-adf3",
    "disabled_libs": "[VDL, ML]",
    "toolchain_version": "0.0.1"
  },
  "run_info": {
    "status": "failed",
    "datetime_started": 1549552749,
    "errors": [
      "Could not match 'variable1' with any equation",
      "Nominal of 'variable2' is 0"
    ],
    "datetime_finished": 1549552338
  }
}
Name Type Description
input object The input for how the compilation was done.
class_name string Model class name.
compiler_options object Compiler options settings.
runtime_options object Runtime options settings.
compiler_log_level string Compiler log level.
fmi_target string Flavour of the FMU.
fmi_version string Version of FMI for the FMU.
platform string Platform for FMU binary.
model_snapshot string An unique identifier representing some state of all models and libraries used when compiling.
disabled_libs array List of libraries not used when compiling.
toolchain_version string Representing an aggregated version of all tooling used when compiling, will now always be 0.0.1.
run_info object The run info of the compilation.
status string String that is 'cancelled', 'failed' or 'successful' depending on if the compilation finished successfully.
datetime_started integer The unix time the compilation was started.
errors array An array containing the compilation errors in case status is 'failed'.
datetime_finished integer The unix time the compilation was finished.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}/model-executables/{fmuId}
Deletes the FMU with the specified ID

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)The FMU ID.workspace_pid_controller_20090615_134530_as86g32

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/model-executables/{fmuId}/compilation
Compiles a model

First call POST /workspaces/{workspace}/model-executables to setup what should be compiled.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the model to be compiled.workspace_pid_controller_20090615_134530_as86g32

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}/compilation
Get compilation status

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the model to be compiled.workspace_pid_controller_20090615_134530_as86g32

Responses

200

Status of the compilation.
Example
{
  "finished_executions": 0,
  "total_executions": 1,
  "status": "running",
  "progresses": [
    {
      "message": "Compiling...",
      "percentage": 0.0,
      "stage": "compilation",
      "done": false
    }
  ]
}
Name Type Description
finished_executions integer Number of executions that have finished. Should not be used for determining if an execution is finished, instead use the 'status' string.
total_executions integer Total number of executions.
status string Execution status, can have the values 'pending', 'running', 'stopping', 'cancelled' or 'done'.
progresses array An array containing progress information about all executions.
message string A message about the progress of the execution.
percentage number A number between 0 and 1 indicating how the execution is progressing.
stage string The stage this progress applies to. Possible values are 'simulation' and 'compilation'.
done boolean True if the compilation is done.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}/model-executables/{fmuId}/compilation
Cancel a running compilation

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the model to be compiled.workspace_pid_controller_20090615_134530_as86g32

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}/compilation/log
Downloads the model executable compilation log

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the compiled model.workspace_pid_controller_20090615_134530_as86g32

Responses

200

A compilation log.
Example

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}/model-description
Downloads the model description file for an FMU

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the compiled model.workspace_pid_controller_20090615_134530_as86g32

Responses

200

A model description XML file.
Example

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}/binary
Downloads an FMU binary that is compiled

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the compiled model.workspace_pid_controller_20090615_134530_as86g32

Responses

200

An FMU file.
Example

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/model-executables/{fmuId}/steady-state-metadata
Gets the FMU meta-data

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the compiled model.workspace_pid_controller_20090615_134530_as86g32

Request body

The current parameter state of the FMU.
Example
{
  "parameterState": {
    "foo": 1,
    "bar": 2
  }
}
Name Type Description
parameterState object The current parameter state of the FMU.

Responses

200

The FMU meta-data.
Example
{
  "steady_state": {
    "residual_variable_count": 1,
    "iteration_variable_count": 2
  }
}
Name Type Description
steady_state object The steady state meta-data.
residual_variable_count integer Number of residual variables.
iteration_variable_count integer Number of iteration variables.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}/settable-parameters
Gets the parameters that can be set on the FMU

Can be used to find what parameters are feasible to have as modifiers in an experiment.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the compiled model.workspace_pid_controller_20090615_134530_as86g32

Responses

200

A list of the FMU's settable parameters.
Example
[
  "param1",
  "param3"
]

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/model-executables/{fmuId}/string-parameters-and-values
Gets parameters that have string values together with those values

Gets a list of parameters whose values are strings and one list with respective value in order. Can be used when requiring string parameters that don't come with the result.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
fmuId (path)Reference ID to the compiled model.workspace_pid_controller_20090615_134530_as86g32

Responses

200

An object containing a list of two lists. The first list is the names of the parameters, and the second is a list of the parameter values in the same order.
Example
{
  "data": {
    "items": [
      [
        "var1",
        "var2"
      ],
      [
        "val1",
        "val2"
      ]
    ]
  }
}
Name Type Description
items array An array containing two arrays, the first containing parameter names and the second containing respective string values.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/experiments
Sets up an experiment for execution

The required inputs for setting up a multi-execution experiment is either 'id' in 'base/model/fmu' OR 'className' in 'base/model/modelica', along with 'type' in 'base/analysis'. These can be obtained from POST /workspaces/{workspace}/model-executables and GET /workspaces/{workspace}/custom-functions respectively. The FMU 'id' specifies what FMU the experiment is based on, and analysis 'type' specifies what analysis custom function is used for each case of the experiment. Furthermore, experiments support multi-execution, i.e., batch computations where each case executes a custom function. Multi-execution experiments can be set up in two ways.

The first way to setup multi-execution experiments is to specify 'operators' for 'modifiers' which are applied to the base experiment. An example experiment for this could contain the 'modifiers': {'variables': {'x': 'range(1, 2, 3)'}}, which would result in a multi-execution experiment with three cases: x=1, x=1.5, and x=2. Note that if multiple 'operators' are used for different variables, the experiment will be expand to cases with all combinations of parametrizations, i.e., full factorial is used to expand the experiment. Here is a full example using the range operator to create cases:

{
  "experiment": {
    "version": 2,
    "base": {
      "model": {
        "fmu": {
          "id": "workspace_pid_controller_20090615_134530_as86g32"
        }
      },
      "modifiers": {
        "variables": {
          "inertia1.J": "range(1, 2, 10)",
        }
      },
      "analysis": {
        "type": "dynamic",
        "parameters": {
          "start_time": 0,
          "final_time": 1
        }
      }
    }
  }
}

The other way of defining an experiment is to specify 'extensions' to the 'base' definition, where each 'extension' is combined with 'base' to create a case. For example, an experiment with the 'extensions': [{'modifiers': {'variables': {'x': 1}}}, {'modifiers': {'variables': {'x': 1.5}}}, {'modifiers': {'variables': {'x': 2}}}], would result in the same multi-execution as above (if no modifiers are defined in 'base'). This way of creating cases gives more freedom to the client to set up a multi-execution experiment, since cases are defined by parameter configurations, as opposed to operators (like the range operator). This approach also allows different options and custom function parameters to be used for the different cases. These two methods of setting up a multi-execution cannot be combined. So, if any extensions are given, it is not allowed to include any 'operators' anywhere in the experiment. It is however allowed to provide parameter values (with no operators) in 'base' in combination with defining cases with 'extensions'. In this case, parameters set in 'extensions' overrides those set in 'base'.

The following example shows how 'extensions' are used to set options and parameters for separate cases and thereby overriding the values in the 'base' definition. The 'base' definition in the example have 'analysis': {'type': 'dynamic', 'parameters': {'start_time': 2, 'final_time': 3}}, and 'modifiers': {'variables': {'x': 1, 'y': 3}}}. If used with the 'extensions':

[{'analysis': {'parameters': {'final_time': 4}}}, 'modifiers': {'variables': {'y': 5}}}, {'analysis': {'parameters': {'start_time': 1}}}, 'modifiers': {'variables': {'x': 2}}}],

we will get two cases. The first case will use 2 for 'start_time' from the 'base' and 4 for 'final_time' as it is overridden by the 'extension', in the same way it will use 'x'=1 and 'y'=5 as modifiers. The second case overrides 'start_time' and 'x' and will result in 'start_time'=1, 'final_time'=3, 'x'=2, and 'y'=3.

The old (version 1) experiment format can still be used but will be removed in a future version.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace

Request body

Experiment parameters.
Example
{
  "experiment": {
    "version": 2,
    "base": {
      "model": {
        "fmu": {
          "id": "workspace_pid_controller_20090615_134530_as86g32"
        }
      },
      "modifiers": {
        "variables": {
          "integrator.k": 1,
          "inertia1.J": "uniform(1,5)",
          "inertia2.J": 2
        },
        "initializeFrom": ""
      },
      "expansion": {
        "algorithm": "LatinHyperCube",
        "parameters": {
          "samples": 5,
          "seed": 1
        }
      },
      "analysis": {
        "type": "dynamic",
        "parameters": {
          "start_time": 0,
          "final_time": 1
        },
        "simulationOptions": {},
        "solverOptions": {},
        "simulationLogLevel": "NOTHING"
      }
    },
    "extensions": [
      {
        "modifiers": {
          "variables": {
            "inertia2.J": 5
          }
        },
        "caseData": [
          {
            "label": "Cruise operating point"
          }
        ],
        "analysis": {
          "parameters": {
            "start_time": 0,
            "final_time": 1
          },
          "simulationOptions": {},
          "solverOptions": {},
          "simulationLogLevel": "NOTHING"
        }
      }
    ]
  },
  "userData": {
    "parametrizationFrom": "specification 3.4",
    "externalToolVersion": "9.0"
  }
}
Name Type Description
version integer Experiment version, should be '2'.
id string Reference ID to the compiled model.
className string Model class name.
compilerOptions object Key-value pairs of compilation options.
runtimeOptions object Key-value pairs of run-time options.
compilerLogLevel string Compiler log level.
fmiTarget string Flavour of the FMU.
fmiVersion string Version of FMI for the FMU.
platform string Platform for FMU binary.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified, a full factorial expansion is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
initializeFromExternalResult string The ID of the result import.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
seed number The seed for random number generation. Default: None.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
algorithm string Full factorial expansion algorithm.
algorithm string Saltelli expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samplesPerModifier number The number of samples per (non-singular) modifier in the following sensitivity analysis. Must be a positive integer. It corresponds to the accuracy/resolution of the following sensisivity analysis and depends on the number of non-singular modifiers D. The number of cases in the resulting experiment expansion will be - N*(2*D + 2) if secondOrderAnalysis == true and N*(D + 2) if secondOrderAnalysis == false, where N is samplesPerModifier and D is the number of non-singular modifiers.
secondOrderAnalysis boolean Set to true if the resulting samples are to be used for second order sensitivity analysis, otherwise set to false.
analysis object The analysis object.
type string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
extensions array List of extensions to define cases. Each 'extension' defined will be merged with 'base' to create a case. When merging 'base' with an 'extension', the 'extension' will override the corresponding definitions in 'base'. It is not possible to use any operators (like the range operator) when using extensions.
variables object Specifies parameter values.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
caseData array An array of case data. Only the first index in the case data array will be used for extensions currently.
label ['string', 'null'] Specifies case label.
analysis object The analysis object.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
userData object Up to 2048 bytes of custom data to be associated with the experiment.
Example
{
  "experiment": {
    "fmu_id": "workspace_pid_controller_20090615_134530_as86g32",
    "modifiers": {
      "variables": {
        "integrator.k": 1,
        "inertia1.J": "range(1,5,5)",
        "inertia2.J": "range(5,10,3)"
      },
      "initializeFrom": ""
    },
    "analysis": {
      "analysis_function": "dynamic",
      "parameters": {
        "start_time": 0,
        "final_time": 1
      },
      "simulation_options": {},
      "solver_options": {},
      "simulation_log_level": "NOTHING"
    }
  },
  "userData": {
    "parametrizationFrom": "specification 3.4",
    "externalToolVersion": "9.0"
  }
}
Name Type Description
fmu_id string Reference ID to the compiled model.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified a full factorial is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
analysis object The analysis object.
analysis_function string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulation_options object Key-value pairs of simulation options.
solver_options object Key-value pairs of solver options.
simulation_log_level string The simulation log level.
userData object Up to 2048 bytes of custom data to be associated with the experiment.

Responses

200

An identifier for the experiment (ID).
Example
{
  "experiment_id": "workspace_pid_controller_20090615_134530_as86g32"
}
Name Type Description
experiment_id string An object with an unique identifier for this experiment, used to track this experiment in other API calls.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments
Get all experiments meta-data

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
classPath (query)Modelica class path of the model. If given, only experiments generated by the 'classPath' are returned.classPath=Modelica.Blocks.Examples.PID_Controller

Responses

200

The experiment setups and run info for all experiments. The objects contain the experiment ids, and additional values are what would be returned from .../experiments/{experimentId}.
Example
{
  "data": {
    "items": [
      {
        "id": "workspace_pid_controller_20200705_170234_546ccba",
        "experiment": {
          "version": 2,
          "base": {
            "model": {
              "fmu": {
                "id": "workspace_pid_controller_20090615_134530_as86g32"
              }
            },
            "modifiers": {
              "variables": {
                "integrator.k": 1,
                "inertia1.J": "uniform(1,5)",
                "inertia2.J": 2
              },
              "initializeFrom": ""
            },
            "expansion": {
              "algorithm": "LatinHyperCube",
              "parameters": {
                "samples": 5,
                "seed": 1
              }
            },
            "analysis": {
              "type": "dynamic",
              "parameters": {
                "start_time": 0,
                "final_time": 1
              },
              "simulationOptions": {},
              "solverOptions": {},
              "simulationLogLevel": "NOTHING"
            }
          },
          "extensions": [
            {
              "modifiers": {
                "variables": {
                  "inertia2.J": 5
                }
              },
              "caseData": [
                {
                  "label": "Cruise operating point"
                }
              ],
              "analysis": {
                "parameters": {
                  "start_time": 0,
                  "final_time": 1
                },
                "simulationOptions": {},
                "solverOptions": {},
                "simulationLogLevel": "NOTHING"
              }
            }
          ]
        },
        "run_info": {
          "status": "failed",
          "errors": [
            "Current settings will generate a large amount of simulation cases. Try reducing the number of simulation cases."
          ],
          "failed": 0,
          "successful": 15,
          "not_started": 0,
          "cancelled": 0
        },
        "meta_data": {
          "experiment_hash": "workspace_pid_controller_20090615_134530_as86g32",
          "model_names": [
            "Workspace.PID_Controller"
          ],
          "created_epoch": 1550836039,
          "label": "my label",
          "user_data": {
            "parametrizationFrom": "specification 3.4",
            "externalToolVersion": "9.0"
          }
        }
      }
    ]
  }
}
Name Type Description
items array List of all experiments.
version integer Experiment version, should be '2'.
id string Reference ID to the compiled model.
className string Model class name.
compilerOptions object Key-value pairs of compilation options.
runtimeOptions object Key-value pairs of run-time options.
compilerLogLevel string Compiler log level.
fmiTarget string Flavour of the FMU.
fmiVersion string Version of FMI for the FMU.
platform string Platform for FMU binary.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified, a full factorial expansion is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
initializeFromExternalResult string The ID of the result import.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
seed number The seed for random number generation. Default: None.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
algorithm string Full factorial expansion algorithm.
algorithm string Saltelli expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samplesPerModifier number The number of samples per (non-singular) modifier in the following sensitivity analysis. Must be a positive integer. It corresponds to the accuracy/resolution of the following sensisivity analysis and depends on the number of non-singular modifiers D. The number of cases in the resulting experiment expansion will be - N*(2*D + 2) if secondOrderAnalysis == true and N*(D + 2) if secondOrderAnalysis == false, where N is samplesPerModifier and D is the number of non-singular modifiers.
secondOrderAnalysis boolean Set to true if the resulting samples are to be used for second order sensitivity analysis, otherwise set to false.
analysis object The analysis object.
type string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
extensions array List of extensions to define cases. Each 'extension' defined will be merged with 'base' to create a case. When merging 'base' with an 'extension', the 'extension' will override the corresponding definitions in 'base'. It is not possible to use any operators (like the range operator) when using extensions.
variables object Specifies parameter values.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
caseData array An array of case data. Only the first index in the case data array will be used for extensions currently.
label ['string', 'null'] Specifies case label.
analysis object The analysis object.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
status string String that is 'cancelled', 'failed' or 'done' depending on if all parts of the experiment could run.
errors array An array containing errors if status is 'failed'.
failed integer Number of cases that are failed.
successful integer Number of cases that are successful.
not_started integer Number of cases that are not started.
cancelled integer Number of cases that are cancelled.
user_data object Up to 2048 bytes of custom data to be associated with the experiment.
Example
{
  "data": {
    "items": [
      {
        "id": "workspace_pid_controller_20200705_170234_546ccba",
        "experiment": {
          "fmu_id": "workspace_pid_controller_20090615_134530_as86g32",
          "modifiers": {
            "variables": {
              "integrator.k": 1,
              "inertia1.J": "range(1,5,5)",
              "inertia2.J": "range(5,10,3)"
            },
            "initializeFrom": ""
          },
          "analysis": {
            "analysis_function": "dynamic",
            "parameters": {
              "start_time": 0,
              "final_time": 1
            },
            "simulation_options": {},
            "solver_options": {},
            "simulation_log_level": "NOTHING"
          }
        },
        "run_info": {
          "status": "failed",
          "errors": [
            "Current settings will generate a large amount of simulation cases. Try reducing the number of simulation cases."
          ],
          "failed": 0,
          "successful": 15
        },
        "meta_data": {
          "experiment_hash": "workspace_pid_controller_20090615_134530_as86g32",
          "model_names": [
            "Workspace.PID_Controller"
          ],
          "created_epoch": 1550836039,
          "label": "my label",
          "user_data": {
            "parametrizationFrom": "specification 3.4",
            "externalToolVersion": "9.0"
          }
        }
      }
    ]
  }
}
Name Type Description
items array List of all experiments.
fmu_id string Reference ID to the compiled model.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified a full factorial is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
analysis object The analysis object.
analysis_function string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulation_options object Key-value pairs of simulation options.
solver_options object Key-value pairs of solver options.
simulation_log_level string The simulation log level.
status string String that is 'cancelled', 'failed' or 'done' depending on if all parts of the experiment could run.
errors array An array containing errors if status is 'failed'.
failed integer Number of cases that are failed.
successful integer Number of cases that are successful.
user_data object Up to 2048 bytes of custom data to be associated with the experiment.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}
Get experiment information

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Responses

200

The experiment information as JSON.
Example
{
  "id": "workspace_pid_controller_20200705_170234_546ccba",
  "experiment": {
    "version": 2,
    "base": {
      "model": {
        "fmu": {
          "id": "workspace_pid_controller_20090615_134530_as86g32"
        }
      },
      "modifiers": {
        "variables": {
          "integrator.k": 1,
          "inertia1.J": "uniform(1,5)",
          "inertia2.J": 2
        },
        "initializeFrom": ""
      },
      "expansion": {
        "algorithm": "LatinHyperCube",
        "parameters": {
          "samples": 5,
          "seed": 1
        }
      },
      "analysis": {
        "type": "dynamic",
        "parameters": {
          "start_time": 0,
          "final_time": 1
        },
        "simulationOptions": {},
        "solverOptions": {},
        "simulationLogLevel": "NOTHING"
      }
    },
    "extensions": [
      {
        "modifiers": {
          "variables": {
            "inertia2.J": 5
          }
        },
        "caseData": [
          {
            "label": "Cruise operating point"
          }
        ],
        "analysis": {
          "parameters": {
            "start_time": 0,
            "final_time": 1
          },
          "simulationOptions": {},
          "solverOptions": {},
          "simulationLogLevel": "NOTHING"
        }
      }
    ]
  },
  "meta_data": {
    "experiment_hash": "workspace_pid_controller_20090615_134530_as86g32",
    "model_names": [
      "Workspace.PID_Controller"
    ],
    "created_epoch": 1550836039,
    "label": "my label",
    "user_data": {
      "parametrizationFrom": "specification 3.4",
      "externalToolVersion": "9.0"
    }
  },
  "run_info": {
    "status": "failed",
    "errors": [
      "Current settings will generate a large amount of simulation cases. Try reducing the number of simulation cases."
    ],
    "failed": 0,
    "successful": 2,
    "not_started": 0,
    "cancelled": 0
  }
}
Name Type Description
version integer Experiment version, should be '2'.
id string Reference ID to the compiled model.
className string Model class name.
compilerOptions object Key-value pairs of compilation options.
runtimeOptions object Key-value pairs of run-time options.
compilerLogLevel string Compiler log level.
fmiTarget string Flavour of the FMU.
fmiVersion string Version of FMI for the FMU.
platform string Platform for FMU binary.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified, a full factorial expansion is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
initializeFromExternalResult string The ID of the result import.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
seed number The seed for random number generation. Default: None.
algorithm string Latin hypercube sampling expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samples number The number of samples. Must be an integer greater than 1.
algorithm string Full factorial expansion algorithm.
algorithm string Saltelli expansion algorithm.
parameters object Latin hypercube expansion algorithm parameters.
samplesPerModifier number The number of samples per (non-singular) modifier in the following sensitivity analysis. Must be a positive integer. It corresponds to the accuracy/resolution of the following sensisivity analysis and depends on the number of non-singular modifiers D. The number of cases in the resulting experiment expansion will be - N*(2*D + 2) if secondOrderAnalysis == true and N*(D + 2) if secondOrderAnalysis == false, where N is samplesPerModifier and D is the number of non-singular modifiers.
secondOrderAnalysis boolean Set to true if the resulting samples are to be used for second order sensitivity analysis, otherwise set to false.
analysis object The analysis object.
type string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
extensions array List of extensions to define cases. Each 'extension' defined will be merged with 'base' to create a case. When merging 'base' with an 'extension', the 'extension' will override the corresponding definitions in 'base'. It is not possible to use any operators (like the range operator) when using extensions.
variables object Specifies parameter values.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
initializeFromCase object Same as 'initializeFrom' but also the case ID to initialize from must be specified. Can be reference a case from an experiment with multiple cases.
experimentId string Experiment ID to initialize from.
caseId string Case ID to initialize from.
caseData array An array of case data. Only the first index in the case data array will be used for extensions currently.
label ['string', 'null'] Specifies case label.
analysis object The analysis object.
parameters object Parameters to the custom function.
simulationOptions object Key-value pairs of simulation options.
solverOptions object Key-value pairs of solver options.
simulationLogLevel string The simulation log level.
user_data object Up to 2048 bytes of custom data to be associated with the experiment.
status string String that is 'cancelled', 'failed' or 'done' depending on if all parts of the experiment could run.
errors array An array containing errors if status is 'failed'.
failed integer Number of cases that are failed.
successful integer Number of cases that are successful.
not_started integer Number of cases that are not started.
cancelled integer Number of cases that are cancelled.
Example
{
  "id": "workspace_pid_controller_20200705_170234_546ccba",
  "experiment": {
    "fmu_id": "workspace_pid_controller_20090615_134530_as86g32",
    "modifiers": {
      "variables": {
        "integrator.k": 1,
        "inertia1.J": "range(1,5,5)",
        "inertia2.J": "range(5,10,3)"
      },
      "initializeFrom": ""
    },
    "analysis": {
      "analysis_function": "dynamic",
      "parameters": {
        "start_time": 0,
        "final_time": 1
      },
      "simulation_options": {},
      "solver_options": {},
      "simulation_log_level": "NOTHING"
    }
  },
  "meta_data": {
    "experiment_hash": "workspace_pid_controller_20090615_134530_as86g32",
    "model_names": [
      "Workspace.PID_Controller"
    ],
    "created_epoch": 1550836039,
    "label": "my label",
    "user_data": {
      "parametrizationFrom": "specification 3.4",
      "externalToolVersion": "9.0"
    }
  },
  "run_info": {
    "status": "failed",
    "errors": [
      "Current settings will generate a large amount of simulation cases. Try reducing the number of simulation cases."
    ],
    "failed": 0,
    "successful": 2
  }
}
Name Type Description
fmu_id string Reference ID to the compiled model.
variables object Specifies parameter values and ranges. The range operator allows a range of values to be described: e.g. range(0,1,5) describes 5 evenly spaced values between 0 and 1: [0,0.25,0.5,0.75,1]. If multiple range operators are specified a full factorial is used to determine all different parameterizations for the experiment.
initializeFrom string Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID. The experiment used must be for a simulation with a single case, otherwise 'initializeFromCase' must be used. Details on how the initialization is done depend on the custom function.
analysis object The analysis object.
analysis_function string The name of the custom function that will be executed.
parameters object Parameters to the custom function.
simulation_options object Key-value pairs of simulation options.
solver_options object Key-value pairs of solver options.
simulation_log_level string The simulation log level.
user_data object Up to 2048 bytes of custom data to be associated with the experiment.
status string String that is 'cancelled', 'failed' or 'done' depending on if all parts of the experiment could run.
errors array An array containing errors if status is 'failed'.
failed integer Number of cases that are failed.
successful integer Number of cases that are successful.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
PUT
/workspaces/{workspace}/experiments/{experimentId}
Set a label for an experiment

Can be used to set a human readable identifier for an experiment.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Request body

The new label for the experiment.
Example
{
  "label": "tuning of P part"
}
Name Type Description
label string The new label for the experiment.

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}/experiments/{experimentId}
Removes an experiment

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/experiments/{experimentId}/execution
Executes an experiment

First call POST /workspaces/{workspace}/experiments to setup what should be executed.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Request body

Optional request body for how execution should run.
Example
{
  "includeCases": {
    "ids": [
      "case_1"
    ]
  },
  "options": {
    "forceCompilation": true
  }
}
Name Type Description
includeCases object The cases to include in the execution.
ids array List of cases to execute.
options object Options for how the execution is run.
forceCompilation boolean If true, then compilation will always be done even if a previous compilation result could be used. Default is false.

Responses

200

The experiment is executed.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/execution
Get execution status

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Responses

200

Status.
Example
{
  "finished_executions": 1,
  "total_executions": 2,
  "status": "running",
  "progresses": [
    {
      "message": "Simulating at 1.0",
      "percentage": 1.0,
      "stage": "simulation",
      "done": true
    },
    {
      "message": "Simulating at 0.2",
      "percentage": 0.2,
      "stage": "simulation",
      "done": false
    }
  ]
}
Name Type Description
finished_executions integer Number of executions that have finished. Should not be used for determining if an execution is finished, instead use the 'status' string.
total_executions integer Total number of executions.
status string Execution status, can have the values 'pending', 'running', 'stopping', 'cancelled' or 'done'.
progresses array An array containing progress information about all executions.
message string A messag about the progress of the exectuion.
percentage number A number between 0 and 1 indicating how the execution is progressing.
stage string The stage this progress applies to. Possible values are 'simulation' and 'compilation'.
done boolean True if the execution is done.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspaces/{workspace}/experiments/{experimentId}/execution
Cancel a running execution

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Responses

200

The experiment is cancelled.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/cases
Get all cases meta-data

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Responses

200

The case information as JSON.
Example
{
  "data": {
    "items": [
      {
        "id": "case_1",
        "meta": {
          "label": "Cruise operating point"
        },
        "run_info": {
          "status": "successful",
          "failed_at": "simulation",
          "datetime_started": 1549552749,
          "datetime_finished": 1549552338
        },
        "input": {
          "fmu_id": "workspace_pid_controller_20090615_134530_as86g32",
          "analysis": {
            "analysis_function": "dynamic",
            "parameters": {
              "start_time": 0,
              "final_time": 1
            },
            "simulation_options": {},
            "solver_options": {}
          },
          "parametrization": {},
          "structural_parametrization": {},
          "fmu_base_parametrization": {}
        }
      }
    ]
  }
}
Name Type Description
id string Case ID.
label ['string', 'null'] Case label.
status string Status of the case run, can be 'successful', 'failed', 'not_started' or 'cancelled'.
failed_at string At which stage the case failed if 'status' is 'failed', can be 'simulation' or 'compilation'. If 'status' is not 'failed' it will be null.
datetime_started integer The unix time the case started running.
datetime_finished integer The unix time the case finshed running.
fmu_id string Reference ID to the compiled model used running the case.
analysis object The analysis object.
analysis_function string the name of the custom function.
parameters object parameters to the custom function.
simulation_options object Key-value pairs of simulation options.
solver_options object Key-value pairs of solver options.
parametrization object Parameterization of the case, a list of key value pairs where key is variable name and value is the value to use for that variable.
structural_parametrization object Structural parameterization of the case, a list of key value pairs where key is variable name and value is the value to use for that variable. These are values that cannot be applied to the FMU/Model after compilation.
fmu_base_parametrization object This is some base parametrization that must be applied to the FMU for it to be valid running this case. It often comes as a result from of caching to reuse the FMU.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}
Get case information

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1

Responses

200

Case information.
Example
{
  "id": "case_1",
  "run_info": {
    "status": "successful",
    "failed_at": "simulation",
    "datetime_started": 1549552749,
    "datetime_finished": 1549552338,
    "consistent": false
  },
  "meta": {
    "label": "Cruise operating point"
  },
  "input": {
    "fmu_id": "workspace_pid_controller_20090615_134530_as86g32",
    "analysis": {
      "analysis_function": "dynamic",
      "parameters": {
        "start_time": 0,
        "final_time": 1
      },
      "simulation_options": {},
      "solver_options": {},
      "simulation_log_level": "NOTHING"
    },
    "parametrization": {},
    "structural_parametrization": {},
    "fmu_base_parametrization": {},
    "initialize_from_case": "",
    "initialize_from_external_result": ""
  }
}
Name Type Description
id string Case ID.
status string Status of the case run, can be 'successful', 'failed', 'not_started' or 'cancelled'.
failed_at string At which stage the case failed if 'status' is 'failed', can be 'simulation' or 'compilation'. If 'status' is not 'failed' it will be null.
datetime_started integer The unix time the case started running.
datetime_finished integer The unix time the case finshed running.
consistent boolean Describes if the case 'input' is consistent with the latest case run. Will be false if the case has been updated and not executed since then.
label ['string', 'null'] Case label.
fmu_id string Reference ID to the compiled model used running the case.
analysis object The analysis object.
analysis_function string the name of the function to run.
parameters object parameters to the function.
simulation_options object Key-value pairs of simulation options.
solver_options object Key-value pairs of solver options.
simulation_log_level string The simulation log level.
parametrization object Parameterization of the case, a list of key value pairs where key is variable name and value is the value to use for that variable.
structural_parametrization object Structural parameterization of the case, a list of key value pairs where key is variable name and value is the value to use for that variable. These are values that cannot be applied to the FMU/Model after compilation.
fmu_base_parametrization object This is some base parametrization that must be applied to the FMU for it to be valid running this case. It often comes as a result from of caching to reuse the FMU.
initialize_from_case ['object', 'null'] Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID and case ID. Details on how the initialization is done depend on the custom function.
initialize_from_external_result ['object', 'null'] Initialize the simulation using an uploaded result file. Details on how the initialization is done depends upon the custom function.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
PUT
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}
Update case information

This end-point can be used to update a case input. This can be used to modify the case and then execute the case again as part of an experiment and get different results for the case. Only fields under 'input' and 'meta' can be updated. Also, the fields 'fmu_id', 'analysis_function', 'structural_parametrization' and 'fmu_base_parametrization' cannot be updated. After a case is updated the 'consistent' field will be set to 'false' to signify that case results might not match the case input. Executing the case as part of an experiment will set 'consistent' to 'true'. The recomended way to update the case is to first use the corresponding GET end-point, modify some data, then call PUT (this end-point) with that data.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1

Request body

Case information.
Example
{
  "id": "case_1",
  "run_info": {
    "status": "successful",
    "failed_at": "simulation",
    "datetime_started": 1549552749,
    "datetime_finished": 1549552338,
    "consistent": false
  },
  "meta": {
    "label": "Cruise operating point"
  },
  "input": {
    "fmu_id": "workspace_pid_controller_20090615_134530_as86g32",
    "analysis": {
      "analysis_function": "dynamic",
      "parameters": {
        "start_time": 0,
        "final_time": 1
      },
      "simulation_options": {},
      "solver_options": {},
      "simulation_log_level": "NOTHING"
    },
    "parametrization": {},
    "structural_parametrization": {},
    "fmu_base_parametrization": {},
    "initialize_from_case": "",
    "initialize_from_external_result": ""
  }
}
Name Type Description
id string Case ID.
status string Status of the case run, can be 'successful', 'failed', 'not_started' or 'cancelled'.
failed_at string At which stage the case failed if 'status' is 'failed', can be 'simulation' or 'compilation'. If 'status' is not 'failed' it will be null.
datetime_started integer The unix time the case started running.
datetime_finished integer The unix time the case finshed running.
consistent boolean Describes if the case 'input' is consistent with the latest case run. Will be false if the case has been updated and not executed since then.
label ['string', 'null'] Case label.
fmu_id string Reference ID to the compiled model used running the case.
analysis object The analysis object.
analysis_function string the name of the function to run.
parameters object parameters to the function.
simulation_options object Key-value pairs of simulation options.
solver_options object Key-value pairs of solver options.
simulation_log_level string The simulation log level.
parametrization object Parameterization of the case, a list of key value pairs where key is variable name and value is the value to use for that variable.
structural_parametrization object Structural parameterization of the case, a list of key value pairs where key is variable name and value is the value to use for that variable. These are values that cannot be applied to the FMU/Model after compilation.
fmu_base_parametrization object This is some base parametrization that must be applied to the FMU for it to be valid running this case. It often comes as a result from of caching to reuse the FMU.
initialize_from_case ['object', 'null'] Initialize the simulation using values from a previous simulation by giving the corresponding experiment ID and case ID. Details on how the initialization is done depend on the custom function.
initialize_from_external_result ['object', 'null'] Initialize the simulation using an uploaded result file. Details on how the initialization is done depends upon the custom function.

Responses

200

The case is updated.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}/log
Get the log for a finished case

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the simulation.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1

Responses

200

The case log.
Example

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}/result
Download the result file for a finished case

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1

Responses

200

A file containing the experiment result for this case.
Example
Example

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}/trajectories
Get the trajectories for specified variables from the experiment result for a finished case

This end-point can be used to fetch trajectories from cases that have finished executing. The trajectories are then typically used to visualize the result by plotting variables as a function of time or as X-Y plots. Which variables exists in a result can be obtained from the end-point GET /workspaces/{workspace}/experiments/{experimentId}/variables. Most experiments contain the independent variable 'time', with the custom function 'dynamic' being a notable example of this. So, to plot 'x' against 'time' for an experiment with a single case and the custom function 'dynamic', call this end-point with the input {'variable_names': ['x', 'time']} and plot 'item' 1 against 'item' 2 from the response. See the response description for more details on the structure of the response. The old (version 1) trajectory format can still be used but will be removed in a future version.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1
asStrings (query)If true, converts the values 'Infinity', '-Infinity' and 'NaN' to strings before returning the response.asStrings=true

Request body

A list of variable names for which the trajectories should be returned.
Example
{
  "variable_names": [
    "variable1",
    "variable2"
  ],
  "filter": {
    "lastPointOnly": false
  }
}
Name Type Description
variable_names array The variable names trajectories should be fetched for.
filter object The filter options to apply on the trajectories.
lastPointOnly boolean If true, only the last point in the trajectory is returned.

Responses

200

Experiment results for each variable in request body.
Example
{
  "data": {
    "items": [
      {
        "fixed": false,
        "trajectory": [
          1,
          2,
          3,
          4
        ]
      }
    ]
  }
}
Name Type Description
fixed boolean If true, the trajectory does not vary with 'time' and only a single value is returned.
trajectory array The result trajectory for a variable, is an array of values.
Example
[
  [
    1,
    2,
    3,
    4
  ]
]

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}/custom-artifacts
Get the artifact metadata for a case.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1

Responses

200

The case information as JSON.
Example
{
  "data": {
    "items": [
      {
        "id": "ABCD",
        "downloadAs": "result.mat"
      }
    ]
  }
}
Name Type Description
id string Artifact ID.
downloadAs string File name for the downloaded artifact.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/cases/{caseId}/custom-artifacts/{artifactId}
Get an artifact for a case as stored by the custom function used for running the case

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
caseId (path)The ID of the case.case_1
artifactId (path)The ID of the artifact.report

Responses

200

An artifact for this case.
Example

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspaces/{workspace}/experiments/{experimentId}/variables
Get all variables in the experiment result

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32

Responses

200

An array of variable names.
Example
[
  "PI.J",
  "inertia.I"
]

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspaces/{workspace}/experiments/{experimentId}/trajectories
Get the trajectories for specified variables from the experiment result

This end-point can be used to fetch trajectories from experiments that has finished executing. The trajectories are then typically used to visualize the result by plotting variables as a function of time or as X-Y plots. Which variables exists in a result can be obtained from the end-point GET /workspaces/{workspace}/experiments/{experimentId}/variables. Most experiments contain the independent variable 'time', with the custom function 'dynamic' being a notable example of this. So, to plot 'x' against 'time' for an experiment with a single case and the custom function 'dynamic', call this end-point with the input {'variable_names': ['x', 'time']} and plot 'item' 1 against 'item' 2 under 'case_1' in the response. See the response description for more details on the structure of the response. The old (version 1) trajectory format can still be used but will be removed in a future version.

Parameters

NameDescriptionExample
workspace (path)Name of the workspace.workspace
experimentId (path)The ID of the experiment.workspace_pid_controller_20090615_134530_as86g32
asStrings (query)If true, converts the values 'Infinity', '-Infinity' and 'NaN' to strings before returning the response.asStrings=true

Request body

A list of variable names for which the trajectories should be returned.
Example
{
  "variable_names": [
    "variable1",
    "variable2"
  ],
  "filter": {
    "lastPointOnly": false
  }
}
Name Type Description
variable_names array The variable names trajectories should be fetched for.
filter object The filter options to apply on the trajectories.
lastPointOnly boolean If true, only the last point in the trajectory is returned.

Responses

200

Experiment results for all cases of experiment and for each variable in request body.
Example
{
  "data": {
    "items": [
      {
        "caseId": "case_1",
        "items": [
          {
            "fixed": false,
            "trajectory": [
              1,
              2,
              3,
              4
            ]
          }
        ]
      }
    ]
  }
}
Name Type Description
caseId string The case ID for which corresponding data in 'items' belong to.
items array Trajectories for all variables given in request body for one case.
fixed boolean If true, the trajectory does not vary with 'time' and only a single value is returned.
trajectory array The result trajectory for a variable, is an array of values.
Example
[
  [
    [
      1,
      2,
      3,
      4
    ]
  ]
]

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspace-exports
Prepares a workspace for download as a zip file

The compressed workspace will be prepared. After a successful completion of a call to this endpoint, call GET /workspace-exports/{exportId} to check status.

Request body

Specification of what workspace resources to include when exporting the workspace.
Example
{
  "workspaceId": "my_workspace",
  "contents": {
    "projects": {
      "includes": [
        {
          "id": "b97e912af9804d26"
        }
      ]
    },
    "dependencies": {
      "includes": [
        {
          "id": "c863600ce46f4474"
        }
      ]
    },
    "experiments": {
      "includes": [
        {
          "id": "12b5cf9b94b14aee"
        }
      ]
    },
    "fmus": {
      "includes": [
        {
          "id": "4cb6cedc73a040d1"
        }
      ]
    }
  },
  "appMode": {
    "model": ""
  }
}
Name Type Description
workspaceId string The ID of the workspace to export.
id string ID of a project to include.
id string ID of a project dependency to include.
id string ID of an experiment to include.
id string ID of an FMU to include.
model string The model to view in the App Mode workspace.

Responses

201

The location for checking status and possible data for compressed workspace.
Example
{
  "data": {
    "location": "api/workspace-exports/79sd8-3n2a4-e3t24"
  }
}
Name Type Description
location string location for checking status of workspace compression.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspace-exports/{exportId}
Returns status for preparing a workspace for download. Also returns data for download when ready

The workspace needs to be setup for export by calling POST /workspace-exports, before calling this API endpoint.

Parameters

NameDescriptionExample
exportId (path)ID of the compressed workspace to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a workspace export and data to download it if ready.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "downloadUri": "api/exports/79sd8-3n2a4-e3t24",
      "size": 10481015
    },
    "error": {
      "message": "Could not export workspace 'my_workspace'. Maximum allowed zip file size of 95MB exceeded",
      "code": 12072
    }
  }
}
Name Type Description
id string ID for workspace export.
status string Will be 'running' if export is on-going, 'ready' if export is finished and can be downloaded, or 'error' if an error occured.
data object Data for the workspace to download, only exists in response if workspace is ready to be downloaded. Use the field 'status' to see if this is the case.
downloadUri string URI for downloading the workspace.
size integer The size of the compressed workspace, in bytes.
error object Error message if the export fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspace-exports/{exportId}
Deletes a workspace export, including the compressed zip

This API end point can be be called after a compressed workspace has been downloaded.

Parameters

NameDescriptionExample
exportId (path)ID of the compressed workspace to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The workspace export with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspace-imports
Start import of an existing workspace

Will initiate import of an existing workspace. After a successful completion of a call to this endpoint, call GET /workspace-imports/{importId} to check status.

Request body

Either a zip file of a workspace given with multipart/form-data or JSON schema for workspace definition (and optional selected matchings) to import a workspace.
Example
{
  "file": "my_workspace.zip"
}
Name Type Description
file string The zip-file.
Example
{
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  },
  "selectedMatchings": {
    "entries": [
      {
        "id": "79sd8-3n2a4-e3t24",
        "project": {
          "id": "79sd8-3n2a4-e3t24"
        }
      }
    ]
  }
}
Name Type Description
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.
selectedMatchings object All selections to use during import of a workspace.
id string ID of project entry the selection is for.
project object Selected local project.
id string ID of project.

Responses

201

Workspace import created and location to check status of import is returned.
Example
{
  "data": {
    "location": "api/workspace-imports/fd90-4gkl-vf89"
  }
}
Name Type Description
location string The ID of the workspace import.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspace-imports/{importId}
Returns status for a workspace import. Also returns data for the imported resource when ready

The workspace needs to be setup for import by calling POST /workspace-imports, before calling this API endpoint.

Parameters

NameDescriptionExample
importId (path)ID of the workspace import to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a workspace import and data to resource if import is done and workspace is ready to be used.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "resourceUri": "api/workspaces/my_workspace",
      "workspaceId": "my_workspace"
    },
    "error": {
      "message": "Could not import workspace 'my_workspace'. Could not read version number of the workspace 'my_workspace'. Either the workspace is corrupt or needs to be updated using an older version of Modelon Impact",
      "code": 12015
    }
  }
}
Name Type Description
id string ID for workspace import.
status string Will be 'running' if import is on-going, 'ready' if import is finished and can be used, or 'error' if an error occured.
data object Data for the workspace imported, only exists in response if workspace is imported and ready to use. Use the field 'status' to see if this is the case.
resourceUri string URI for the imported workspace resource.
workspaceId string The ID for the workspace imported.
error object Error message if the import fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspace-imports/{importId}
Deletes a workspace import

This API end point can be be called after a workspace has been imported.

Parameters

NameDescriptionExample
importId (path)ID of the workspace import to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The workspace import with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspace-imports-matchings
Get all projects matchings for workspace import

Get all projects matchings that would happen during a workspace import. As import will fail if there are multiple possible matchings of local projects for a project, this end-point is used to get these matchings which can be resolved to an unequivocal 'selection'. Selections are used as (optional) input to the end-point /workspace-imports, see it for more details on the format of a selection.

Request body

The shared workspace definition to check for matchings that would happen during import.
Example
{
  "definition": {
    "name": "My workspace",
    "description": "Workspace with all my projects",
    "defaultProjectId": "79sd8-3n2a4-e3t24",
    "projects": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "dependencies": [
      {
        "reference": {
          "id": "ac2d-47ca-a5d5",
          "name": "Hydralics",
          "version": "2.0.3"
        },
        "disabled": true,
        "disabledContent": [
          "79sd8-3n2a4-e3t24",
          "t24e3-a43n2-d879s"
        ]
      }
    ],
    "format": "1.0.0",
    "guid": "6d8ae8b3b0594125a0cb7acd6adbb0f9",
    "createdBy": "98dy-a82a-s8tg",
    "createdAt": 1549552749,
    "appMode": {
      "model": ""
    }
  }
}
Name Type Description
definition object The definition of a workspace.
name string The name of the workspace.
description string A description for the workspace.
defaultProjectId string The ID of the default project for the workspace.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
id string Identifier for the local project.
name string The name of the released project.
version string The semantic version of the released project.
id string Identifier for the local project.
vcsUri string The version control URI for the project.
id string Identifier for the local project.
disabled boolean If the project is disable for the workspace.
disabledContent array List of content IDs for content entries that are disabled in the project.
format string The semantic schema version of the workspace definition.
guid string Global unique ID for workspace. Used to access global Impact resources assocciated with workspace.
createdBy string The ID of the user that has created this workspace.
createdAt integer The unix time at which the workspace was created.
model string The model to view in the App Mode workspace.

Responses

200

Matchings that would happen during import.
Example
{
  "data": {
    "vcs": [
      {
        "entryId": "79sd8-3n2a4-e3t24",
        "uri": {
          "serviceKind": "GIT",
          "serviceUrl": "https://github.com",
          "repoUrl": {
            "url": "gitlab.com/group/project",
            "refname": "main",
            "sha1": "3486a89"
          },
          "protocol": "https",
          "subdir": "src"
        },
        "projects": [
          {
            "id": "79sd8-3n2a4-e3t24",
            "definition": {
              "name": "MyProject",
              "version": "2.0.3-beta.3+build.5",
              "format": "1.0.0",
              "dependencies": [
                {
                  "name": "Modelica",
                  "versionSpecifier": "4.0.0"
                }
              ],
              "content": [
                {
                  "relpath": "SomeLib.mo",
                  "contentType": "MODELICA",
                  "name": "SomeLib",
                  "defaultDisabled": true,
                  "id": "79sd8-3n2a4-e3t24"
                }
              ],
              "executionOptions": [
                {
                  "customFunction": "steady state",
                  "compiler": {
                    "generate_html_diagnostics": true,
                    "halt_on_warning": true
                  },
                  "runtime": {
                    "use_Brent_in_1d": false
                  },
                  "simulation": {
                    "ncp": 2000
                  },
                  "solver": {
                    "rtol": 0.0001
                  }
                }
              ],
              "icon": ".impact/icon.png"
            },
            "projectType": "LOCAL",
            "vcsUri": {
              "serviceKind": "GIT",
              "serviceUrl": "https://github.com",
              "repoUrl": {
                "url": "gitlab.com/group/project",
                "refname": "main",
                "sha1": "3486a89"
              },
              "protocol": "https",
              "subdir": "src"
            },
            "size": ""
          }
        ]
      }
    ]
  }
}
Name Type Description
entryId string ID of project entry in workspace definition.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
projects array Local projects matching the project entry.
id string ID of the project.
definition object The definition of a project.
name string Case sensitive project name. Must start with a letter and only use letters, numbers, underscores and dashes.
version string The semantic version of the project.
format string The semantic schema version of the project definition.
name string The name of the project dependency.
versionSpecifier string Version specifier.
relpath string Relative path in the project. Can be file or folder.
contentType enum Type of content.
name string Modelica library name or other name for display.
defaultDisabled boolean If content entry gets disabled by default when included into a new workspace.
id string ID of the project content.
customFunction string Custom function the options are for.
compiler object Key-value pairs of compilation options.
runtime object Key-value pairs of run-time options.
simulation object Key-value pairs of simulation options.
solver object Key-value pairs of solver options.
icon string The icon for the project.
projectType enum The type of the project.
serviceKind enum Supported Version Control System services.
serviceUrl string Service URL.
url string The URL of the repository without schema part.
refname string A refname in the repository.
sha1 string Commit hash in the repository. Can be an empty string.
rootUrl string Root URL of the repository without schema part.
branch string The trunk, branch or tag part of the URL.
urlFromRoot string Relative url after branch.
revision string SVN revision of the repository (number of HEAD).
protocol string Protocol of the URI.
subdir string Sub-directory of the repository.
size number Disk space (in bytes) taken by the project.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/workspace-conversions
Starts a workspace conversion

Will start a conversion of a workspace. A backup can optionally be made as part this conversion. As conversions are non-reversible it is recommended to create and keep a backup over a transition period. After a successful completion of a call to this endpoint, call GET /workspace-conversions/{conversionId} to check status.

Request body

Specification of what workspace to convert and optional backup.
Example
{
  "data": {
    "workspaceId": "my_workspace",
    "backup": {
      "name": "my_workspace_backup"
    },
    "ignores": [
      "t24e3-sd879-2a43n"
    ]
  }
}
Name Type Description
workspaceId string ID of workspace to convert.
name string The name of the backup workspace to create.
ignores array List of issue IDs to ignore when converting the workspace.

Responses

201

The location for checking status and possible data for converted workspace.
Example
{
  "data": {
    "location": "api/workspace-conversions/79sd8-3n2a4-e3t24"
  }
}
Name Type Description
location string location for checking status of workspace conversion.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/workspace-conversions/{conversionId}
Returns status for workspace conversion

The workspace needs to be setup for conversion by calling POST /workspace-conversions, before calling this API endpoint.

Parameters

NameDescriptionExample
conversionId (path)ID of the workspace conversion to check status on.79sd8-3n2a4-e3t24

Responses

200

Status for a workspace conversion.
Example
{
  "data": {
    "id": "79sd8-3n2a4-e3t24",
    "status": "",
    "data": {
      "downloadUri": "api/workscapes/my_workspace",
      "workspaceId": "my_workspace"
    },
    "error": {
      "message": "Could not convert workspace 'my_workspace'. Workspace 'my_workspace' does not exist",
      "code": 12013
    }
  }
}
Name Type Description
id string ID for workspace conversion.
status string Will be 'running' if conversion is on-going, 'ready' if conversion is finished and workspace can be used, or 'error' if an error occured.
data object Data for the workspace converted, only exists in response if workspace is ready. Use the field 'status' to see if this is the case.
downloadUri string URI for downloading the workspace.
workspaceId string Id of workspace that has been converted.
error object Error message if the conversion fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/workspace-conversions/{conversionId}
Deletes a workspace conversion

This API end point can be be called after a workspace conversion is finished. Will not delete any created backups or revert any changes from on-going conversion.

Parameters

NameDescriptionExample
conversionId (path)ID of the workspace conversion to check status on.79sd8-3n2a4-e3t24

Responses

200

OK: The workspace conversion with the specified ID was deleted.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/exports/{exportId}
Downloads a file that has been setup to be exported

This route is used for downloading exported files. Other end-points will reference here with a download URI.

Parameters

NameDescriptionExample
exportId (path)ID of the compressed workspace to download.79sd8-3n2a4-e3t24

Responses

200

A file to download.
Example
"Binary compressed archive"

400

The resource cannot be downloaded. Most likely, something went wrong when creating the zip file.
Example
{
  "error": {
    "message": "Could not export workspace 'ceb6ac1ed71040eb8f3df7f69157e658', reason: 'Maximum allowed zip file size of 95MB exceeded'",
    "code": 12072
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/uploads/results
Imports an result file

Request body

The file with a .mat extension and options to import.
Example
{
  "file": "result_1.mat",
  "options": {
    "name": "result_for_PID.mat",
    "description": "This is a result file for PID controller",
    "context": {
      "workspaceId": "my_workspace"
    }
  }
}
Name Type Description
file string The result file in question.
options object Upload options.
name string Meaningful label for results association. If not given the name of the file uploaded will be used.
description string Description of the result. If not given an empty string will be used
context object Context describing the model and associated values.
workspaceId string Workspace id.

Responses

201

OK. The result has been uploaded to the workspace.
Example
{
  "data": {
    "id": "2f036b9fab6f45c788cc466da327cc78workspace",
    "location": "api/uploads/results/fd90-4gkl-vf89"
  }
}
Name Type Description
id string The ID of the result import.
location string The location of the project import.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/uploads/results/{uploadId}
Get the current status of upload

Get the current status of upload for a given uploadId.

Parameters

NameDescriptionExample
uploadId (path)Id for result storage.2f036b9fab6f45c788cc466da327cc78workspace

Responses

200

OK. Check status of upload.
Example
{
  "data": {
    "id": "2f036b9fab6f45c788cc466da327cc78workspace",
    "status": "ready",
    "data": {
      "resourceUri": "api/external-result/2f036b9fab6f45c788cc466da327cc78workspace"
    },
    "error": {
      "message": "Could not upload given result file to the specified workspace. Could not read version number of the workspace 'my_workspace' or unsupported file type given.",
      "code": 12015
    }
  }
}
Name Type Description
id string The ID of the result import.
status string current status of the upload.
data object Data for access to the meta data for the given upload, only exists in response if the upload was successful. Use the field 'status' to see if this is the case.
resourceUri string URI for the result resource.
error object Error message if the upload fails, only exists if an error has occurred. Use the field 'status' to see if this is the case.
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/external-result/{uploadId}
Get the result file meta-data

Gets the meta-data for a result file.

Parameters

NameDescriptionExample
uploadId (path)Id for result storage.2f036b9fab6f45c788cc466da327cc78workspace

Responses

200

External result meta-data.
Example
{
  "data": {
    "id": "2f036b9fab6f45c788cc466da327cc78workspace",
    "createdAt": "2021-09-02T08:26:49.612000",
    "name": "result_for_PID",
    "description": "This is a result file for PID controller",
    "workspaceId": "workspace"
  }
}
Name Type Description
id string Id for result storage.
createdAt string Timestamp of when the external result was imported.
name string Meaningful label for results association.
description string Description of the result
workspaceId string Name of workspace.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/external-result/{uploadId}
Deletes the result with the specified ID

Parameters

NameDescriptionExample
uploadId (path)Id for result storage.2f036b9fab6f45c788cc466da327cc78workspace

Responses

200

OK.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

409

The request could not be performed because there is a conflict.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/users/me
Gets data on the currently logged in user

Returns the ID of the current user, which is used to create API keys, and the external IDs connected to it.

Responses

200

.
Example
{
  "data": {
    "id": "2bb76154701c47c38d1950ea60d2c025",
    "username": "name@company.com",
    "encryptionKey": "1fd3d03773e4890457d3fa33e03c6ac17904d21c10c450ec8fd1f3101ab71c0b",
    "roles": [
      "impact-executor"
    ],
    "externalUsers": [
      {
        "id": "name@company.com"
      }
    ],
    "firstName": "John",
    "lastName": "Smith",
    "email": "name@company.com",
    "license": "impact-pro"
  }
}
Name Type Description
id string The user ID.
username string The user name, this field is derived from a given source system e.g. Azure Active Directory.
encryptionKey string System managed private key for encryption. Should not be shared with any third-parties.
roles array List of user's roles.
externalUsers array List of external IDs that are connected to this.
id string External ID.
firstName string The user's first name.
lastName string The user's surname name.
email string The user's associated email address.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
GET
/users/{userId}/keys
Gets information on the API keys belonging to a user

Get information on the API keys belonging to the user by the given ID. The information includes the key ID and the creation time but not the secret key itself.

Parameters

NameDescriptionExample
userId (path)ID of the user.3ae546601b0d473db83bccee0ca27c7e

Responses

200

Information about existing API keys.
Example
{
  "data": {
    "items": [
      {
        "id": "zPY1U0KuBP",
        "createdAt": 1588016253
      }
    ]
  }
}
Name Type Description
id string The ID of the key.
createdAt integer Timestamp of when the key was created.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/users/{userId}/keys
Creates a new API key

Creates a new API key belonging to the user with the given ID. The response contains a new API key which is the only time this key can be retrieved. They key must be safely stored by the recepient, as there is no way to retrieve it at a later point. A user may only have one API key at a time, so if it is lost or compromised, it must be deleted before a new one can be created. The API key can be used with the /login endpoint to log in. Each key has an ID to identify it when deleting it.

Parameters

NameDescriptionExample
userId (path)ID of the user.3ae546601b0d473db83bccee0ca27c7e

Responses

200

OK: A new API key has been created.
Example
{
  "data": {
    "id": "zPY1U0KuBP",
    "secret": "secret-api-key",
    "created_at": 1588016253
  }
}
Name Type Description
id string The API key ID.
secret string The API key.
created_at integer The timestamp of when the key was created.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
DELETE
/users/{userId}/keys/{keyId}
Deletes an API key

Deletes an API key with the given ID, belonging to a specified user.

Parameters

NameDescriptionExample
userId (path)ID of the user owning the key.3ae546601b0d473db83bccee0ca27c7e
keyId (path)ID of the API key.zPY1U0KuBP

Responses

200

OK: The API key was deleted.

400

The request could not be processed. The request is most likely not correct.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.
POST
/keys/validation
Validates an API key

Validates an API key.

Request body

.
Example
{
  "secret": "secret-api-key"
}
Name Type Description
secret string An API key to validate.

Responses

200

Information about the user who owns the API key.
Example
{
  "data": {
    "id": "2bb76154701c47c38d1950ea60d2c025"
  }
}
Name Type Description
id string The user ID of the owner of the key.

400

The provided API key is invalid.
Example
{
  "error": {
    "message": "The provided API key is not valid",
    "code": 12035
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

401

The request could not be performed because of missing authentication.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

402

The request could not be performed because the system is out of payed for floating seats.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

403

Action is not allowed. Permissions might be insufficient.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

404

The resource could not be found. Typically this means that a resource the request is referencing does not exists. Common resources are workspaces, libraries, model-executables and experiments.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.

500

An internal server error.
Example
{
  "error": {
    "message": "There was an error X because of Y",
    "code": 12012
  }
}
Name Type Description
message string Error message describing what went wrong.
code integer Error code for identifying specific errors.