> For the complete documentation index, see [llms.txt](https://algolytics-technologies.gitbook.io/algolytics/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://algolytics-technologies.gitbook.io/algolytics/scoring.one-platform/rest-api/openapi-documentation.md).

# OpenAPI Documentation

OpenAPI v3 JSON - [https://test.scoring.one/docs](https://test.scoring.one/swagger-ui/index.html)

{% embed url="<https://test.scoring.one/swagger-ui/index.html>" %}

## Open scenario

> Returns the development version for editing or the latest version.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioVersion":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"content":{"type":"string"},"nodeProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/NodeProperties"}},"version":{"type":"string"},"sourceVersion":{"type":"string"},"description":{"type":"string"},"testCases":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioTestCase"}}}},"NodeProperties":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"}}},"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}},"paths":{"/api/scenario/open/{id}":{"get":{"tags":["Scenario"],"summary":"Open scenario","description":"Returns the development version for editing or the latest version.","operationId":"openScenario","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","description":"Scenario ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scenario version returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioVersion"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioVersion"}}}},"403":{"description":"Forbidden – insufficient permissions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioVersion"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioVersion"}}}}}}}}}
```

## Get scenario versions

> Returns version history for the scenario.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioVersionPreview":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"sourceVersion":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}}}},"paths":{"/api/scenario/{id}/version":{"get":{"tags":["Scenario"],"summary":"Get scenario versions","description":"Returns version history for the scenario.","operationId":"getScenarioVersions","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Versions returned","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioVersionPreview"}}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioVersionPreview"}}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioVersionPreview"}}}}}}}}}}
```

## GET /api/scenario/{id}/input

>

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"VariableInfo":{"type":"object","properties":{"name":{"type":"string"},"type":{"oneOf":[{"$ref":"#/components/schemas/BooleanVariableType"},{"$ref":"#/components/schemas/DictionaryVariableType"},{"$ref":"#/components/schemas/DoubleVariableType"},{"$ref":"#/components/schemas/IntegerVariableType"},{"$ref":"#/components/schemas/MapVariableType"},{"$ref":"#/components/schemas/StringVariableType"},{"$ref":"#/components/schemas/VectorVariableType"}]},"required":{"type":"boolean"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"BooleanVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VariableType":{"type":"object","properties":{"type":{"type":"string","enum":["STRING","DOUBLE","INTEGER","DICTIONARY","MAP","VECTOR","BOOLEAN"]}}},"DictionaryVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"},{"type":"object","properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}]},"DoubleVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"IntegerVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"MapVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"StringVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VectorVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]}}},"paths":{"/api/scenario/{id}/input":{"get":{"tags":["Scenario"],"operationId":"getScenarioInputVariables","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VariableInfo"}}}}}}}}}}
```

## Get input variable names

> Returns input variable names for the scenario.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/data/inputvariables/{id}":{"get":{"tags":["Scenario"],"summary":"Get input variable names","description":"Returns input variable names for the scenario.","operationId":"getScenarioInputVariableNames","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Variable names returned","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"uniqueItems":true}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"uniqueItems":true}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"uniqueItems":true}}}}}}}}}
```

## Copy scenario

> Copies a scenario with a new name.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/copy/{id}/{copiedScenarioName}":{"post":{"tags":["Scenario"],"summary":"Copy scenario","description":"Copies a scenario with a new name.","operationId":"copyScenario","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"copiedScenarioName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scenario copied","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}},"409":{"description":"Scenario with name already exists","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Debug scenario

> Debugs scenario with optional debugging data.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/debug/{id}":{"post":{"tags":["Scenario"],"summary":"Debug scenario","description":"Debugs scenario with optional debugging data.","operationId":"debugScenario","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"200":{"description":"Debug result returned","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Compilation errors","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Rename scenario

> Renames a scenario.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/rename/{currentName}/{newName}":{"post":{"tags":["Scenario"],"summary":"Rename scenario","description":"Renames a scenario.","operationId":"renameScenario","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"currentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"newName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scenario renamed","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}},"409":{"description":"Scenario with name already exists","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Deploy scenario

> Deploys scenario. Optional skip\_validation and validation data.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/deploy/{id}":{"post":{"tags":["Scenario"],"summary":"Deploy scenario","description":"Deploys scenario. Optional skip_validation and validation data.","operationId":"deployScenario","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"skip_validation","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"204":{"description":"Scenario deployed","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Create input variables from CSV

> Creates scenario input variables from uploaded CSV file.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"VariableInfo":{"type":"object","properties":{"name":{"type":"string"},"type":{"oneOf":[{"$ref":"#/components/schemas/BooleanVariableType"},{"$ref":"#/components/schemas/DictionaryVariableType"},{"$ref":"#/components/schemas/DoubleVariableType"},{"$ref":"#/components/schemas/IntegerVariableType"},{"$ref":"#/components/schemas/MapVariableType"},{"$ref":"#/components/schemas/StringVariableType"},{"$ref":"#/components/schemas/VectorVariableType"}]},"required":{"type":"boolean"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"BooleanVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VariableType":{"type":"object","properties":{"type":{"type":"string","enum":["STRING","DOUBLE","INTEGER","DICTIONARY","MAP","VECTOR","BOOLEAN"]}}},"DictionaryVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"},{"type":"object","properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}]},"DoubleVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"IntegerVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"MapVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"StringVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VectorVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]}}},"paths":{"/api/scenario/data/inputvariables/create":{"post":{"tags":["Scenario"],"summary":"Create input variables from CSV","description":"Creates scenario input variables from uploaded CSV file.","operationId":"createScenarioInputVariables","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/AccessControlContext"}}}},"responses":{"200":{"description":"Variables created","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VariableInfo"}}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VariableInfo"}}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VariableInfo"}}}}}}}}}}
```

## Validate scenario

> Validates scenario with optional validation data.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/validate/{id}":{"post":{"tags":["Scenario"],"summary":"Validate scenario","description":"Validates scenario with optional validation data.","operationId":"validateScenario","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}}},"responses":{"204":{"description":"Validation passed","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Import scenarios

> Imports scenarios from JSON/YAML. Supports overwrite flags for develop and deploy versions.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/import":{"post":{"tags":["Scenario"],"summary":"Import scenarios","description":"Imports scenarios from JSON/YAML. Supports overwrite flags for develop and deploy versions.","operationId":"handleImport","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"overwrite_develop","in":"query","required":false,"schema":{"type":"boolean","default":false}},{"name":"overwrite_deploy","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}},"application/yaml":{"schema":{"type":"string"}}},"required":true},"responses":{"200":{"description":"Import completed","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Export scenarios (YAML)

> Exports scenarios as YAML. Use type=yaml query param.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioVersion":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"content":{"type":"string"},"nodeProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/NodeProperties"}},"version":{"type":"string"},"sourceVersion":{"type":"string"},"description":{"type":"string"},"testCases":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioTestCase"}}}},"NodeProperties":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"}}},"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}},"paths":{"/api/scenario/export":{"get":{"tags":["Scenario"],"summary":"Export scenarios (YAML)","description":"Exports scenarios as YAML. Use type=yaml query param.","operationId":"handleExport","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"name","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scenarios exported","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioVersion"}}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioVersion"}}}}}}}}}}
```

## Save test case

> Updates an existing test case.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Tests","description":"Scenario test case management and execution"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioTestCaseDto":{"type":"object","description":"Scenario test case – input variables and expected outcome","properties":{"id":{"type":"integer","format":"int64","description":"Test case ID"},"name":{"type":"string","description":"Test case name"},"variables":{"type":"array","description":"Input variable values","items":{"$ref":"#/components/schemas/VariableValueDto"}},"expression":{"$ref":"#/components/schemas/ExpressionDto","description":"Expected expression/assertion"},"ignore":{"type":"boolean","description":"Whether to ignore this test"}}},"VariableValueDto":{"type":"object","description":"Variable name and value for test case input","properties":{"variableName":{"type":"string","description":"Variable name"},"value":{"description":"Variable value"}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}},"paths":{"/api/scenario/{scenarioId}/tests/{id}":{"put":{"tags":["Scenario Tests"],"summary":"Save test case","description":"Updates an existing test case.","operationId":"save","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"scenarioId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioTestCaseDto"}}},"required":true},"responses":{"200":{"description":"Test case saved","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden – insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Remove test case

> Deletes a test case.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Tests","description":"Scenario test case management and execution"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/{scenarioId}/tests/{id}":{"delete":{"tags":["Scenario Tests"],"summary":"Remove test case","description":"Deletes a test case.","operationId":"removeTestCase","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"scenarioId","in":"path","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Test case removed"},"401":{"description":"Unauthorized – valid JWT required"},"403":{"description":"Forbidden – insufficient permissions"}}}}}}
```

## Get graph

> Returns scenario graph by ID.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Graph Resources","description":"Scenario graph CRUD – create, read, update, delete graphs, nodes, relations"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ResourceWithPermissionsScenarioVersionScenarioVersionAction":{"type":"object","description":"Resource wrapped with granted permissions for the current user","properties":{"resource":{"$ref":"#/components/schemas/ScenarioVersion","description":"The resource"},"permissions":{"type":"array","description":"Set of actions the user is permitted to perform","items":{"type":"string","enum":["read","update","delete","deploy","restore","release","validate","debug","test","createTest","updateTest","deleteTest","runTest"]},"uniqueItems":true}}},"ScenarioVersion":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"content":{"type":"string"},"nodeProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/NodeProperties"}},"version":{"type":"string"},"sourceVersion":{"type":"string"},"description":{"type":"string"},"testCases":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioTestCase"}}}},"NodeProperties":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"}}},"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}},"paths":{"/api/scenario/graph/{id}":{"get":{"tags":["Graph Resources"],"summary":"Get graph","description":"Returns scenario graph by ID.","operationId":"getGraph","parameters":[{"name":"id","in":"path","description":"Scenario ID","required":true,"schema":{"type":"string"}},{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}}],"responses":{"200":{"description":"Graph returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceWithPermissionsScenarioVersionScenarioVersionAction"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceWithPermissionsScenarioVersionScenarioVersionAction"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceWithPermissionsScenarioVersionScenarioVersionAction"}}}}}}}}}
```

## Update graph

> Updates scenario graph content.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Graph Resources","description":"Scenario graph CRUD – create, read, update, delete graphs, nodes, relations"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioVersion":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"content":{"type":"string"},"nodeProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/NodeProperties"}},"version":{"type":"string"},"sourceVersion":{"type":"string"},"description":{"type":"string"},"testCases":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioTestCase"}}}},"NodeProperties":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"}}},"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}},"paths":{"/api/scenario/graph/{id}":{"put":{"tags":["Graph Resources"],"summary":"Update graph","description":"Updates scenario graph content.","operationId":"putGraph","parameters":[{"name":"id","in":"path","description":"Scenario ID","required":true,"schema":{"type":"string"}},{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioVersion"}}},"required":true},"responses":{"200":{"description":"Graph updated","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Create test case

> Creates a new scenario test case.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Tests","description":"Scenario test case management and execution"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioTestCaseDto":{"type":"object","description":"Scenario test case – input variables and expected outcome","properties":{"id":{"type":"integer","format":"int64","description":"Test case ID"},"name":{"type":"string","description":"Test case name"},"variables":{"type":"array","description":"Input variable values","items":{"$ref":"#/components/schemas/VariableValueDto"}},"expression":{"$ref":"#/components/schemas/ExpressionDto","description":"Expected expression/assertion"},"ignore":{"type":"boolean","description":"Whether to ignore this test"}}},"VariableValueDto":{"type":"object","description":"Variable name and value for test case input","properties":{"variableName":{"type":"string","description":"Variable name"},"value":{"description":"Variable value"}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}},"paths":{"/api/scenario/{scenarioId}/tests":{"post":{"tags":["Scenario Tests"],"summary":"Create test case","description":"Creates a new scenario test case.","operationId":"createTestCase","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"scenarioId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScenarioTestCaseDto"}}},"required":true},"responses":{"200":{"description":"Test case created","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Forbidden – insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Restore version

> Restores scenario to a previous version.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario","description":"Scenario management – import, export, deploy, validate, debug"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/restore/{id}":{"post":{"tags":["Scenario"],"summary":"Restore version","description":"Restores scenario to a previous version.","operationId":"restoreVersion","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Version restored","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Scenario not found","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Create node

> Creates a new node of given type.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Graph Resources","description":"Scenario graph CRUD – create, read, update, delete graphs, nodes, relations"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"Node":{"type":"object","properties":{"id":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"userId":{"type":"string"}}}}},"paths":{"/api/scenario/node/{nodeType}":{"post":{"tags":["Graph Resources"],"summary":"Create node","description":"Creates a new node of given type.","operationId":"newNode","parameters":[{"name":"nodeType","in":"path","description":"Node type","required":true,"schema":{"type":"string"}},{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}}],"responses":{"200":{"description":"Node returned successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Node"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Node"}}}}}}}}}
```

## List graphs

> Returns list of scenario graphs.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Graph Resources","description":"Scenario graph CRUD – create, read, update, delete graphs, nodes, relations"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"ScenarioProject":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deployedAt":{"type":"string","format":"date-time"},"deployedVersion":{"type":"string"}}}}},"paths":{"/api/scenario/graph":{"get":{"tags":["Graph Resources"],"summary":"List graphs","description":"Returns list of scenario graphs.","operationId":"getGraphList","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}}],"responses":{"200":{"description":"Graphs returned","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioProject"}}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioProject"}}}}}}}}}}
```

## Create graph

> Creates a new scenario graph.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Graph Resources","description":"Scenario graph CRUD – create, read, update, delete graphs, nodes, relations"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}},"paths":{"/api/scenario/graph":{"post":{"tags":["Graph Resources"],"summary":"Create graph","description":"Creates a new scenario graph.","operationId":"newGraph","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}}],"responses":{"200":{"description":"Graph created","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}
```

## Async score

> Submits async scoring request. Callback URL required.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Code","description":"Scenario code scoring – remote/score, process, list, attributes, async scoring"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/scenario/code/scoreasync/{name}":{"post":{"tags":["Scenario Code"],"summary":"Async score","description":"Submits async scoring request. Callback URL required.","operationId":"handleScoreAsync","parameters":[{"name":"name","in":"path","description":"Scenario code name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"202":{"description":"Request accepted","content":{"*/*":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request","content":{"*/*":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"*/*":{"schema":{"type":"string"}}}}}}}}}
```

## Score scenario code

> Scores scenario code. JWT or score-token header required.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Code","description":"Scenario code scoring – remote/score, process, list, attributes, async scoring"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/scenario/code/score":{"post":{"tags":["Scenario Code"],"summary":"Score scenario code","description":"Scores scenario code. JWT or score-token header required.","operationId":"handleScore_1","parameters":[{"name":"name","in":"query","description":"Scenario code name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}},"required":true},"responses":{"200":{"description":"Scoring result returned","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"string"}}}}}}}}}
```

## Run single test

> Executes a single test case and returns results.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Tests","description":"Scenario test case management and execution"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}},"TestsResult":{"type":"object","properties":{"beginTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"results":{"type":"array","items":{"$ref":"#/components/schemas/TestResult"}}}},"TestResult":{"type":"object","properties":{"name":{"type":"string"},"errors":{"type":"array","items":{"type":"string"}},"output":{"type":"object","additionalProperties":{}}}}}},"paths":{"/api/scenario/{scenarioId}/tests/{id}/query":{"get":{"tags":["Scenario Tests"],"summary":"Run single test","description":"Executes a single test case and returns results.","operationId":"query","parameters":[{"name":"context","in":"query","required":true,"schema":{"$ref":"#/components/schemas/AccessControlContext"}},{"name":"scenarioId","in":"path","description":"Scenario ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Test case ID","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Test result returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestsResult"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestsResult"}}}},"404":{"description":"Test case not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestsResult"}}}}}}}}}
```

## Process scenario code

> Processes scenario code with callback support. Score token required.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Code","description":"Scenario code scoring – remote/score, process, list, attributes, async scoring"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/scenario/code/process/{scenarioCodeName}":{"post":{"tags":["Scenario Code"],"summary":"Process scenario code","description":"Processes scenario code with callback support. Score token required.","operationId":"handleProcess","parameters":[{"name":"scenarioCodeName","in":"path","description":"Scenario code name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}},"required":true},"responses":{"200":{"description":"Process result returned","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"string"}}}}}}}}}
```

## Remote score (POST)

> Scores scenario code via score token (key query param). Public CORS.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Code","description":"Scenario code scoring – remote/score, process, list, attributes, async scoring"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/scenario/code/remote/score":{"post":{"tags":["Scenario Code"],"summary":"Remote score (POST)","description":"Scores scenario code via score token (key query param). Public CORS.","operationId":"handleRemoteScorePost","parameters":[{"name":"sceuid","in":"cookie","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Scenario code name","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","description":"Score token","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":{}}}},"required":true},"responses":{"200":{"description":"Scoring result returned","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"string"}}}},"403":{"description":"Insufficient permissions","content":{"application/json":{"schema":{"type":"string"}}}}}}}}}
```

## Remote score (GET)

> Scores scenario code via score token (key query param). Input as query params.

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"tags":[{"name":"Scenario Code","description":"Scenario code scoring – remote/score, process, list, attributes, async scoring"}],"servers":[{"url":"https://api.example.com","description":"Production"},{"url":"https://staging-api.example.com","description":"Staging"},{"url":"http://localhost:8080","description":"Local development"}],"security":[{"bearer-jwt":[]}],"components":{"securitySchemes":{"bearer-jwt":{"type":"http","description":"Bearer token (authorization token)","name":"Authorization","in":"header","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/api/scenario/code/remote/score":{"get":{"tags":["Scenario Code"],"summary":"Remote score (GET)","description":"Scores scenario code via score token (key query param). Input as query params.","operationId":"handleRemoteScoreGet","parameters":[{"name":"sceuid","in":"cookie","required":false,"schema":{"type":"string"}},{"name":"name","in":"query","description":"Scenario code name","required":true,"schema":{"type":"string"}},{"name":"key","in":"query","description":"Score token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Scoring result returned","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Unauthorized – valid JWT required","content":{"application/json":{"schema":{"type":"string"}}}}}}}}}
```

## The ScenarioTestName object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioTestName":{"type":"object","description":"Scenario test case name and ID","properties":{"name":{"type":"string","description":"Test case name"},"id":{"type":"integer","format":"int64","description":"Test case ID"}}}}}}
```

## The ScenarioTestCaseDto object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioTestCaseDto":{"type":"object","description":"Scenario test case – input variables and expected outcome","properties":{"id":{"type":"integer","format":"int64","description":"Test case ID"},"name":{"type":"string","description":"Test case name"},"variables":{"type":"array","description":"Input variable values","items":{"$ref":"#/components/schemas/VariableValueDto"}},"expression":{"$ref":"#/components/schemas/ExpressionDto","description":"Expected expression/assertion"},"ignore":{"type":"boolean","description":"Whether to ignore this test"}}},"VariableValueDto":{"type":"object","description":"Variable name and value for test case input","properties":{"variableName":{"type":"string","description":"Variable name"},"value":{"description":"Variable value"}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}}}
```

## The ScenarioTestCase object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}}}
```

## The ScenarioVersion object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioVersion":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"content":{"type":"string"},"nodeProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/NodeProperties"}},"version":{"type":"string"},"sourceVersion":{"type":"string"},"description":{"type":"string"},"testCases":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioTestCase"}}}},"NodeProperties":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"}}},"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}}}
```

## The ScenarioVersionPreview object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioVersionPreview":{"type":"object","properties":{"id":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"sourceVersion":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}}}}}
```

## The ScenarioProject object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioProject":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"deployedAt":{"type":"string","format":"date-time"},"deployedVersion":{"type":"string"}}}}}}
```

## The ScenarioCode object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioCode":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"content":{"$ref":"#/components/schemas/ScenarioProcess"}}},"ScenarioProcess":{"type":"object","properties":{"nodes":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/BigInfoMonitorCustomerDataNode"},{"$ref":"#/components/schemas/BikCustomerDataNode"},{"$ref":"#/components/schemas/BikPCustomerDataNode"},{"$ref":"#/components/schemas/CacheNode"},{"$ref":"#/components/schemas/CrifCustomerDataNode"},{"$ref":"#/components/schemas/CrossCheckingNode"},{"$ref":"#/components/schemas/DatabaseNode"},{"$ref":"#/components/schemas/DecisionNode"},{"$ref":"#/components/schemas/DelayNode"},{"$ref":"#/components/schemas/DokumentyZastrzezoneCustomerDataNode"},{"$ref":"#/components/schemas/EndNode"},{"$ref":"#/components/schemas/ErifCustomerDataNode"},{"$ref":"#/components/schemas/ExternalDataNode"},{"$ref":"#/components/schemas/GetScoreCustomerDataNode"},{"$ref":"#/components/schemas/GroovyExpressionNode"},{"$ref":"#/components/schemas/InternalDataNode"},{"$ref":"#/components/schemas/KrdCustomerDataNode"},{"$ref":"#/components/schemas/MultitaskNode"},{"$ref":"#/components/schemas/PmmlCodeNode"},{"$ref":"#/components/schemas/PythonCodeNode"},{"$ref":"#/components/schemas/PythonExpressionNode"},{"$ref":"#/components/schemas/RCodeNode"},{"$ref":"#/components/schemas/RExpressionNode"},{"$ref":"#/components/schemas/ScenarioCodeNode"},{"$ref":"#/components/schemas/ScoringCodeNode"},{"$ref":"#/components/schemas/StartNode"}]}},"edges":{"type":"object","additionalProperties":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/BasicEdge"},{"$ref":"#/components/schemas/DecisionEdge"}]}}}}},"BigInfoMonitorCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceClientUri":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"ScenarioNode":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"type":{"type":"string","enum":["START","EXPRESSION","DECISION","SCORINGCODE","SCENARIOCODE","MULTITASK","PMMLCODE","RCODE","PYTHONCODE","INTERNALDATA","EXTERNALDATA","CUSTOMERDATA","END","DATABASE","CROSSCHECKING","CACHE","DELAY"]}}},"BikCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceClientId":{"type":"string"},"method":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"BikPCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"CacheNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"actionType":{"type":"string","enum":["GET","SAVE","REMOVE"]},"cacheTime":{"type":"integer","format":"int64"},"key":{"type":"string"},"outputVariable":{"type":"string"},"value":{"type":"string"}}}]},"CrifCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"CrossCheckingNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"collectionName":{"type":"string"},"validators":{"type":"array","items":{"$ref":"#/components/schemas/CrossCheckingValidators"}},"inputVariable":{"type":"string"},"outputVariable":{"type":"string"},"shouldSaveObject":{"type":"boolean"}}}]},"CrossCheckingValidators":{"type":"object","description":"Cross-checking validation rule set with time window","properties":{"id":{"type":"integer","format":"int64","description":"Validator set ID"},"timeWindow":{"type":"integer","format":"int64","description":"Time window for lookback (ms)"},"keys":{"type":"array","description":"Lookup keys","items":{"$ref":"#/components/schemas/CrossCheckingKey"}},"validators":{"type":"array","description":"Validation rules","items":{"$ref":"#/components/schemas/CrossCheckingValidator"}}}},"CrossCheckingKey":{"type":"object","description":"Key-value pair for cross-checking lookup","properties":{"key":{"type":"string","description":"Field key"},"value":{"type":"string","description":"Value expression"}}},"CrossCheckingValidator":{"type":"object","description":"Cross-checking validation rule","properties":{"field":{"type":"string","description":"Field to validate"},"value":{"type":"string","description":"Expected value"},"operation":{"$ref":"#/components/schemas/ExpressionDto","description":"Validation expression"},"validationCode":{"type":"string","description":"Validation code"}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}},"DatabaseNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential"},"tableName":{"type":"string"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/ColumnDto"}}}}]},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"ColumnDto":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"DecisionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionDecision":{"type":"string"}}}]},"DelayNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"duration":{"type":"string"}}}]},"DokumentyZastrzezoneCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"identityStore":{"$ref":"#/components/schemas/Base64FileDto"},"trustStore":{"$ref":"#/components/schemas/Base64FileDto"},"identityStorePassword":{"type":"string"},"identityStoreKeyAlias":{"type":"string"},"identityStoreKeyPassword":{"type":"string"},"trustStorePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"Base64FileDto":{"type":"object","properties":{"filesize":{"type":"integer","format":"int32"},"filetype":{"type":"string"},"filename":{"type":"string"},"base64":{"type":"string"}}},"EndNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"variables":{"type":"array","items":{"type":"string"},"uniqueItems":true}}}]},"ErifCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"ExternalDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"requestUrl":{"type":"string"},"requestMethod":{"type":"string"},"requestHeaders":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},"requestBody":{"type":"string"},"requestType":{"type":"string","enum":["JSON","XML","HTML","TEXT","CSV","FORM","ANY"]},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"responseType":{"type":"string","enum":["JSON","XML","HTML","TEXT","CSV","FORM","ANY"]},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"insecure":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"}}}]},"GetScoreCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"identityStore":{"$ref":"#/components/schemas/Base64FileDto"},"identityStorePassword":{"type":"string"},"identityStoreKeyPassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"GroovyExpressionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionArithmetic":{"type":"string"},"expressionType":{"type":"string","enum":["GROOVY","R","PYTHON"]}}}]},"InternalDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"joinVariable":{"type":"string"},"dataCollection":{"type":"string"},"dataIndex":{"type":"string"},"dataColumns":{"type":"array","items":{"type":"string"}},"findOne":{"type":"boolean"}}}]},"KrdCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"method":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"MultitaskNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"inputVariable":{"type":"string"},"outputVariable":{"type":"string"}}}]},"PmmlCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"pmmlCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"InputData":{"type":"object","description":"Scoring code input mapping – variable name to value","properties":{"name":{"type":"string","description":"Variable name"},"value":{"type":"string","description":"Variable value expression"}}},"PythonCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"pythonCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"PythonExpressionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionArithmetic":{"type":"string"},"variableName":{"type":"string"},"pythonEnvironment":{"type":"string"},"expressionType":{"type":"string","enum":["GROOVY","R","PYTHON"]}}}]},"RCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}},"rcodeName":{"type":"string"}}}]},"RExpressionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionArithmetic":{"type":"string"},"expressionType":{"type":"string","enum":["GROOVY","R","PYTHON"]}}}]},"ScenarioCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"scenarioCodeName":{"type":"string"}}}]},"ScoringCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"scoringCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"StartNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"variableInfo":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VariableInfo"}},"variableValidator":{"type":"object","additionalProperties":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/CustomValidator"},{"$ref":"#/components/schemas/VariableTypeValidator"}]}}}}}]},"VariableInfo":{"type":"object","properties":{"name":{"type":"string"},"type":{"oneOf":[{"$ref":"#/components/schemas/BooleanVariableType"},{"$ref":"#/components/schemas/DictionaryVariableType"},{"$ref":"#/components/schemas/DoubleVariableType"},{"$ref":"#/components/schemas/IntegerVariableType"},{"$ref":"#/components/schemas/MapVariableType"},{"$ref":"#/components/schemas/StringVariableType"},{"$ref":"#/components/schemas/VectorVariableType"}]},"required":{"type":"boolean"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"BooleanVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VariableType":{"type":"object","properties":{"type":{"type":"string","enum":["STRING","DOUBLE","INTEGER","DICTIONARY","MAP","VECTOR","BOOLEAN"]}}},"DictionaryVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"},{"type":"object","properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}]},"DoubleVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"IntegerVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"MapVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"StringVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VectorVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"CustomValidator":{"allOf":[{"$ref":"#/components/schemas/Validator"},{"type":"object","properties":{"expression":{"type":"string"},"expressionScript":{"type":"object","additionalProperties":{}}}}]},"Validator":{"type":"object","properties":{"type":{"type":"string","enum":["VARIABLE_TYPE","CUSTOM"]}}},"VariableTypeValidator":{"allOf":[{"$ref":"#/components/schemas/Validator"},{"type":"object","properties":{"variableType":{"oneOf":[{"$ref":"#/components/schemas/BooleanVariableType"},{"$ref":"#/components/schemas/DictionaryVariableType"},{"$ref":"#/components/schemas/DoubleVariableType"},{"$ref":"#/components/schemas/IntegerVariableType"},{"$ref":"#/components/schemas/MapVariableType"},{"$ref":"#/components/schemas/StringVariableType"},{"$ref":"#/components/schemas/VectorVariableType"}]},"checkNull":{"type":"boolean"}}}]},"BasicEdge":{"allOf":[{"$ref":"#/components/schemas/ScenarioEdge"}]},"ScenarioEdge":{"type":"object","properties":{"type":{"type":"string","enum":["BASIC","DECISION"]},"targetName":{"type":"string"},"sourceName":{"type":"string"}}},"DecisionEdge":{"allOf":[{"$ref":"#/components/schemas/ScenarioEdge"},{"type":"object","properties":{"decision":{"type":"boolean"}}}]}}}}
```

## The ScenarioCodeNode object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"scenarioCodeName":{"type":"string"}}}]},"ScenarioNode":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"type":{"type":"string","enum":["START","EXPRESSION","DECISION","SCORINGCODE","SCENARIOCODE","MULTITASK","PMMLCODE","RCODE","PYTHONCODE","INTERNALDATA","EXTERNALDATA","CUSTOMERDATA","END","DATABASE","CROSSCHECKING","CACHE","DELAY"]}}}}}}
```

## The ScenarioEdge object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioEdge":{"type":"object","properties":{"type":{"type":"string","enum":["BASIC","DECISION"]},"targetName":{"type":"string"},"sourceName":{"type":"string"}}}}}}
```

## The ScenarioProcess object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioProcess":{"type":"object","properties":{"nodes":{"type":"object","additionalProperties":{"oneOf":[{"$ref":"#/components/schemas/BigInfoMonitorCustomerDataNode"},{"$ref":"#/components/schemas/BikCustomerDataNode"},{"$ref":"#/components/schemas/BikPCustomerDataNode"},{"$ref":"#/components/schemas/CacheNode"},{"$ref":"#/components/schemas/CrifCustomerDataNode"},{"$ref":"#/components/schemas/CrossCheckingNode"},{"$ref":"#/components/schemas/DatabaseNode"},{"$ref":"#/components/schemas/DecisionNode"},{"$ref":"#/components/schemas/DelayNode"},{"$ref":"#/components/schemas/DokumentyZastrzezoneCustomerDataNode"},{"$ref":"#/components/schemas/EndNode"},{"$ref":"#/components/schemas/ErifCustomerDataNode"},{"$ref":"#/components/schemas/ExternalDataNode"},{"$ref":"#/components/schemas/GetScoreCustomerDataNode"},{"$ref":"#/components/schemas/GroovyExpressionNode"},{"$ref":"#/components/schemas/InternalDataNode"},{"$ref":"#/components/schemas/KrdCustomerDataNode"},{"$ref":"#/components/schemas/MultitaskNode"},{"$ref":"#/components/schemas/PmmlCodeNode"},{"$ref":"#/components/schemas/PythonCodeNode"},{"$ref":"#/components/schemas/PythonExpressionNode"},{"$ref":"#/components/schemas/RCodeNode"},{"$ref":"#/components/schemas/RExpressionNode"},{"$ref":"#/components/schemas/ScenarioCodeNode"},{"$ref":"#/components/schemas/ScoringCodeNode"},{"$ref":"#/components/schemas/StartNode"}]}},"edges":{"type":"object","additionalProperties":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/BasicEdge"},{"$ref":"#/components/schemas/DecisionEdge"}]}}}}},"BigInfoMonitorCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceClientUri":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"ScenarioNode":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"type":{"type":"string","enum":["START","EXPRESSION","DECISION","SCORINGCODE","SCENARIOCODE","MULTITASK","PMMLCODE","RCODE","PYTHONCODE","INTERNALDATA","EXTERNALDATA","CUSTOMERDATA","END","DATABASE","CROSSCHECKING","CACHE","DELAY"]}}},"BikCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceClientId":{"type":"string"},"method":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"BikPCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"CacheNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"actionType":{"type":"string","enum":["GET","SAVE","REMOVE"]},"cacheTime":{"type":"integer","format":"int64"},"key":{"type":"string"},"outputVariable":{"type":"string"},"value":{"type":"string"}}}]},"CrifCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"CrossCheckingNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"collectionName":{"type":"string"},"validators":{"type":"array","items":{"$ref":"#/components/schemas/CrossCheckingValidators"}},"inputVariable":{"type":"string"},"outputVariable":{"type":"string"},"shouldSaveObject":{"type":"boolean"}}}]},"CrossCheckingValidators":{"type":"object","description":"Cross-checking validation rule set with time window","properties":{"id":{"type":"integer","format":"int64","description":"Validator set ID"},"timeWindow":{"type":"integer","format":"int64","description":"Time window for lookback (ms)"},"keys":{"type":"array","description":"Lookup keys","items":{"$ref":"#/components/schemas/CrossCheckingKey"}},"validators":{"type":"array","description":"Validation rules","items":{"$ref":"#/components/schemas/CrossCheckingValidator"}}}},"CrossCheckingKey":{"type":"object","description":"Key-value pair for cross-checking lookup","properties":{"key":{"type":"string","description":"Field key"},"value":{"type":"string","description":"Value expression"}}},"CrossCheckingValidator":{"type":"object","description":"Cross-checking validation rule","properties":{"field":{"type":"string","description":"Field to validate"},"value":{"type":"string","description":"Expected value"},"operation":{"$ref":"#/components/schemas/ExpressionDto","description":"Validation expression"},"validationCode":{"type":"string","description":"Validation code"}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}},"DatabaseNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/Credential"},"tableName":{"type":"string"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/ColumnDto"}}}}]},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"ColumnDto":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"DecisionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionDecision":{"type":"string"}}}]},"DelayNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"duration":{"type":"string"}}}]},"DokumentyZastrzezoneCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"identityStore":{"$ref":"#/components/schemas/Base64FileDto"},"trustStore":{"$ref":"#/components/schemas/Base64FileDto"},"identityStorePassword":{"type":"string"},"identityStoreKeyAlias":{"type":"string"},"identityStoreKeyPassword":{"type":"string"},"trustStorePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"Base64FileDto":{"type":"object","properties":{"filesize":{"type":"integer","format":"int32"},"filetype":{"type":"string"},"filename":{"type":"string"},"base64":{"type":"string"}}},"EndNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"variables":{"type":"array","items":{"type":"string"},"uniqueItems":true}}}]},"ErifCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"ExternalDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"requestUrl":{"type":"string"},"requestMethod":{"type":"string"},"requestHeaders":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}}},"requestBody":{"type":"string"},"requestType":{"type":"string","enum":["JSON","XML","HTML","TEXT","CSV","FORM","ANY"]},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"responseType":{"type":"string","enum":["JSON","XML","HTML","TEXT","CSV","FORM","ANY"]},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"insecure":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"}}}]},"GetScoreCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"identityStore":{"$ref":"#/components/schemas/Base64FileDto"},"identityStorePassword":{"type":"string"},"identityStoreKeyPassword":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"GroovyExpressionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionArithmetic":{"type":"string"},"expressionType":{"type":"string","enum":["GROOVY","R","PYTHON"]}}}]},"InternalDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"joinVariable":{"type":"string"},"dataCollection":{"type":"string"},"dataIndex":{"type":"string"},"dataColumns":{"type":"array","items":{"type":"string"}},"findOne":{"type":"boolean"}}}]},"KrdCustomerDataNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"customerType":{"type":"string","deprecated":true,"enum":["INDIVIDUAL","BUSINESS"]},"dataSourceTestMode":{"type":"string"},"requestData":{"type":"string"},"requestTimeout":{"type":"integer","format":"int64"},"requestRetry":{"type":"integer","format":"int32"},"allowException":{"type":"boolean"},"useCache":{"type":"boolean"},"cacheTime":{"type":"integer","format":"int64"},"cacheParams":{"type":"array","deprecated":true,"items":{"type":"string","deprecated":true}},"cacheParam":{"type":"string"},"dataSourceLogin":{"type":"string"},"dataSourcePassword":{"type":"string"},"method":{"type":"string"},"dataSourceType":{"type":"string","enum":["CRIF","ERIF","KRD","BIG_INFO_MONITOR","BIK","BIK_P","GET_SCORE","DOKUMENTY_ZASTRZEZONE"]}}}]},"MultitaskNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"inputVariable":{"type":"string"},"outputVariable":{"type":"string"}}}]},"PmmlCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"pmmlCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"InputData":{"type":"object","description":"Scoring code input mapping – variable name to value","properties":{"name":{"type":"string","description":"Variable name"},"value":{"type":"string","description":"Variable value expression"}}},"PythonCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"pythonCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"PythonExpressionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionArithmetic":{"type":"string"},"variableName":{"type":"string"},"pythonEnvironment":{"type":"string"},"expressionType":{"type":"string","enum":["GROOVY","R","PYTHON"]}}}]},"RCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}},"rcodeName":{"type":"string"}}}]},"RExpressionNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"expressionArithmetic":{"type":"string"},"expressionType":{"type":"string","enum":["GROOVY","R","PYTHON"]}}}]},"ScenarioCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"scenarioCodeName":{"type":"string"}}}]},"ScoringCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"scoringCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"StartNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"variableInfo":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/VariableInfo"}},"variableValidator":{"type":"object","additionalProperties":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/CustomValidator"},{"$ref":"#/components/schemas/VariableTypeValidator"}]}}}}}]},"VariableInfo":{"type":"object","properties":{"name":{"type":"string"},"type":{"oneOf":[{"$ref":"#/components/schemas/BooleanVariableType"},{"$ref":"#/components/schemas/DictionaryVariableType"},{"$ref":"#/components/schemas/DoubleVariableType"},{"$ref":"#/components/schemas/IntegerVariableType"},{"$ref":"#/components/schemas/MapVariableType"},{"$ref":"#/components/schemas/StringVariableType"},{"$ref":"#/components/schemas/VectorVariableType"}]},"required":{"type":"boolean"},"description":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}},"BooleanVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VariableType":{"type":"object","properties":{"type":{"type":"string","enum":["STRING","DOUBLE","INTEGER","DICTIONARY","MAP","VECTOR","BOOLEAN"]}}},"DictionaryVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"},{"type":"object","properties":{"name":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}}}]},"DoubleVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"IntegerVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"MapVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"StringVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VectorVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"CustomValidator":{"allOf":[{"$ref":"#/components/schemas/Validator"},{"type":"object","properties":{"expression":{"type":"string"},"expressionScript":{"type":"object","additionalProperties":{}}}}]},"Validator":{"type":"object","properties":{"type":{"type":"string","enum":["VARIABLE_TYPE","CUSTOM"]}}},"VariableTypeValidator":{"allOf":[{"$ref":"#/components/schemas/Validator"},{"type":"object","properties":{"variableType":{"oneOf":[{"$ref":"#/components/schemas/BooleanVariableType"},{"$ref":"#/components/schemas/DictionaryVariableType"},{"$ref":"#/components/schemas/DoubleVariableType"},{"$ref":"#/components/schemas/IntegerVariableType"},{"$ref":"#/components/schemas/MapVariableType"},{"$ref":"#/components/schemas/StringVariableType"},{"$ref":"#/components/schemas/VectorVariableType"}]},"checkNull":{"type":"boolean"}}}]},"BasicEdge":{"allOf":[{"$ref":"#/components/schemas/ScenarioEdge"}]},"ScenarioEdge":{"type":"object","properties":{"type":{"type":"string","enum":["BASIC","DECISION"]},"targetName":{"type":"string"},"sourceName":{"type":"string"}}},"DecisionEdge":{"allOf":[{"$ref":"#/components/schemas/ScenarioEdge"},{"type":"object","properties":{"decision":{"type":"boolean"}}}]}}}}
```

## The ResourceWithPermissionsScenarioVersionScenarioVersionAction object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ResourceWithPermissionsScenarioVersionScenarioVersionAction":{"type":"object","description":"Resource wrapped with granted permissions for the current user","properties":{"resource":{"$ref":"#/components/schemas/ScenarioVersion","description":"The resource"},"permissions":{"type":"array","description":"Set of actions the user is permitted to perform","items":{"type":"string","enum":["read","update","delete","deploy","restore","release","validate","debug","test","createTest","updateTest","deleteTest","runTest"]},"uniqueItems":true}}},"ScenarioVersion":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"content":{"type":"string"},"nodeProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/NodeProperties"}},"version":{"type":"string"},"sourceVersion":{"type":"string"},"description":{"type":"string"},"testCases":{"type":"array","items":{"$ref":"#/components/schemas/ScenarioTestCase"}}}},"NodeProperties":{"type":"object","properties":{"id":{"type":"string"},"content":{"type":"string"},"type":{"type":"string"}}},"ScenarioTestCase":{"type":"object","properties":{"id":{"type":"string"},"externalId":{"type":"integer","format":"int64"},"name":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/components/schemas/Variable"}},"expression":{"$ref":"#/components/schemas/ExpressionDto"},"ignore":{"type":"boolean"}}},"Variable":{"type":"object","properties":{"variableName":{"type":"string"},"value":{}}},"ExpressionDto":{"type":"object","description":"Expression – code snippet with language (e.g. Python)","properties":{"code":{"type":"string","description":"Expression code"},"language":{"type":"string","description":"Language (e.g. python)"}}}}}}
```

## The ScoringCodeDto object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScoringCodeDto":{"type":"object","description":"Scoring code node configuration – invokes scoring model (Python/R/PMML)","properties":{"id":{"type":"string","description":"Node ID"},"customName":{"type":"string","description":"Display name for the node"},"scoringCodeType":{"type":"string","description":"Type: PYTHON, R, or PMML"},"scoringCodeName":{"type":"string","description":"Scoring code resource name"},"scoringCodeInputs":{"type":"array","description":"Input mappings","items":{"$ref":"#/components/schemas/InputData"}},"variable":{"$ref":"#/components/schemas/Variables","description":"Output variables"},"refactor":{"type":"boolean","description":"Whether to refactor schema"}}},"InputData":{"type":"object","description":"Scoring code input mapping – variable name to value","properties":{"name":{"type":"string","description":"Variable name"},"value":{"type":"string","description":"Variable value expression"}}},"Variables":{"type":"object","description":"Output variable mapping – type, prefix, source variable","properties":{"type":{"type":"string","description":"Variable type"},"prefix":{"type":"string","description":"Variable prefix"},"variableName":{"type":"string","description":"Source variable name"}}}}}}
```

## The AccessControlContext object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"AccessControlContext":{"type":"object","properties":{"actors":{"$ref":"#/components/schemas/AccessActors"},"resourceOwnerOrRequester":{"$ref":"#/components/schemas/User"}}},"AccessActors":{"type":"object","properties":{"requester":{"$ref":"#/components/schemas/User"},"resourceOwner":{"$ref":"#/components/schemas/User"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"email":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"companyName":{"type":"string"},"phoneNumber":{"type":"string"},"authenticationToken":{"type":"string"},"scoreToken":{"type":"string"},"activationToken":{"type":"string"},"resetPasswordToken":{"type":"string"},"activationTokenExpires":{"type":"string","format":"date-time"},"resetPasswordTokenExpires":{"type":"string","format":"date-time"},"passwordValidityDuration":{"type":"string","format":"date-time"},"isPasswordExpired":{"type":"boolean"},"lastSuccessfulLogin":{"type":"string"},"lastUnsuccessfulLogin":{"type":"string"},"accountNonExpired":{"type":"boolean"},"accountNonLocked":{"type":"boolean"},"credentialsNonExpired":{"type":"boolean"},"enabled":{"type":"boolean"},"registered":{"type":"boolean"},"agreePolicy":{"type":"boolean"},"agreeProcessing":{"type":"boolean"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/Role"},"uniqueItems":true},"credentials":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"isBeforeFirstLogin":{"type":"boolean"},"isLoginHasToBeReported":{"type":"boolean"},"identityProvider":{"type":"string","enum":["MICROSOFT"]},"attempts":{"type":"integer","format":"int32"},"passwordDurationLimited":{"type":"boolean"},"admin":{"type":"boolean"},"isAccountNonLocked":{"type":"boolean","writeOnly":true},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/GrantedAuthority"}},"externalUser":{"type":"boolean"},"workspace":{"type":"boolean"}}},"Role":{"type":"object","properties":{"name":{"type":"string"},"authority":{"type":"string"}}},"Credential":{"type":"object","properties":{"id":{"type":"string"},"businessId":{"type":"integer","format":"int64"},"name":{"type":"string"},"credentialType":{"type":"string","enum":["DATABASE","GETSCORE"]},"databaseType":{"type":"string","enum":["POSTGRES","MYSQL"]},"databaseName":{"type":"string"},"schema":{"type":"string"},"login":{"type":"string"},"password":{"type":"string"},"host":{"type":"string"}}},"GrantedAuthority":{"type":"object","properties":{"authority":{"type":"string"}}}}}}
```

## The ScenarioNode object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScenarioNode":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"type":{"type":"string","enum":["START","EXPRESSION","DECISION","SCORINGCODE","SCENARIOCODE","MULTITASK","PMMLCODE","RCODE","PYTHONCODE","INTERNALDATA","EXTERNALDATA","CUSTOMERDATA","END","DATABASE","CROSSCHECKING","CACHE","DELAY"]}}}}}}
```

## The Relation object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"Relation":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string"},"target":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"userId":{"type":"string"}}}}}}
```

## The ScoringCode object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScoringCode":{"type":"object","properties":{"id":{"type":"string"},"code":{"type":"string"},"className":{"type":"string"},"content":{"type":"string"},"validFrom":{"type":"string","format":"date"},"validTo":{"type":"string","format":"date"},"userId":{"type":"string"},"version":{"type":"integer","format":"int32"},"selected":{"type":"boolean"}}}}}}
```

## The ScoringCodeNode object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScoringCodeNode":{"allOf":[{"$ref":"#/components/schemas/ScenarioNode"},{"type":"object","properties":{"resultPrefix":{"type":"string"},"resultMergeStrategy":{"type":"string","enum":["OVERWRITE_ALL","OVERWRITE_NULL","OVERWRITE_NONE","OVERWRITE_ERROR"]},"scoringCodeName":{"type":"string"},"inputData":{"type":"array","items":{"$ref":"#/components/schemas/InputData"}}}}]},"ScenarioNode":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"},"type":{"type":"string","enum":["START","EXPRESSION","DECISION","SCORINGCODE","SCENARIOCODE","MULTITASK","PMMLCODE","RCODE","PYTHONCODE","INTERNALDATA","EXTERNALDATA","CUSTOMERDATA","END","DATABASE","CROSSCHECKING","CACHE","DELAY"]}}},"InputData":{"type":"object","description":"Scoring code input mapping – variable name to value","properties":{"name":{"type":"string","description":"Variable name"},"value":{"type":"string","description":"Variable value expression"}}}}}}
```

## The ScoringResult object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"ScoringResult":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"version":{"type":"string"},"beginTime":{"type":"string","format":"date-time"},"endTime":{"type":"string","format":"date-time"},"requestData":{"type":"object","additionalProperties":{}},"intermediateResult":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{}}},"result":{"type":"object","additionalProperties":{}},"error":{"type":"string"},"userId":{"type":"string"},"asyncRequestId":{"type":"string"},"debuggingDetails":{"$ref":"#/components/schemas/DebuggingDetails"}}},"DebuggingDetails":{"type":"object","properties":{"nodeIdThatCausedError":{"type":"string"},"nodeNameThatCausedError":{"type":"string"},"nodeTypeThatCausedError":{"type":"string","enum":["START","EXPRESSION","DECISION","SCORINGCODE","SCENARIOCODE","MULTITASK","PMMLCODE","RCODE","PYTHONCODE","INTERNALDATA","EXTERNALDATA","CUSTOMERDATA","END","DATABASE","CROSSCHECKING","CACHE","DELAY"]},"stackTrace":{"type":"string"},"lineNumber":{"type":"integer","format":"int32"},"variables":{"type":"object","additionalProperties":{}}}}}}}
```

## The DeserializationConfig object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"DeserializationConfig":{"type":"object","properties":{"valueType":{"type":"string","enum":["JSON","AVRO","STRING"]},"properties":{"type":"object","additionalProperties":{}}}}}}}
```

## The DoubleVariableType object

```json
{"openapi":"3.1.0","info":{"title":"MLOps Platform Web API","version":"1.9"},"components":{"schemas":{"DoubleVariableType":{"allOf":[{"$ref":"#/components/schemas/VariableType"}]},"VariableType":{"type":"object","properties":{"type":{"type":"string","enum":["STRING","DOUBLE","INTEGER","DICTIONARY","MAP","VECTOR","BOOLEAN"]}}}}}}
```
