Simulator Routines

The simulator routine resource defines instructions on interacting with a simulator model. A simulator routine includes:

  • Inputs (values set into the simulator model)
  • Commands (actions to be performed by the simulator)
  • Outputs (values read from the simulator model)

Simulator routines can have multiple revisions, enabling users to track changes and evolve the routine over time. Each model can have multiple routines, each performing different objectives such as calculating optimal operation setpoints, forecasting production, benchmarking asset performance, and more.

Limitations:

  • A project can have a maximum of 10000 simulator routines.
  • Each simulator model can have a maximum of 10 simulator routines.
  • Each simulator routine can have a maximum of 10 revisions.
  • The total size of each routine revision can be a maximum of 50.00 KB.

Create Simulator Routine

Create a simulator routine.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
required
Array of objects (Items)

A list with a single item

Responses
201

Successful Response

400

Bad Request

403

Forbidden

500

Internal Server Error

post/simulators/routines
Request samples
application/json
{
  • "items": [
    ]
}
Response samples
application/json
{
  • "items": [
    ]
}

Filter Simulator Routines

Retrieves a list of simulator routines that match the given criteria.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
object (ListSimulatorRoutinesFilters)
limit
integer (Limit) [ 1 .. 1000 ]
Default: 1000
cursor
string (Cursor)

Cursor for pagination

Array of objects (Sort)

Only supports sorting by one property at a time

Responses
200

Successful Response

400

Bad Request

403

Forbidden

500

Internal Server Error

post/simulators/routines/list
Request samples
application/json
{
  • "filter": {
    },
  • "limit": 1000,
  • "cursor": "string",
  • "sort": [
    ]
}
Response samples
application/json
{
  • "items": [
    ],
  • "nextCursor": "string"
}

Delete Simulator Routine

Delete a simulator routine. This will also delete all associated simulator resources (e.g. revisions, runs, data).

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
required
Array of IdRef (object) or ExternalIdRef (object) (Items)

A list with a single item

Responses
200

Successful Response

403

Forbidden

500

Internal Server Error

post/simulators/routines/delete
Request samples
application/json
{
  • "items": [
    ]
}
Response samples
application/json
{ }

Aggregate Simulator Routines

Calculate aggregates for simulator routines, considering the optional filter specification.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
object (ListSimulatorRoutinesFilters)
aggregate
required
string (Aggregate)

Aggregate type

Value: "count"
Value: "count"
Responses
200

Successful Response

400

Bad Request

403

Forbidden

500

Internal Server Error

post/simulators/routines/aggregate
Request samples
application/json
{
  • "filter": {
    },
  • "aggregate": "count"
}
Response samples
application/json
{
  • "items": [
    ]
}

Create Simulator Routine Revision

The total size of the request body can be a maximum of 50.00 KB.

When creating a simulator routine revision, be mindful of the following:

  • The amount and size of the inputs you provide to the simulator routine.
  • The size of the outputs you expect from the simulator routine.

The total size of the data sent by a simulator connector cannot exceed 100.00 KB per simulation run.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
required
Array of objects (Items)

A list with a single item

Responses
201

Successful Response

400

Bad Request

403

Forbidden

413

Request Entity Too Large

500

Internal Server Error

post/simulators/routines/revisions
Request samples
application/json
{
  • "items": [
    ]
}
Response samples
application/json
{
  • "items": [
    ]
}

Filter Simulator Routine Revisions

Retrieves a list of simulator routine revisions that match the given criteria.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
object (ListSimulatorRoutineRevisionsFilters)
limit
integer (Limit) [ 1 .. 20 ]
Default: 10
cursor
string (Cursor)

Cursor for pagination

Array of objects (Sort)

Only supports sorting by one property at a time

includeAllFields
boolean (IncludeAllFields)
Default: false

If all fields should be included in the response. Defaults to false which does not include script, configuration.inputs and configuration.outputs in the response. If true - all fields are returned, but routines with kind 'long' will be excluded from the results.

Responses
200

Successful Response

400

Bad Request

403

Forbidden

500

Internal Server Error

post/simulators/routines/revisions/list
Request samples
application/json
{
  • "filter": {
    },
  • "limit": 10,
  • "cursor": "string",
  • "sort": [
    ],
  • "includeAllFields": false
}
Response samples
application/json
{
  • "items": [
    ],
  • "nextCursor": "string"
}

Retrieve Simulator Routine Revisions

Retrieve one or more simulator routine revisions by IDs or external IDs.

Securityoidc-token or oauth2-client-credentials or oauth2-open-industrial-data or oauth2-auth-code
Request
Request Body schema: application/json
required
required
Array of IdRef (object) or ExternalIdRef (object) (Items) [ 1 .. 20 ] items

A list of items

Responses
200

Successful Response

400

Bad Request

403

Forbidden

500

Internal Server Error

post/simulators/routines/revisions/byids
Request samples
application/json
{
  • "items": [
    ]
}
Response samples
application/json
{
  • "items": [
    ]
}