Auf dieser Seite

API-Referenz: Simulationen

Mit Simulationen können Sie Was-wäre-wenn-Szenarien für Ihre Prozessmodelle ausführen. Sie können Bearbeitungszeiten, Ressourcenzuordnungen und Ankunftsraten konfigurieren, um das Prozessverhalten vorherzusagen.

Simulationen für einen Prozess auflisten

Endpunkt: GET /v1/tenant/{tenantId}/processes/{processId}/simulations

Authentifizierung: Mandantenbezogener API-Schlüssel · read-Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
limit integer query Nein Maximale Anzahl zurückzugebender Elemente
offset integer query Nein Anzahl zu überspringender Elemente

Response (200):

Simulationsliste

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"datasetName": "string",
		"startTime": "2024-03-15T16:30:00Z",
		"endTime": "2024-03-15T16:30:00Z",
		"useWarmUp": true
	}
]

Fehler:

  • 400 Ungültige Anfrage, zum Beispiel ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Simulation erstellen (idempotent, wenn eine ID angegeben wird)

Endpunkt: POST /v1/tenant/{tenantId}/processes/{processId}/simulations

Authentifizierung: Mandantenbezogener API-Schlüssel · write-Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid

Request Body:

{
	"id": "00000000-0000-0000-0000-000000000000",
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true
}
Feld Typ Erforderlich Beschreibung
id string Nein Optionale ID für idempotente Wiederholungen (muss eine UUID sein)
Format: uuid
displayName string Nein Simulationsname
Standard: New Simulation
datasetName string Nein Name des Datensatzes, auf dem die Simulation ausgeführt wird
startTime string Nein Startzeit der Simulation
Format: date-time
endTime string Nein Endzeit der Simulation
Format: date-time
useWarmUp boolean Nein Gibt an, ob die Aufwärmphase verworfen wird
Standard: false

Response (201):

Simulation erstellt

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string"
	},
	"message": "string"
}
Feld Typ Erforderlich Beschreibung
simulation object Ja
message string Ja

Fehler:

  • 400 Ungültige Anfrage, zum Beispiel ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden
  • 409 Die Anfrage steht im Konflikt mit dem aktuellen Status, zum Beispiel wegen einer Lizenzplatzbeschränkung oder einer wiederverwendeten ID

Simulation mit Element-Einstellungen, Attributen und Ressourcen abrufen

Endpunkt: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

Authentifizierung: Mandantenbezogener API-Schlüssel · read-Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Response (200):

Simulationsdetails

{
	"simulation": {
		"id": "00000000-0000-0000-0000-000000000000",
		"displayName": "string",
		"datasetName": "string",
		"startTime": "2024-03-15T16:30:00Z",
		"endTime": "2024-03-15T16:30:00Z",
		"useWarmUp": true
	},
	"elementSettings": [
		{
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"modelElementId": "00000000-0000-0000-0000-000000000000",
			"settings": {
				"processingTimeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"processingTimeUnit": "seconds",
				"updateAttributeRules": [
					{
						"id": "string",
						"attributeId": "00000000-0000-0000-0000-000000000000",
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"newValue": "string",
						"isEnabled": true
					}
				],
				"requiredResources": [
					{
						"resourceId": "00000000-0000-0000-0000-000000000000",
						"amount": 0
					}
				],
				"caseStartsDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"caseStartsTimeUnit": "perTimeSlot",
				"capacityInterval": "perHour",
				"skipChanceDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"queueStrategy": "fifo",
				"chanceToTakeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				]
			}
		}
	],
	"attributes": [
		{
			"id": "00000000-0000-0000-0000-000000000000",
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"displayName": "string",
			"valueDistribution": {
				"type": "Number",
				"numberDistributions": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot",
						"id": "string",
						"isEnabled": true,
						"isDefault": true
					}
				],
				"textDistributions": [
					{
						"id": "string",
						"timeslot": {
							"periodicity": "Always"
						},
						"isEnabled": true,
						"isDefault": true,
						"mode": "list",
						"textValues": [
							{
								"id": "string",
								"value": "string",
								"chance": 0
							}
						]
					}
				]
			},
			"simulationAttributeType": "string"
		}
	],
	"resources": [
		{
			"id": "00000000-0000-0000-0000-000000000000",
			"simulationId": "00000000-0000-0000-0000-000000000000",
			"displayName": "string",
			"levelDistribution": [
				{
					"timeslot": {
						"periodicity": "Always"
					},
					"conditions": [
						{
							"type": "Values",
							"attribute": "string",
							"values": [
								"string"
							]
						}
					],
					"distribution": {
						"type": "Fixed",
						"value": 0
					},
					"timeUnit": "seconds",
					"rateUnit": "perTimeSlot"
				}
			],
			"attributeId": "00000000-0000-0000-0000-000000000000"
		}
	]
}
Feld Typ Erforderlich Beschreibung
simulation object Ja Simulationskopf
elementSettings object[] Ja Simulationseinstellungen pro Element
attributes object[] Ja Simulierte Attribute
resources object[] Ja Ressourcenpools

Fehler:

  • 400 Ungültige Anfrage, zum Beispiel ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Simulation aktualisieren (Felder und/oder Element-Einstellungen)

Endpunkt: PUT /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

Authentifizierung: Mandantenbezogener API-Schlüssel · write-Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Request Body:

{
	"displayName": "string",
	"datasetName": "string",
	"startTime": "2024-03-15T16:30:00Z",
	"endTime": "2024-03-15T16:30:00Z",
	"useWarmUp": true,
	"elementSettings": [
		{
			"modelElementId": "00000000-0000-0000-0000-000000000000",
			"settings": {
				"caseStartsDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				],
				"processingTimeDistribution": [
					{
						"timeslot": {
							"periodicity": "Always"
						},
						"conditions": [
							{
								"type": "Values",
								"attribute": "string",
								"values": [
									"string"
								]
							}
						],
						"distribution": {
							"type": "Fixed",
							"value": 0
						},
						"timeUnit": "seconds",
						"rateUnit": "perTimeSlot"
					}
				]
			}
		}
	]
}
Feld Typ Erforderlich Beschreibung
displayName string Nein Simulationsname
datasetName string Nein Name des Datensatzes, auf dem die Simulation ausgeführt wird
startTime string Nein Startzeit der Simulation
Format: date-time
endTime string Nein Endzeit der Simulation
Format: date-time
useWarmUp boolean Nein Gibt an, ob die Aufwärmphase verworfen wird
elementSettings object[] Nein Überschreibungen der Einstellungen pro Element

Response (200):

Simulation aktualisiert

{
	"message": "string"
}
Feld Typ Erforderlich Beschreibung
message string Ja

Fehler:

  • 400 Ungültige Anfrage, z. B. ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Simulation endgültig löschen

Endpunkt: DELETE /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}

Authentifizierung: Mandantenbezogener API-Schlüssel · write Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Antwort (200):

Simulation gelöscht

{
	"message": "string"
}
Feld Typ Erforderlich Beschreibung
message string Ja

Fehler:

  • 400 Ungültige Anfrage, z. B. ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Diese Endpunkte verwenden KI, um Simulationseinstellungen automatisch auf Grundlage des Prozessmodells zu generieren.

Simulationseinstellungen per KI generieren (asynchron, Status-Endpunkt abfragen)

Endpunkt: POST /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/generate-settings

Authentifizierung: Mandantenbezogener API-Schlüssel · write Bereich · Ratenlimit 2 Anfragen/s (Burst 4)

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Anfragetext:

{
	"processDescription": "string",
	"additionalContext": "string"
}
Feld Typ Erforderlich Beschreibung
processDescription string Nein
additionalContext string Nein

Antwort (200):

Generierung gestartet / Ergebnis

{
	"message": "string"
}
Feld Typ Erforderlich Beschreibung
message string Ja

Fehler:

  • 400 Ungültige Anfrage, z. B. ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Status der Generierung von Simulationseinstellungen abfragen

Endpunkt: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/generate-settings/status

Authentifizierung: Mandantenbezogener API-Schlüssel · write Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Antwort (200):

Generierungsstatus

{
	"message": "string"
}
Feld Typ Erforderlich Beschreibung
message string Ja

Fehler:

  • 400 Ungültige Anfrage, z. B. ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Simulationslauf starten (asynchron, Ergebnisse werden in den Prozessdatentabellen abgelegt)

Endpunkt: POST /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/run

Authentifizierung: Mandantenbezogener API-Schlüssel · write Bereich · Ratenlimit 5 Anfragen/s (Burst 10)

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Antwort (200):

Simulation gestartet

{
	"message": "string"
}
Feld Typ Erforderlich Beschreibung
message string Ja

Fehler:

  • 400 Ungültige Anfrage, z. B. ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden

Status des letzten Simulationslaufs abrufen (aus der Ausgabedatentabelle abgeleitet)

Endpunkt: GET /v1/tenant/{tenantId}/processes/{processId}/simulations/{simulationId}/run/status

Authentifizierung: Mandantenbezogener API-Schlüssel · read Bereich

Parameter:

Name Typ Ort Erforderlich Beschreibung
tenantId string path Ja Format: uuid
processId string path Ja Format: uuid
simulationId string path Ja Format: uuid

Antwort (200):

Laufstatus

{
	"state": "notStarted",
	"startedAt": "2024-03-15T16:30:00Z",
	"completedAt": "2024-03-15T16:30:00Z",
	"step": "string",
	"casesSimulated": 0,
	"targetCases": 0,
	"eventsGenerated": 0,
	"errorMessage": "string",
	"simulationId": "00000000-0000-0000-0000-000000000000"
}
Feld Typ Erforderlich Beschreibung
state notStarted | running | processing | ready | error Ja Zulässige Werte: notStarted, running, processing, ready, error
startedAt string Nein Format: date-time
completedAt string Nein Format: date-time
step string Nein
casesSimulated number Nein
targetCases number Nein
eventsGenerated number Nein
errorMessage string Nein
simulationId string Ja Format: uuid

Fehler:

  • 400 Ungültige Anfrage, z. B. ein ungültiger Filterausdruck, ein Prozess ohne Modell, ein nicht unterstützter Upload-Typ oder ein fehlendes Pflichtfeld
  • 401 Fehlender, ungültiger, deaktivierter oder abgelaufener API-Schlüssel
  • 404 Ressource nicht gefunden